diff --git a/app-arch/gzip/gzip-1.2.4a.recipe b/app-arch/gzip/gzip-1.2.4a.recipe deleted file mode 100644 index 41c28df97..000000000 --- a/app-arch/gzip/gzip-1.2.4a.recipe +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY="gzip compression utilities and libraries" -DESCRIPTION=" -gzip (GNU zip) is a compression utility designed to be a \ -replacement for compress. It provides better compression than compress \ -and although bzip2 produces smaller files is not as fast as bzip2 is. -" -HOMEPAGE="http://www.gzip.org/" -SRC_URI="ftp://ftp.gnu.org/gnu/gzip/gzip-1.2.4a.tar.gz" -CHECKSUM_MD5="39053e044b18ecd0627f80fbe7cfeaad" -REVISION="1" -STATUS_HAIKU="untested" -DEPEND="" -BUILD() -{ - cd gzip-1.2.4a - ./configure --prefix=`finddir B_COMMON_DIRECTORY` - make -} - -INSTALL() -{ - cd gzip-1.2.4a - make install -} diff --git a/app-arch/gzip/gzip-1.3.12.recipe b/app-arch/gzip/gzip-1.3.12.recipe deleted file mode 100644 index 6698f89c6..000000000 --- a/app-arch/gzip/gzip-1.3.12.recipe +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY="gzip compression utilities and libraries" -DESCRIPTION=" -gzip (GNU zip) is a compression utility designed to be a \ -replacement for compress. It provides better compression than compress \ -and although bzip2 produces smaller files is not as fast as bzip2 is. -" -HOMEPAGE="http://www.gzip.org/" -SRC_URI="ftp://ftp.gnu.org/gnu/gzip/gzip-1.3.12.tar.gz" -CHECKSUM_MD5="b5bac2d21840ae077e0217bc5e4845b1" -REVISION="1" -STATUS_HAIKU="untested" -DEPEND="" -BUILD() -{ - cd gzip-1.3.12 - ./configure --prefix=`finddir B_COMMON_DIRECTORY` - make -} - -INSTALL() -{ - cd gzip-1.3.12 - make install -} diff --git a/app-arch/gzip/gzip-1.4.recipe b/app-arch/gzip/gzip-1.4.recipe deleted file mode 100644 index fe8532ed1..000000000 --- a/app-arch/gzip/gzip-1.4.recipe +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY="gzip compression utilities and libraries" -DESCRIPTION=" -gzip (GNU zip) is a compression utility designed to be a \ -replacement for compress. It provides better compression than compress \ -and although bzip2 produces smaller files is not as fast as bzip2 is. -" -HOMEPAGE="http://www.gzip.org/" -SRC_URI="ftp://ftp.gnu.org/gnu/gzip/gzip-1.4.tar.gz" -CHECKSUM_MD5="e381b8506210c794278f5527cba0e765" -REVISION="1" -STATUS_HAIKU="untested" -DEPEND="" -BUILD() -{ - cd gzip-1.4 - ./configure --prefix=`finddir B_COMMON_DIRECTORY` - make -} - -INSTALL() -{ - cd gzip-1.4 - make install -} -LICENSE="GNU GPL v3" -COPYRIGHT="1999, 2001-2002, 2006-2007, 2009-2010 Free Software Foundation, Inc. - 1992-1993 Jean-loup Gailly" - diff --git a/app-arch/gzip/gzip-1.6.recipe b/app-arch/gzip/gzip-1.6.recipe new file mode 100644 index 000000000..8e1ee5898 --- /dev/null +++ b/app-arch/gzip/gzip-1.6.recipe @@ -0,0 +1,58 @@ +SUMMARY="The gzip compression utilities" +DESCRIPTION="gzip (GNU zip) is a compression utility designed to be a \ +replacement for compress. Its main advantages over compress are much \ +better compression and freedom from patented algorithms. It has been \ +adopted by the GNU project and is now relatively popular on the Internet." +HOMEPAGE="http://www.gzip.org/" +SRC_URI="https://ftp.gnu.org/gnu/gzip/gzip-1.6.tar.xz" +CHECKSUM_SHA256="37dfed1a485d53212c43b3fa2a7c7952f09bf5cd86e37121c222341ee1b27847" +SOURCE_DIR="$portVersionedName" +REVISION="1" +LICENSE="GNU GPL v3" +COPYRIGHT="1992-1993 Jean-loup Gailly + 1999-2013 Free Software Foundation, Inc." + +ARCHITECTURES="x86_gcc2 ?x86 ?x86_64" + +PROVIDES=" + gzip = $portVersion + cmd:gzip = $portVersion + cmd:gunzip = $portVersion + cmd:gzexe = $portVersion + cmd:uncompress = $portVersion + cmd:zcat = $portVersion + cmd:zcmp = $portVersion + cmd:zdiff = $portVersion + cmd:zegrep = $portVersion + cmd:zfgrep = $portVersion + cmd:zforce = $portVersion + cmd:zgrep = $portVersion + cmd:zless = $portVersion + cmd:zmore = $portVersion + cmd:znew = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion + " + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + " +BUILD_PREREQUIRES=" + cmd:make + cmd:gcc + cmd:awk + " + +BUILD() +{ + export CFLAGS="-Wno-error" + runConfigure ./configure + make $jobArgs +} + +INSTALL() +{ + make install +} diff --git a/app-arch/gzip/patches/gzip-1.2.4a.patch b/app-arch/gzip/patches/gzip-1.2.4a.patch deleted file mode 100644 index d82f3ba29..000000000 --- a/app-arch/gzip/patches/gzip-1.2.4a.patch +++ /dev/null @@ -1,68 +0,0 @@ -diff -Naur gzip-1.2.4a/Makefile.in gzip-1.2.4a-beos/Makefile.in ---- gzip-1.2.4a/Makefile.in Tue Aug 17 19:12:40 1993 -+++ gzip-1.2.4a-beos/Makefile.in Thu Jan 3 00:19:57 2008 -@@ -102,7 +102,7 @@ - # Where to install the manual pages. - mandir = $(prefix)/man/man$(manext) - # Use manlinks=so to use the .so method instead of hard links --manlinks = ln -+manlinks = ln -s - - alldirs = $(bindir) $(scriptdir) $(datadir) $(libdir) $(infodir) $(mandir) - -@@ -208,7 +208,7 @@ - for f in $(SCRIPTS); do \ - $(INSTALL_PROGRAM) $${f} $(scriptdir)/$${f}; done - rm -f $(scriptdir)/$(G)zcmp; \ -- ln $(scriptdir)/$(G)zdiff $(scriptdir)/$(G)zcmp -+ ln -s $(scriptdir)/$(G)zdiff $(scriptdir)/$(G)zcmp - for f in gunzip$X ungzip$X $(ZCAT)$X ; do \ - rm -f $(bindir)/$${f}; done - @if echo $(DEFS) | grep GNU_STANDARD > /dev/null; then \ -@@ -216,8 +216,8 @@ - echo 'exec gzip -dc $${1+"$$@"}' > $(bindir)/$(ZCAT)$X; \ - chmod 755 $(bindir)/gunzip$X $(bindir)/$(ZCAT)$X; \ - else \ -- ln $(bindir)/gzip$X $(bindir)/gunzip$X; \ -- ln $(bindir)/gzip$X $(bindir)/$(ZCAT)$X; \ -+ ln -s $(bindir)/gzip$X $(bindir)/gunzip$X; \ -+ ln -s $(bindir)/gzip$X $(bindir)/$(ZCAT)$X; \ - fi - - installman: gzip.info -@@ -233,9 +233,9 @@ - echo .so man$(manext)/gzip.$(manext) > gunzip.$(manext);\ - chmod 644 $(ZCAT).$(manext) $(G)zcmp.$(manext) gunzip.$(manext);\ - else \ -- ln gzip.$(manext) $(ZCAT).$(manext);\ -- ln $(G)zdiff.$(manext) $(G)zcmp.$(manext);\ -- ln gzip.$(manext) gunzip.$(manext);\ -+ ln -s gzip.$(manext) $(ZCAT).$(manext);\ -+ ln -s $(G)zdiff.$(manext) $(G)zcmp.$(manext);\ -+ ln -s gzip.$(manext) gunzip.$(manext);\ - fi - -cd $(srcdir); for f in gzip.info* ; do $(INSTALL_DATA) $${f} \ - $(infodir)/$${f}; done -@@ -251,9 +251,9 @@ - install_compress: install - -test -f $(bindir)/compress.old || \ - mv $(bindir)/compress$X $(bindir)/compress.old -- ln $(bindir)/gzip$X $(bindir)/compress$X -+ ln -s $(bindir)/gzip$X $(bindir)/compress$X - rm -f $(bindir)/uncompress$X -- ln $(bindir)/gzip$X $(bindir)/uncompress$X -+ ln -s $(bindir)/gzip$X $(bindir)/uncompress$X - - # Make sure all installation directories, e.g. $(bindir) actually exist by - # making them if necessary. At most one level is created (except for man). -@@ -329,8 +329,8 @@ - gzip$X: Makefile $(OBJS) - $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) - rm -f gunzip$X $(ZCAT)$X -- ln gzip$X gunzip$X -- ln gzip$X $(ZCAT)$X -+ ln -s gzip$X gunzip$X -+ ln -s gzip$X $(ZCAT)$X - - gzip$O zip$O deflate$O trees$O bits$O unzip$O inflate$O: gzip.h tailor.h - util$O lzw$O unlzw$O unpack$O unlzh$O crypt$O: gzip.h tailor.h diff --git a/app-arch/gzip/patches/gzip-1.3.12-downstream.patch b/app-arch/gzip/patches/gzip-1.3.12-downstream.patch deleted file mode 100644 index 9853c3894..000000000 --- a/app-arch/gzip/patches/gzip-1.3.12-downstream.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -Naur gzip-1.3.12-original/configure.ac gzip-1.3.12/configure.ac ---- gzip-1.3.12-original/configure.ac 2009-04-06 23:31:48.000000000 -0400 -+++ gzip-1.3.12/configure.ac 2009-04-06 23:37:45.000000000 -0400 -@@ -26,13 +26,14 @@ - AC_CONFIG_AUX_DIR(build-aux) - AC_CONFIG_HEADERS([lib/config.h:lib/config.hin]) - AM_INIT_AUTOMAKE([gnits]) -+AC_CONFIG_MACRO_DIR([m4]) - - AC_PROG_CC_STDC - AM_PROG_CC_C_O - AC_PROG_CPP - AC_CHECK_TOOL([NM], [nm], [nm]) - AC_PROG_LN_S --AC_PROG_RANLIB -+LT_INIT - AC_PROG_SHELL - - gl_EARLY diff --git a/app-arch/gzip/patches/gzip-1.3.12-stdbool_.h.diff b/app-arch/gzip/patches/gzip-1.3.12-stdbool_.h.diff deleted file mode 100644 index 0b0db8017..000000000 --- a/app-arch/gzip/patches/gzip-1.3.12-stdbool_.h.diff +++ /dev/null @@ -1,20 +0,0 @@ ---- stdbool_.h 2008-05-14 14:48:48.000000000 +0000 -+++ gzip-1.3.12/lib/stdbool_.h 2007-03-30 23:56:06.000000000 +0000 -@@ -58,7 +58,7 @@ - - /* BeOS already #defines false 0, true 1. We use the same - definitions below, but temporarily we have to #undef them. */ --#if defined __BEOS__ && !defined __HAIKU__ -+#ifdef __BEOS__ - # include /* defines bool but not _Bool */ - # undef false - # undef true -@@ -73,7 +73,7 @@ - (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int' - (see ISO C 99 6.3.1.1.(2)). So we add a negative value to the - enum; this ensures that '_Bool' promotes to 'int'. */ --#if defined __cplusplus || (defined __BEOS__ && !defined __HAIKU__) -+#if defined __cplusplus || defined __BEOS__ - /* A compiler known to have 'bool'. */ - /* If the compiler already has both 'bool' and '_Bool', we can assume they - are the same types. */ diff --git a/app-arch/gzip/patches/gzip-1.4.patch b/app-arch/gzip/patches/gzip-1.4.patch deleted file mode 100644 index d682f553e..000000000 --- a/app-arch/gzip/patches/gzip-1.4.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- gzip-1.4/inflate.c 2010-01-20 14:15:12.017039360 +0100 -+++ gzip-1.4/inflate.c 2011-12-03 00:03:37.421003264 +0100 -@@ -588,6 +588,7 @@ - /* do the copy */ - do { - n -= (e = (e = WSIZE - ((d &= WSIZE-1) > w ? d : w)) > n ? n : e); -+ { - #if !defined(NOMEMCPY) && !defined(DEBUG) - unsigned int delta = w > d ? w - d : d - w; - if (delta >= e) -@@ -602,6 +603,7 @@ - slide[w++] = slide[d++]; - Tracevv((stderr, "%c", slide[w-1])); - } while (--e); -+ } - if (w == WSIZE) - { - flush_output(w); diff --git a/app-arch/zip/zip-3.0.recipe b/app-arch/zip/zip-3.0.recipe index ab36b1ce5..9680e4ed4 100644 --- a/app-arch/zip/zip-3.0.recipe +++ b/app-arch/zip/zip-3.0.recipe @@ -24,8 +24,10 @@ PROVIDES=" " REQUIRES=" haiku >= $haikuVersion + lib:libz " BUILD_REQUIRES=" + devel:libz " BUILD_PREREQUIRES=" haiku_devel >= $haikuVersion diff --git a/app-cdr/cdrtools/cdrtools-3.01~a25.recipe b/app-cdr/cdrtools/cdrtools-3.01~a25.recipe new file mode 100644 index 000000000..c608b18db --- /dev/null +++ b/app-cdr/cdrtools/cdrtools-3.01~a25.recipe @@ -0,0 +1,159 @@ +SUMMARY="A highly portable CD/DVD/BluRay command line recording software" +DESCRIPTION=" +Cdrtools is a set of command line programs that allows to record CD/DVD/BluRay \ +media. +The suite includes the following programs: +- cdrecord A CD/DVD/BD recording program +- readcd A program to read CD/DVD/BD media with CD-clone features +- cdda2wav The most evolved CD-audio extraction program with paranoia support +- mkisofs A program to create hybrid ISO9660/JOLIET/HFS filesystes with \ +optional Rock Ridge attributes +- isodebug A program to print mkisofs debug information from media +- isodump A program to dump ISO-9660 media +- isoinfo A program to analyse/verify ISO/9660/Joliet/Rock-Ridge Filesystems +- isovfy A program to verify the ISO-9660 structures +- rscsi A Remote SCSI enabling daemon +" +HOMEPAGE="http://cdrecord.berlios.de" +COPYRIGHT=" + 1993-1997 Eric Youngdale, 1997-2010 J. Schilling (mkisofs) + 1995-2013 J. Schilling (cdrecord) + " +LICENSE=" + GNU GPL v2 + CDDL v1 + " +SRC_URI="http://sourceforge.net/projects/cdrtools/files/alpha/cdrtools-3.01a25.tar.bz2" +CHECKSUM_SHA256="12c555263c9b56d83ea104918c0c6c7df41c3dd51206ae1986e88aed892b29be" +REVISION="1" +ARCHITECTURES="x86_gcc2 x86" + +PATCHES='cdrtools-3.01~a25.patch' + +PROVIDES=" + cdrtools = $portVersion compat >= 3 + cmd:devdump = $portVersion compat >= 3 + cmd:rscsi = $portVersion compat >= 3 + cmd:scgcheck = $portVersion compat >= 3 + cmd:mkisofs = $portVersion compat >= 3 + cmd:btcflash = $portVersion compat >= 3 + cmd:scgskeleton = $portVersion compat >= 3 + cmd:isovfy = $portVersion compat >= 3 + cmd:readcd = $portVersion compat >= 3 + cmd:isodebug = $portVersion compat >= 3 + cmd:cdda2mp3 = $portVersion compat >= 3 + cmd:cdda2ogg = $portVersion compat >= 3 + cmd:cdda2wav = $portVersion compat >= 3 + cmd:mkhybrid = $portVersion compat >= 3 + cmd:cdrecord = $portVersion compat >= 3 + cmd:isodump = $portVersion compat >= 3 + cmd:isoinfo = $portVersion compat >= 3 + " +REQUIRES=" + haiku >= $haikuVersion + " +BUILD_REQUIRES=" + " +BUILD_PREREQUIRES=" + haiku_devel >= $haikuVersion + cmd:gcc + cmd:grep + cmd:ld + cmd:make + cmd:sed + " + +GLOBAL_WRITABLE_FILES=" + settings/cdrecord keep-old + settings/rscsi keep-old + " + +SOURCE_DIR="cdrtools-3.01" + +patchInsdir() +{ + # Usage: patchInsdir ... + oldDir=$1 + newDir=$2 + shift 2 + + sed -i "s,^INSDIR=\s*$oldDir,INSDIR= $newDir," $@ +} + +PATCH() +{ + allMakefiles="$(find . -name Makefile\*) $(find . -name \*.mk)" + + patchInsdir bin $relativeBinDir $allMakefiles + patchInsdir sbin $relativeBinDir $allMakefiles + patchInsdir share/doc $relativeDocDir $allMakefiles + patchInsdir include $relativeIncludeDir $allMakefiles + patchInsdir lib $relativeLibDir $allMakefiles + patchInsdir etc/default settings $allMakefiles + + sed -i "s,/etc/default,$sysconfDir," \ + btcflash/btcflash.1 \ + cdda2wav/cdda2mp3 \ + cdda2wav/cdda2ogg \ + cdda2wav/cdda2*.1 \ + cdrecord/COPYING \ + cdrecord/README.* \ + cdrecord/auinfo.c \ + cdrecord/cdrecord.1 \ + doc/*.man \ + doc/*.ps \ + include/schily/deflts.h \ + libcdrdeflt/cdrdeflt.c \ + libcdrdeflt/cdrdeflt.h \ + mkisofs/diag/isoinfo.8 \ + readcd/readcd.1 \ + rscsi/rscsi.1 \ + rscsi/rscsi.c \ + scgskeleton/scgskeleton.1 +} + +BUILD() +{ + make GMAKE_NOWARN=true INS_BASE=$prefix INS_RBASE=$prefix LDPATH="" \ + RUNPATH="" DEFMANBASE=$relativeDocumentationDir + # not multi-job safe +} + +INSTALL() +{ + make GMAKE_NOWARN=true INS_BASE=$prefix INS_RBASE=$prefix LDPATH="" \ + RUNPATH="" DEFMANBASE=$relativeDocumentationDir install + + # The whole lib folder only contains static libraries (even in several + # subdirectories). + mkdir -p $developLibDir + mv $libDir/* $developLibDir/ + rmdir $libDir + + # devel package + packageEntries devel \ + $developDir +} + +# ----- devel package ------------------------------------------------------- + +PROVIDES_devel=" + cdrtools_devel = $portVersion + devel:libcdrdeflt = $portVersion compat >= 3 + devel:libedc_ecc = $portVersion compat >= 3 + devel:libedc_ecc_dec = $portVersion compat >= 3 + devel:libdeflt = $portVersion compat >= 3 + devel:libfile = $portVersion compat >= 3 + devel:libfind = $portVersion compat >= 3 + devel:libhfs = $portVersion compat >= 3 + devel:libmdigest = $portVersion compat >= 3 + devel:libparanoia = $portVersion compat >= 3 + devel:librscg = $portVersion compat >= 3 + devel:libscg = $portVersion compat >= 3 + devel:libsiconv = $portVersion compat >= 3 + devel:libscgcmd = $portVersion compat >= 3 + devel:libschily = $portVersion compat >= 3 + " +REQUIRES_devel=" + cdrtools == $portVersion + " diff --git a/app-cdr/cdrtools/patches/cdrtools-3.01~a25.patch b/app-cdr/cdrtools/patches/cdrtools-3.01~a25.patch new file mode 100644 index 000000000..2ede43e04 --- /dev/null +++ b/app-cdr/cdrtools/patches/cdrtools-3.01~a25.patch @@ -0,0 +1,171 @@ +diff -urN cdrtools-3.01/DEFAULTS/Defaults.haiku cdrtools-3.01-haiku/DEFAULTS/Defaults.haiku +--- cdrtools-3.01/DEFAULTS/Defaults.haiku ++++ cdrtools-3.01-haiku/DEFAULTS/Defaults.haiku +@@ -29,16 +29,16 @@ + CWARNOPTS= + + DEFINCDIRS= $(SRCROOT)/include + DEFOSINCDIRS= +-LDPATH= -L/opt/schily/lib ++LDPATH= -L$(shell finddir B_SYSTEM_LIB_DIRECTORY) + #RUNPATH= -R$(INS_BASE)/lib -R/opt/schily/lib -R$(OLIBSDIR) +-RUNPATH= -R$(INS_BASE)/lib -R/opt/schily/lib ++RUNPATH= -R$(INS_BASE)/lib + + ########################################################################### + # + # Installation config stuff + # + ########################################################################### +-INS_BASE= /boot/opt/schily ++INS_BASE= $(shell finddir B_SYSTEM_DIRECTORY) + INS_KBASE= / + INS_RBASE= / + # +diff -urN cdrtools-3.01/RULES/x86_64-haiku-cc.rul cdrtools-3.01-haiku/RULES/x86_64-haiku-cc.rul +--- cdrtools-3.01/RULES/x86_64-haiku-cc.rul 1970-01-01 00:00:00.000000000 +0000 ++++ cdrtools-3.01-haiku/RULES/x86_64-haiku-cc.rul 2012-12-08 19:24:57.418643968 +0000 +@@ -0,0 +1,54 @@ ++#ident "@(#)bepc-haiku-cc.rul 1.3 09/02/05 " ++########################################################################### ++# Written 1996 by J. Schilling ++########################################################################### ++# ++# Platform dependent MACROS for Haiku, a BeOS like OS ++# ++########################################################################### ++# Copyright (c) J. Schilling ++########################################################################### ++# The contents of this file are subject to the terms of the ++# Common Development and Distribution License, Version 1.0 only ++# (the "License"). You may not use this file except in compliance ++# with the License. ++# ++# See the file CDDL.Schily.txt in this distribution for details. ++# ++# When distributing Covered Code, include this CDDL HEADER in each ++# file and include the License file CDDL.Schily.txt from this distribution. ++########################################################################### ++include $(SRCROOT)/$(RULESDIR)/rules.prg ++########################################################################### ++include $(SRCROOT)/$(RULESDIR)/cc-gcc.rul ++ ++# ++# XXX Old BeOS needs libroot.so to get [efg]cvt() ++# XXX New BeOS seems to have this in libc and in addition we include ++# XXX strtod.c for floating point conversion on OS without such code. ++# XXX For this reason, -DNO_FLOATINGPOINT -DUSE_FLOATINGARGS has been ++# XXX removed and printing floating numbers will work with old/new BeOS ++# ++#OSDEFS += -DNO_FLOATINGPOINT -DUSE_FLOATINGARGS ++OSDEFS += ++ ++KDEFINES= -DKERNEL -D_KERNEL ++ ++#CONFFLAGS= i586 ++ ++LIB_PREFIX= lib ++LIB_SUFFIX= .a ++SHL_SUFFIX= .so ++ ++#LIB_SOCKET= -lsocket -lbind ++LIB_SOCKET= -lnetwork ++LIB_MATH= ++LIB_KVM= ++ ++#LDOPTS= $(LIBS_PATH) $(LDPATH) $(RUNPATH:-R%=-Wl,-R%) ++LDOPTS= $(LIBS_PATH) $(LDPATH) ++ ++LORDER= echo ++TSORT= cat ++ ++LN= /bin/ln -s +diff -urN cdrtools-3.01/RULES/x86_64-haiku-gcc.rul cdrtools-3.01-haiku/RULES/x86_64-haiku-gcc.rul +--- cdrtools-3.01/RULES/x86_64-haiku-gcc.rul 1970-01-01 00:00:00.000000000 +0000 ++++ cdrtools-3.01-haiku/RULES/x86_64-haiku-gcc.rul 2012-12-08 19:24:57.421265408 +0000 +@@ -0,0 +1,54 @@ ++#ident "@(#)bepc-haiku-gcc.rul 1.3 09/02/05 " ++########################################################################### ++# Written 1996 by J. Schilling ++########################################################################### ++# ++# Platform dependent MACROS for Haiku, a BeOS like OS ++# ++########################################################################### ++# Copyright (c) J. Schilling ++########################################################################### ++# The contents of this file are subject to the terms of the ++# Common Development and Distribution License, Version 1.0 only ++# (the "License"). You may not use this file except in compliance ++# with the License. ++# ++# See the file CDDL.Schily.txt in this distribution for details. ++# ++# When distributing Covered Code, include this CDDL HEADER in each ++# file and include the License file CDDL.Schily.txt from this distribution. ++########################################################################### ++include $(SRCROOT)/$(RULESDIR)/rules.prg ++########################################################################### ++include $(SRCROOT)/$(RULESDIR)/cc-gcc.rul ++ ++# ++# XXX Old BeOS needs libroot.so to get [efg]cvt() ++# XXX New BeOS seems to have this in libc and in addition we include ++# XXX strtod.c for floating point conversion on OS without such code. ++# XXX For this reason, -DNO_FLOATINGPOINT -DUSE_FLOATINGARGS has been ++# XXX removed and printing floating numbers will work with old/new BeOS ++# ++#OSDEFS += -DNO_FLOATINGPOINT -DUSE_FLOATINGARGS ++OSDEFS += ++ ++KDEFINES= -DKERNEL -D_KERNEL ++ ++#CONFFLAGS= i586 ++ ++LIB_PREFIX= lib ++LIB_SUFFIX= .a ++SHL_SUFFIX= .so ++ ++#LIB_SOCKET= -lsocket -lbind ++LIB_SOCKET= -lnetwork ++LIB_MATH= ++LIB_KVM= ++ ++#LDOPTS= $(LIBS_PATH) $(LDPATH) $(RUNPATH:-R%=-Wl,-R%) ++LDOPTS= $(LIBS_PATH) $(LDPATH) ++ ++LORDER= echo ++TSORT= cat ++ ++LN= /bin/ln -s +diff -up cdrtools-3.01/libscg/scsi-beos.c.orig cdrtools-3.01/libscg/scsi-beos.c +--- cdrtools-3.01/libscg/scsi-beos.c.orig 2009-06-30 12:34:03.022282240 -0600 ++++ cdrtools-3.01/libscg/scsi-beos.c 2012-07-19 18:25:01.146800640 -0600 +@@ -292,7 +292,11 @@ scgo_havebus(scgp, busno) + char buf[128]; + + if (busno < 8) ++#ifdef __HAIKU__ ++ js_snprintf(buf, sizeof (buf), "/dev/disk/scsi/%d", busno); ++#else + js_snprintf(buf, sizeof (buf), "/dev/bus/scsi/%d", busno); ++#endif + else + #ifdef __HAIKU__ + js_snprintf(buf, sizeof (buf), "/dev/disk/atapi/%d", busno-8); +@@ -320,9 +324,15 @@ scgo_fileno(scgp, busno, tgt, tlun) + return (f->fd); + } + if (busno < 8) { ++#ifdef __HAIKU__ ++ js_snprintf(buf, sizeof (buf), ++ "/dev/disk/scsi/%d/%d/%d/raw", ++ busno, tgt, tlun); ++#else + js_snprintf(buf, sizeof (buf), + "/dev/bus/scsi/%d/%d/%d/raw", + busno, tgt, tlun); ++#endif + } else { + char *tgtstr = (tgt == 0) ? "master" : (tgt == 1) ? "slave" : "dummy"; + js_snprintf(buf, sizeof (buf), diff --git a/app-crypt/gpgme/gpgme-1.5.2.recipe b/app-crypt/gpgme/gpgme-1.5.2.recipe index 762194cc0..cd2b8c081 100644 --- a/app-crypt/gpgme/gpgme-1.5.2.recipe +++ b/app-crypt/gpgme/gpgme-1.5.2.recipe @@ -22,6 +22,7 @@ COPYRIGHT=" ARCHITECTURES="x86_gcc2 x86 ?x86 ?x86_64" SECONDARY_ARCHITECTURES="x86" +#TODO: fix gpgme-config hardcoded package paths PROVIDES=" gpgme${secondaryArchSuffix} = $portVersion compat >= 1.5 cmd:gpgme_tool${secondaryArchSuffix} = $portVersion compat >= 1.5 @@ -76,6 +77,21 @@ INSTALL() prepareInstalledDevelLibs libgpgme libgpgme-pthread + # The libtool files reference other libraries using the wrong paths, which + # creates a lot of confusion. Fix them so correct paths are used. + local develPackageName="${portName}_devel-$portFullVersion" + local packageLinksDir=$(dirname $portPackageLinksDir) + for l in libgpgme libgpgme-pthread; do + local linksDir="$packageLinksDir/${develPackageName}/devel~libassuan$secondaryArchSuffix/$relativeDevelopLibDir" + sed -i -e "s,\(-L/packages/libassuan[^ ]*\),-L$linksDir," \ + -e "s,[^ ]*/libassuan\.la,$linksDir/libassuan.la,g" \ + $developLibDir/$l.la + local linksDir="$packageLinksDir/${develPackageName}/devel~libgpg_error$secondaryArchSuffix/$relativeDevelopLibDir" + sed -i -e "s,\(-L/packages/libgpg_error[^ ]*\),-L$linksDir," \ + -e "s,[^ ]*/libgpg-error\.la,$linksDir/libgpg-error.la,g" \ + $developLibDir/$l.la + done + packageEntries devel \ $developDir $binDir/gpgme-config } diff --git a/app-crypt/gpgme/patches/gpgme-1.5.2.patchset b/app-crypt/gpgme/patches/gpgme-1.5.2.patchset index 1e89a4a49..865f0e261 100644 --- a/app-crypt/gpgme/patches/gpgme-1.5.2.patchset +++ b/app-crypt/gpgme/patches/gpgme-1.5.2.patchset @@ -1,40 +1,54 @@ -From 9d2d28bfa7cbbdfef179c5fb4a29e777c092bf8a Mon Sep 17 00:00:00 2001 +From ce6d32b33fa2385e4627239a10c12ac7d18a66c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Sun, 16 Nov 2014 14:50:17 +0100 -Subject: [PATCH 1/2] configure.ac: Haiku does have a thread-safe getenv +Subject: [PATCH 1/3] configure.ac: Haiku does have a thread-safe getenv Also force HAVE_PTHREAD. --- - configure.ac | 11 ++++++++--- - 1 file changed, 8 insertions(+), 3 deletions(-) + configure.ac | 19 +++++++++++++++---- + 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac -index 0ffe847..890b682 100644 +index 0ffe847..0f33189 100644 --- a/configure.ac +++ b/configure.ac -@@ -186,11 +186,12 @@ case "${host}" in +@@ -141,6 +141,7 @@ GPG_DEFAULT=no + GPGSM_DEFAULT=no + GPGCONF_DEFAULT=no + G13_DEFAULT=no ++PTHREAD_LIBS="" + component_system=None + have_dosish_system=no + have_android_system=no +@@ -186,11 +187,16 @@ case "${host}" in AC_HELP_STRING([--enable-w32-qt], [build GPGME Qt for W32]), build_w32_qt=$enableval) ;; + *-haiku*) + have_thread_safe_getenv=yes ++ # Haiku has it in libroot + AC_CHECK_FUNC(pthread_create,have_pthread=yes) + ;; *) - AC_CHECK_LIB(pthread,pthread_create,have_pthread=yes) +- AC_CHECK_LIB(pthread,pthread_create,have_pthread=yes) - if test "$have_pthread" = yes; then - AC_DEFINE(HAVE_PTHREAD, ,[Define if we have pthread.]) - fi ++ save_LIBS="$LIBS" ++ AC_SEARCH_LIBS(pthread_create,pthread,have_pthread=yes) ++ PTHREAD_LIBS="$LIBS" ++ LIBS="$save_LIBS" # XXX: Probably use exec-prefix here? # GPG_DEFAULT='/usr/bin/gpg' -@@ -200,6 +201,10 @@ case "${host}" in +@@ -200,6 +206,11 @@ case "${host}" in ;; esac +if test "$have_pthread" = yes; then + AC_DEFINE(HAVE_PTHREAD, ,[Define if we have pthread.]) +fi ++AC_SUBST(PTHREAD_LIBS) + if test "$have_dosish_system" = yes; then AC_DEFINE(HAVE_DOSISH_SYSTEM,1, @@ -43,10 +57,10 @@ index 0ffe847..890b682 100644 1.8.3.4 -From 3914cec87c354b9726af7612ed23f945bdab5092 Mon Sep 17 00:00:00 2001 +From 24a23b475810c5a5fba58f3d6615b2811cf07392 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Wed, 19 Nov 2014 21:52:09 +0100 -Subject: [PATCH 2/2] Makefile.am: remove hardcoded -lpthread +Subject: [PATCH 2/3] Makefile.am: replace hardcoded -lpthread by an AC_SUBST --- src/Makefile.am | 2 +- @@ -54,7 +68,7 @@ Subject: [PATCH 2/2] Makefile.am: remove hardcoded -lpthread 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am -index b7ddbc1..258aab8 100644 +index b7ddbc1..5ac20de 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -185,7 +185,7 @@ libgpgme_pthread_la_LDFLAGS = $(no_undefined) $(export_symbols) \ @@ -62,12 +76,12 @@ index b7ddbc1..258aab8 100644 libgpgme_pthread_la_DEPENDENCIES = @LTLIBOBJS@ $(srcdir)/libgpgme.vers libgpgme_pthread_la_LIBADD = $(gpgme_res) @LIBASSUAN_LIBS@ @LTLIBOBJS@ \ - -lpthread @GPG_ERROR_LIBS@ -+ @LIBS@ @GPG_ERROR_LIBS@ ++ @PTHREAD_LIBS@ @GPG_ERROR_LIBS@ if BUILD_W32_GLIB libgpgme_glib_la_LDFLAGS = $(no_undefined) \ diff --git a/tests/gpg/Makefile.am b/tests/gpg/Makefile.am -index 5c1266e..484226f 100644 +index 5c1266e..5261da2 100644 --- a/tests/gpg/Makefile.am +++ b/tests/gpg/Makefile.am @@ -61,7 +61,7 @@ INCLUDES = -I$(top_builddir)/src @@ -75,10 +89,37 @@ index 5c1266e..484226f 100644 AM_CPPFLAGS = @GPG_ERROR_CFLAGS@ LDADD = ../../src/libgpgme.la -t_thread1_LDADD = ../../src/libgpgme-pthread.la -lpthread -+t_thread1_LDADD = ../../src/libgpgme-pthread.la @LIBS@ ++t_thread1_LDADD = ../../src/libgpgme-pthread.la @PTHREAD_LIBS@ # We don't run t-genkey in the test suite, because it takes too long noinst_PROGRAMS = $(c_tests) t-genkey -- 1.8.3.4 + +From 82e7a0cfbfea15ffee496882e5fd3cf93325a948 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= +Date: Wed, 26 Nov 2014 02:24:03 +0100 +Subject: [PATCH 3/3] gpgme-config.in: replace hardcoded -lpthread by an + AC_SUBST + +--- + src/gpgme-config.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/gpgme-config.in b/src/gpgme-config.in +index 4be1e08..bf83deb 100644 +--- a/src/gpgme-config.in ++++ b/src/gpgme-config.in +@@ -33,7 +33,7 @@ gpg_error_libs="@GPG_ERROR_LIBS@" + thread_modules="" + + @HAVE_PTHREAD_TRUE@thread_modules="$thread_modules pthread" +-libs_pthread="-lpthread" ++libs_pthread="@PTHREAD_LIBS@" + cflags_pthread="" + + # Configure glib. +-- +1.8.3.4 + diff --git a/app-editors/vim/patches/vim-7.4.patch b/app-editors/vim/patches/vim-7.4.patchset similarity index 94% rename from app-editors/vim/patches/vim-7.4.patch rename to app-editors/vim/patches/vim-7.4.patchset index df7878609..bda8e5604 100644 --- a/app-editors/vim/patches/vim-7.4.patch +++ b/app-editors/vim/patches/vim-7.4.patchset @@ -1,7 +1,14 @@ -diff -Naur vim74/runtime/doc/eval.txt vim74.haiku/runtime/doc/eval.txt ---- vim74/runtime/doc/eval.txt 2013-08-10 13:24:53.048234496 +0200 -+++ vim74.haiku/runtime/doc/eval.txt 2013-09-08 11:28:37.017825792 +0200 -@@ -6393,12 +6393,14 @@ +From 2c8c98e880f988ed0326732d2dac27540ae7985b Mon Sep 17 00:00:00 2001 +From: Ezodev +Date: Tue, 2 Dec 2014 15:56:43 +0000 +Subject: applying patch vim-7.4.patch + + +diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt +index 743aec1..edfb508 100644 +--- a/runtime/doc/eval.txt ++++ b/runtime/doc/eval.txt +@@ -6393,12 +6393,14 @@ gui_athena Compiled with Athena GUI. gui_gnome Compiled with Gnome support (gui_gtk is also defined). gui_gtk Compiled with GTK+ GUI (any version). gui_gtk2 Compiled with GTK+ 2 GUI (gui_gtk is also defined). @@ -16,10 +23,11 @@ diff -Naur vim74/runtime/doc/eval.txt vim74.haiku/runtime/doc/eval.txt hangul_input Compiled with Hangul input support. |hangul| iconv Can use iconv() for conversion. insert_expand Compiled with support for CTRL-X expansion commands in -diff -Naur vim74/runtime/doc/gui.txt vim74.haiku/runtime/doc/gui.txt ---- vim74/runtime/doc/gui.txt 2013-08-10 13:24:53.060555264 +0200 -+++ vim74.haiku/runtime/doc/gui.txt 2013-09-08 11:29:11.019660800 +0200 -@@ -100,6 +100,7 @@ +diff --git a/runtime/doc/gui.txt b/runtime/doc/gui.txt +index 1ae5495..0b25a91 100644 +--- a/runtime/doc/gui.txt ++++ b/runtime/doc/gui.txt +@@ -100,6 +100,7 @@ Recommended place for your personal GUI initializations: or $VIM/_gvimrc Amiga s:.gvimrc, home:.gvimrc, home:vimfiles:gvimrc or $VIM/.gvimrc @@ -27,10 +35,11 @@ diff -Naur vim74/runtime/doc/gui.txt vim74.haiku/runtime/doc/gui.txt The personal initialization files are searched in the order specified above and only the first one that is found is read. -diff -Naur vim74/runtime/doc/help.txt vim74.haiku/runtime/doc/help.txt ---- vim74/runtime/doc/help.txt 2013-08-10 13:24:54.061865984 +0200 -+++ vim74.haiku/runtime/doc/help.txt 2013-09-11 21:13:58.739246080 +0200 -@@ -189,6 +189,7 @@ +diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt +index f13a529..c0db658 100644 +--- a/runtime/doc/help.txt ++++ b/runtime/doc/help.txt +@@ -189,6 +189,7 @@ Remarks about specific systems ~ |os_os2.txt| OS/2 |os_qnx.txt| QNX |os_risc.txt| RISC-OS @@ -38,10 +47,11 @@ diff -Naur vim74/runtime/doc/help.txt vim74.haiku/runtime/doc/help.txt |os_unix.txt| Unix |os_vms.txt| VMS |os_win32.txt| MS-Windows 95/98/NT -diff -Naur vim74/runtime/doc/options.txt vim74.haiku/runtime/doc/options.txt ---- vim74/runtime/doc/options.txt 2013-08-10 13:24:57.058720256 +0200 -+++ vim74.haiku/runtime/doc/options.txt 2013-09-08 11:39:09.024641536 +0200 -@@ -3645,7 +3645,7 @@ +diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt +index fdc5ad2..c96335e 100644 +--- a/runtime/doc/options.txt ++++ b/runtime/doc/options.txt +@@ -3645,7 +3645,7 @@ A jump table for the options with a short description can be found at |Q_op|. 'guitablabel' can be used to change the text in the labels. When 'e' is missing a non-GUI tab pages line may be used. The GUI tabs are only supported on some systems, currently @@ -50,7 +60,7 @@ diff -Naur vim74/runtime/doc/options.txt vim74.haiku/runtime/doc/options.txt *'go-f'* 'f' Foreground: Don't use fork() to detach the GUI from the shell where it was started. Use this for programs that wait for the -@@ -5747,7 +5747,12 @@ +@@ -5747,7 +5747,12 @@ A jump table for the options with a short description can be found at |Q_op|. $VIM/vimfiles, $VIMRUNTIME, $VIM/vimfiles/after, @@ -64,7 +74,7 @@ diff -Naur vim74/runtime/doc/options.txt vim74.haiku/runtime/doc/options.txt global {not in Vi} This is a list of directories which will be searched for runtime -@@ -7132,6 +7137,7 @@ +@@ -7132,6 +7137,7 @@ A jump table for the options with a short description can be found at |Q_op|. on MiNT: "vt52" on MS-DOS: "pcterm" on OS/2: "os2ansi" @@ -72,9 +82,11 @@ diff -Naur vim74/runtime/doc/options.txt vim74.haiku/runtime/doc/options.txt on Unix: "ansi" on VMS: "ansi" on Win 32: "win32") -diff -Naur vim74/runtime/doc/os_haiku.txt vim74.haiku/runtime/doc/os_haiku.txt ---- vim74/runtime/doc/os_haiku.txt 1970-01-01 01:00:00.000000000 +0100 -+++ vim74.haiku/runtime/doc/os_haiku.txt 2013-09-14 16:46:11.293863424 +0200 +diff --git a/runtime/doc/os_haiku.txt b/runtime/doc/os_haiku.txt +new file mode 100644 +index 0000000..b95e13d +--- /dev/null ++++ b/runtime/doc/os_haiku.txt @@ -0,0 +1,223 @@ +*os_haiku.txt* For Vim version 7.4. Last change: 2013 Sep 12 + @@ -299,10 +311,11 @@ diff -Naur vim74/runtime/doc/os_haiku.txt vim74.haiku/runtime/doc/os_haiku.txt + + + vim:tw=78:ts=8:ft=help:norl: -diff -Naur vim74/runtime/doc/starting.txt vim74.haiku/runtime/doc/starting.txt ---- vim74/runtime/doc/starting.txt 2013-08-10 13:25:01.048758784 +0200 -+++ vim74.haiku/runtime/doc/starting.txt 2013-09-08 11:22:58.029622272 +0200 -@@ -765,6 +765,7 @@ +diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt +index 47ad05f..39ceb6a 100644 +--- a/runtime/doc/starting.txt ++++ b/runtime/doc/starting.txt +@@ -765,6 +765,7 @@ accordingly. Vim proceeds in this order: or $VIM/_vimrc Amiga s:.vimrc, home:.vimrc, home:vimfiles:vimrc or $VIM/.vimrc @@ -310,7 +323,7 @@ diff -Naur vim74/runtime/doc/starting.txt vim74.haiku/runtime/doc/starting.txt The files are searched in the order specified above and only the first one that is found is read. -@@ -811,6 +812,7 @@ +@@ -811,6 +812,7 @@ accordingly. Vim proceeds in this order: "$HOME/_vimrc" (for MS-DOS and Win32) (*) "$HOME/vimfiles/vimrc" (for MS-DOS and Win32) (*) "$VIM/_vimrc" (for MS-DOS and Win32) (*) @@ -318,7 +331,7 @@ diff -Naur vim74/runtime/doc/starting.txt vim74.haiku/runtime/doc/starting.txt Note: For Unix, OS/2 and Amiga, when ".vimrc" does not exist, "_vimrc" is also tried, in case an MS-DOS compatible file system is used. For MS-DOS and Win32 ".vimrc" is checked -@@ -901,6 +903,7 @@ +@@ -901,6 +903,7 @@ sessions. Put it in a place so that it will be found by 3b: ~/.vimrc (Unix and OS/2) s:.vimrc (Amiga) $VIM\_vimrc (MS-DOS and Win32) @@ -326,10 +339,11 @@ diff -Naur vim74/runtime/doc/starting.txt vim74.haiku/runtime/doc/starting.txt Note that creating a vimrc file will cause the 'compatible' option to be off by default. See |compatible-default|. -diff -Naur vim74/runtime/doc/tags vim74.haiku/runtime/doc/tags ---- vim74/runtime/doc/tags 2013-08-10 14:23:34.050855936 +0200 -+++ vim74.haiku/runtime/doc/tags 2013-09-15 14:09:20.988545024 +0200 -@@ -4353,6 +4353,7 @@ +diff --git a/runtime/doc/tags b/runtime/doc/tags +index b7e16df..666f140 100644 +--- a/runtime/doc/tags ++++ b/runtime/doc/tags +@@ -4353,6 +4353,7 @@ GetLatestVimScripts-copyright pi_getscript.txt /*GetLatestVimScripts-copyright* GetLatestVimScripts_dat pi_getscript.txt /*GetLatestVimScripts_dat* Gnome gui_x11.txt /*Gnome* H motion.txt /*H* @@ -337,7 +351,7 @@ diff -Naur vim74/runtime/doc/tags vim74.haiku/runtime/doc/tags I insert.txt /*I* ICCF uganda.txt /*ICCF* IM-server mbyte.txt /*IM-server* -@@ -6245,6 +6246,20 @@ +@@ -6245,6 +6246,20 @@ g~ change.txt /*g~* g~g~ change.txt /*g~g~* g~~ change.txt /*g~~* h motion.txt /*h* @@ -358,7 +372,7 @@ diff -Naur vim74/runtime/doc/tags vim74.haiku/runtime/doc/tags hangul hangulin.txt /*hangul* hangulin.txt hangulin.txt /*hangulin.txt* has() eval.txt /*has()* -@@ -7244,6 +7259,7 @@ +@@ -7244,6 +7259,7 @@ os_390.txt os_390.txt /*os_390.txt* os_amiga.txt os_amiga.txt /*os_amiga.txt* os_beos.txt os_beos.txt /*os_beos.txt* os_dos.txt os_dos.txt /*os_dos.txt* @@ -366,10 +380,11 @@ diff -Naur vim74/runtime/doc/tags vim74.haiku/runtime/doc/tags os_mac.txt os_mac.txt /*os_mac.txt* os_mint.txt os_mint.txt /*os_mint.txt* os_msdos.txt os_msdos.txt /*os_msdos.txt* -diff -Naur vim74/runtime/doc/vi_diff.txt vim74.haiku/runtime/doc/vi_diff.txt ---- vim74/runtime/doc/vi_diff.txt 2013-08-10 13:25:07.057933824 +0200 -+++ vim74.haiku/runtime/doc/vi_diff.txt 2013-09-08 11:23:54.040370176 +0200 -@@ -140,6 +140,7 @@ +diff --git a/runtime/doc/vi_diff.txt b/runtime/doc/vi_diff.txt +index f35cc02..85c14eb 100644 +--- a/runtime/doc/vi_diff.txt ++++ b/runtime/doc/vi_diff.txt +@@ -140,6 +140,7 @@ Support for different systems. - Atari MiNT - VMS - BeOS @@ -377,7 +392,7 @@ diff -Naur vim74/runtime/doc/vi_diff.txt vim74.haiku/runtime/doc/vi_diff.txt - Macintosh - Risc OS - IBM OS/390 -@@ -164,7 +165,7 @@ +@@ -164,7 +165,7 @@ Graphical User Interface (GUI). |gui| define your own menus. Better support for CTRL/SHIFT/ALT keys in combination with special keys and mouse. Supported for various platforms, such as X11 (with Motif and Athena interfaces), GTK, Win32 @@ -386,9 +401,10 @@ diff -Naur vim74/runtime/doc/vi_diff.txt vim74.haiku/runtime/doc/vi_diff.txt Multiple windows and buffers. |windows.txt| Vim can split the screen into several windows, each editing a -diff -Naur vim74/runtime/gvimrc_example.vim vim74.haiku/runtime/gvimrc_example.vim ---- vim74/runtime/gvimrc_example.vim 2010-05-15 13:03:31.015204352 +0200 -+++ vim74.haiku/runtime/gvimrc_example.vim 2013-09-08 11:35:38.065273856 +0200 +diff --git a/runtime/gvimrc_example.vim b/runtime/gvimrc_example.vim +index 5a5197e..e7e2538 100644 +--- a/runtime/gvimrc_example.vim ++++ b/runtime/gvimrc_example.vim @@ -9,6 +9,7 @@ " for Amiga: s:.gvimrc " for MS-DOS and Win32: $VIM\_gvimrc @@ -397,9 +413,10 @@ diff -Naur vim74/runtime/gvimrc_example.vim vim74.haiku/runtime/gvimrc_example.v " Make external commands work through a pipe instead of a pseudo-tty "set noguipty -diff -Naur vim74/runtime/vimrc_example.vim vim74.haiku/runtime/vimrc_example.vim ---- vim74/runtime/vimrc_example.vim 2011-04-15 20:58:36.034865152 +0200 -+++ vim74.haiku/runtime/vimrc_example.vim 2013-09-08 11:36:00.007864320 +0200 +diff --git a/runtime/vimrc_example.vim b/runtime/vimrc_example.vim +index 3e9b56f..7a99cf5 100644 +--- a/runtime/vimrc_example.vim ++++ b/runtime/vimrc_example.vim @@ -8,6 +8,7 @@ " for Amiga: s:.vimrc " for MS-DOS and Win32: $VIM\_vimrc @@ -408,10 +425,122 @@ diff -Naur vim74/runtime/vimrc_example.vim vim74.haiku/runtime/vimrc_example.vim " When started as "evim", evim.vim will already have done these settings. if v:progname =~? "evim" -diff -Naur vim74/src/configure.in vim74.haiku/src/configure.in ---- vim74/src/configure.in 2013-08-04 20:00:50.049020928 +0200 -+++ vim74.haiku/src/configure.in 2013-09-11 21:19:56.428343296 +0200 -@@ -87,6 +87,12 @@ +diff --git a/src/Makefile b/src/Makefile +index c830378..d0ac8fa 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -1289,6 +1289,23 @@ CARBONGUI_BUNDLE = gui_bundle + APPDIR = $(VIMNAME).app + CARBONGUI_TESTARG = VIMPROG=../$(APPDIR)/Contents/MacOS/$(VIMTARGET) + ++### Haiku GUI ++HAIKUGUI_SRC = gui.c gui_haiku.cc pty.c ++HAIKUGUI_OBJ = objects/gui.o objects/gui_haiku.o objects/pty.o ++HAIKUGUI_DEFS = -DFEAT_GUI_HAIKU ++HAIKUGUI_IPATH = ++HAIKUGUI_LIBS_DIR = ++HAIKUGUI_LIBS1 = -lbe -lroot -ltracker -ltranslation ++ifeq ($(strip $(word 1, $(subst -, , $(subst ., , $(shell $(CC) -dumpversion))))), 4) ++HAIKUGUI_LIBS1 += -lsupc++ ++endif ++HAIKUGUI_LIBS2 = ++HAIKUGUI_INSTALL = install_normal install_haiku_extra ++HAIKUGUI_TARGETS = installglinks_haiku ++HAIKUGUI_MAN_TARGETS = ++HAIKUGUI_TESTTARGET = gui ++HAIKUGUI_BUNDLE = ++ + # All GUI files + ALL_GUI_SRC = gui.c gui_gtk.c gui_gtk_f.c gui_motif.c gui_xmdlg.c gui_xmebw.c gui_athena.c gui_gtk_x11.c gui_x11.c gui_at_sb.c gui_at_fs.c pty.c + ALL_GUI_PRO = gui.pro gui_gtk.pro gui_motif.pro gui_xmdlg.pro gui_athena.pro gui_gtk_x11.pro gui_x11.pro gui_w16.pro gui_w32.pro gui_photon.pro +@@ -2559,6 +2576,9 @@ objects/gui_gtk_f.o: gui_gtk_f.c + objects/gui_gtk_x11.o: gui_gtk_x11.c + $(CCC) -o $@ gui_gtk_x11.c + ++objects/gui_haiku.o: gui_haiku.cc ++ $(CCC) -o $@ gui_haiku.cc ++ + objects/gui_motif.o: gui_motif.c + $(CCC) -o $@ gui_motif.c + +@@ -2669,6 +2689,9 @@ objects/option.o: option.c + objects/os_beos.o: os_beos.c + $(CCC) -o $@ os_beos.c + ++objects/os_haiku.rsrc: os_haiku.rdef ++ cat $< | $(CCC) -E - | grep -v '^#' | rc -o "$@" - ++ + objects/os_qnx.o: os_qnx.c + $(CCC) -o $@ os_qnx.c + +@@ -2828,6 +2851,62 @@ $(APPDIR)/Contents: + + + ############################################################################### ++### ++### Haiku installation ++### ++### This rule: ++### - add resources to already installed vim binary to avoid stripping ++### them during install; ++### - copy rgb.txt to runtime directory; ++### - update system MIME database with info about vim application. ++### ++install_haiku_extra: $(DEST_BIN)/$(VIMTARGET) objects/os_haiku.rsrc ++ xres -o $(DEST_BIN)/$(VIMTARGET) objects/os_haiku.rsrc ++ $(INSTALL_DATA) $(SCRIPTSOURCE)/rgb.txt $(DEST_RT) ++ mimeset $(DEST_BIN)/$(VIMTARGET) ++ ++### ++### List of g*-links that should be replaced with shell script equivalents. ++### This solves the problem of them from Tracker. ++### ++HAIKU_GLINKS = $(DEST_BIN)/$(GVIMTARGET) \ ++ $(DEST_BIN)/$(GVIEWTARGET) \ ++ $(DEST_BIN)/$(GVIMDIFFTARGET) \ ++ $(DEST_BIN)/$(RGVIMTARGET) \ ++ $(DEST_BIN)/$(RGVIEWTARGET) ++### ++### This rule: ++### - Replace gvim link with copy of vim binary. ++### - Replace g*-links with shell script equivalents to solve the problem ++### of calling them from Tracker, ++### - Add icon resources to mentioned g*-link shell scripts ++### - in case gui-less vim.con executable available use it. ++### ++installglinks_haiku: $(HAIKU_GLINKS) install_haiku_extra ++ @catattr -r "BEOS:ICON" $(DEST_BIN)/$(GVIMTARGET) > ~icon.attr ++ for i in $(HAIKU_GLINKS); do \ ++ rm $$i ; \ ++ echo "#!/bin/sh" > $$i ; \ ++ case $$i in \ ++ $(DEST_BIN)/$(GVIMTARGET)) \ ++ cp $(DEST_BIN)/$(VIMTARGET) $$i ; \ ++ if [ -f $(VIMTARGET).con ] ; then \ ++ $(STRIP) $(VIMTARGET).con ; \ ++ mv $(VIMTARGET).con $(DEST_BIN)/$(VIMTARGET) ; \ ++ fi ;; \ ++ $(DEST_BIN)/$(GVIEWTARGET)) printf "%s -R %c%c" $(GVIMTARGET) '$$' '*' >> $$i;; \ ++ $(DEST_BIN)/$(GVIMDIFFTARGET)) printf "%s -d %c%c" $(GVIMTARGET) '$$' '*' >> $$i;; \ ++ $(DEST_BIN)/$(RGVIMTARGET)) printf "%s -Z %c%c" $(GVIMTARGET) '$$' '*' >> $$i;; \ ++ $(DEST_BIN)/$(RGVIEWTARGET)) printf "%s -Z -R %c%c" $(GVIMTARGET) '$$' '*' >> $$i;; \ ++ *) printf "%s %c%c" $(GVIMTARGET) '$$' '*' >> $$i;; \ ++ esac ; \ ++ chmod $(BINMOD) $$i ; \ ++ addattr -f ~icon.attr -t \'VICN\' BEOS:ICON $$i ; \ ++ done ++ addattr -f ~icon.attr -t \'VICN\' BEOS:ICON $(DEST_BIN)/$(VIMNAME)tutor ++ @rm ~icon.attr ++ ++############################################################################### + ### (automatically generated by 'make depend') + ### Dependencies: + objects/blowfish.o: blowfish.c vim.h auto/config.h feature.h os_unix.h \ +diff --git a/src/configure.in b/src/configure.in +index ed30bed..55a72be 100644 +--- a/src/configure.in ++++ b/src/configure.in +@@ -87,6 +87,12 @@ case `uname` in *) BEOS=no; AC_MSG_RESULT(no);; esac @@ -424,7 +553,7 @@ diff -Naur vim74/src/configure.in vim74.haiku/src/configure.in dnl If QNX is found, assume we don't want to use Xphoton dnl unless it was specifically asked for (--with-x) AC_MSG_CHECKING(for QNX) -@@ -1754,7 +1760,11 @@ +@@ -1754,7 +1760,11 @@ AC_ARG_ENABLE(netbeans, if test "$enable_netbeans" = "yes"; then AC_MSG_RESULT(no) dnl On Solaris we need the socket and nsl library. @@ -437,7 +566,7 @@ diff -Naur vim74/src/configure.in vim74.haiku/src/configure.in AC_CHECK_LIB(nsl, gethostbyname) AC_MSG_CHECKING(whether compiling netbeans integration is possible) AC_TRY_LINK([ -@@ -1967,11 +1977,11 @@ +@@ -1967,11 +1977,11 @@ else fi fi @@ -451,7 +580,7 @@ diff -Naur vim74/src/configure.in vim74.haiku/src/configure.in dnl Canonicalize the --enable-gui= argument so that it can be easily compared. dnl Do not use character classes for portability with old tools. -@@ -1985,10 +1995,23 @@ +@@ -1985,10 +1995,23 @@ SKIP_MOTIF=YES SKIP_ATHENA=YES SKIP_NEXTAW=YES SKIP_PHOTON=YES @@ -476,7 +605,7 @@ diff -Naur vim74/src/configure.in vim74.haiku/src/configure.in SKIP_PHOTON= case "$enable_gui_canon" in no) AC_MSG_RESULT(no GUI support) -@@ -2139,6 +2162,7 @@ +@@ -2139,6 +2162,7 @@ if test "x$MACOSX" = "xyes" -a -z "$SKIP_CARBON" -a "x$CARBON" = "xyes"; then SKIP_ATHENA=YES; SKIP_NEXTAW=YES; SKIP_PHOTON=YES; @@ -484,7 +613,7 @@ diff -Naur vim74/src/configure.in vim74.haiku/src/configure.in SKIP_CARBON=YES fi -@@ -2639,6 +2663,11 @@ +@@ -2639,6 +2663,11 @@ if test "x$GUITYPE:$enable_fontset" = "xGTK:yes"; then enable_fontset="no" fi @@ -496,10 +625,11 @@ diff -Naur vim74/src/configure.in vim74.haiku/src/configure.in if test -z "$SKIP_PHOTON"; then GUITYPE=PHOTONGUI fi -diff -Naur vim74/src/eval.c vim74.haiku/src/eval.c ---- vim74/src/eval.c 2013-07-05 18:23:42.010223616 +0200 -+++ vim74.haiku/src/eval.c 2013-09-08 11:56:22.021233664 +0200 -@@ -12099,6 +12099,9 @@ +diff --git a/src/eval.c b/src/eval.c +index b9d739d..824f074 100644 +--- a/src/eval.c ++++ b/src/eval.c +@@ -12099,6 +12099,9 @@ f_has(argvars, rettv) "dos16", # endif #endif @@ -509,7 +639,7 @@ diff -Naur vim74/src/eval.c vim74.haiku/src/eval.c #ifdef MACOS "mac", #endif -@@ -12266,6 +12269,9 @@ +@@ -12266,6 +12269,9 @@ f_has(argvars, rettv) #ifdef FEAT_GUI_GNOME "gui_gnome", #endif @@ -519,10 +649,11 @@ diff -Naur vim74/src/eval.c vim74.haiku/src/eval.c #ifdef FEAT_GUI_MAC "gui_mac", #endif -diff -Naur vim74/src/ex_docmd.c vim74.haiku/src/ex_docmd.c ---- vim74/src/ex_docmd.c 2013-07-24 15:09:37.032768000 +0200 -+++ vim74.haiku/src/ex_docmd.c 2013-09-08 11:55:05.022806528 +0200 -@@ -7051,6 +7051,7 @@ +diff --git a/src/ex_docmd.c b/src/ex_docmd.c +index 24f80fb..119b8b8 100644 +--- a/src/ex_docmd.c ++++ b/src/ex_docmd.c +@@ -7051,6 +7051,7 @@ ex_shell(eap) || (defined(FEAT_GUI_GTK) && defined(FEAT_DND)) \ || defined(FEAT_GUI_MSWIN) \ || defined(FEAT_GUI_MAC) \ @@ -530,9 +661,10 @@ diff -Naur vim74/src/ex_docmd.c vim74.haiku/src/ex_docmd.c || defined(PROTO) /* -diff -Naur vim74/src/feature.h vim74.haiku/src/feature.h ---- vim74/src/feature.h 2013-05-18 20:18:20.024117248 +0200 -+++ vim74.haiku/src/feature.h 2013-09-08 11:54:33.023855104 +0200 +diff --git a/src/feature.h b/src/feature.h +index d4b9aea..e3b36d8 100644 +--- a/src/feature.h ++++ b/src/feature.h @@ -657,6 +657,14 @@ /* #define FEAT_MBYTE_IME */ # endif @@ -576,7 +708,7 @@ diff -Naur vim74/src/feature.h vim74.haiku/src/feature.h # define FEAT_BROWSE # endif #endif -@@ -817,6 +827,7 @@ +@@ -817,6 +828,7 @@ && defined(HAVE_X11_XPM_H)) \ || defined(FEAT_GUI_GTK) \ || defined(FEAT_GUI_PHOTON) \ @@ -584,7 +716,7 @@ diff -Naur vim74/src/feature.h vim74.haiku/src/feature.h || defined(FEAT_GUI_MSWIN) \ || defined(FEAT_GUI_MAC) # define FEAT_CON_DIALOG -@@ -834,7 +845,8 @@ +@@ -834,7 +846,8 @@ #if defined(FEAT_GUI_DIALOG) && \ (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) \ || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN) \ @@ -594,9 +726,183 @@ diff -Naur vim74/src/feature.h vim74.haiku/src/feature.h # define FEAT_GUI_TEXTDIALOG # ifndef ALWAYS_USE_GUI # define FEAT_CON_DIALOG -diff -Naur vim74/src/gui_haiku.cc vim74.haiku/src/gui_haiku.cc ---- vim74/src/gui_haiku.cc 1970-01-01 01:00:00.000000000 +0100 -+++ vim74.haiku/src/gui_haiku.cc 2013-09-15 22:15:47.316145664 +0200 +diff --git a/src/gui.c b/src/gui.c +index b667ba3..358ee09 100644 +--- a/src/gui.c ++++ b/src/gui.c +@@ -426,7 +426,7 @@ gui_init_check() + gui.menu_width = 0; + # endif + #endif +-#if defined(FEAT_TOOLBAR) && (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA)) ++#if defined(FEAT_TOOLBAR) && (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_HAIKU)) + gui.toolbar_height = 0; + #endif + #if defined(FEAT_FOOTER) && defined(FEAT_GUI_MOTIF) +@@ -1336,10 +1336,10 @@ gui_position_components(total_width) + text_area_y += gui.tabline_height; + #endif + +-#if defined(FEAT_TOOLBAR) && (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA)) ++#if defined(FEAT_TOOLBAR) && (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_HAIKU)) + if (vim_strchr(p_go, GO_TOOLBAR) != NULL) + { +-# ifdef FEAT_GUI_ATHENA ++# if defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_HAIKU) + gui_mch_set_toolbar_pos(0, text_area_y, + gui.menu_width, gui.toolbar_height); + # endif +@@ -1347,6 +1347,13 @@ gui_position_components(total_width) + } + #endif + ++# if defined(FEAT_GUI_TABLINE) && (defined(FEAT_GUI_HAIKU)) ++ gui_mch_set_tabline_pos(0, text_area_y, ++ gui.menu_width, gui.tabline_height); ++ if (gui_has_tabline()) ++ text_area_y += gui.tabline_height; ++#endif ++ + text_area_width = gui.num_cols * gui.char_width + gui.border_offset * 2; + text_area_height = gui.num_rows * gui.char_height + gui.border_offset * 2; + +@@ -1418,7 +1425,7 @@ gui_get_base_height() + # endif + # endif + # if defined(FEAT_GUI_TABLINE) && (defined(FEAT_GUI_MSWIN) \ +- || defined(FEAT_GUI_MOTIF)) ++ || defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_HAIKU)) + if (gui_has_tabline()) + base_height += gui.tabline_height; + # endif +@@ -1461,6 +1468,10 @@ gui_resize_shell(pixel_width, pixel_height) + again: + busy = TRUE; + ++#ifdef FEAT_GUI_HAIKU ++ vim_lock_screen(); ++#endif ++ + /* Flush pending output before redrawing */ + out_flush(); + +@@ -1483,6 +1494,10 @@ again: + || gui.num_rows != Rows || gui.num_cols != Columns) + shell_resized(); + ++#ifdef FEAT_GUI_HAIKU ++ vim_unlock_screen(); ++#endif ++ + gui_update_scrollbars(TRUE); + gui_update_cursor(FALSE, TRUE); + #if defined(FEAT_XIM) && !defined(FEAT_GUI_GTK) +@@ -4238,9 +4253,9 @@ gui_update_scrollbars(force) + y += gui.menu_height; + #endif + +-#if defined(FEAT_TOOLBAR) && (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_ATHENA)) ++#if defined(FEAT_TOOLBAR) && (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_HAIKU)) + if (vim_strchr(p_go, GO_TOOLBAR) != NULL) +-# ifdef FEAT_GUI_ATHENA ++# if defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_HAIKU) + y += gui.toolbar_height; + # else + # ifdef FEAT_GUI_MSWIN +@@ -4249,7 +4264,7 @@ gui_update_scrollbars(force) + # endif + #endif + +-#if defined(FEAT_GUI_TABLINE) && defined(FEAT_GUI_MSWIN) ++#if defined(FEAT_GUI_TABLINE) && (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_HAIKU)) + if (gui_has_tabline()) + y += gui.tabline_height; + #endif +@@ -4994,9 +5009,10 @@ ex_gui(eap) + } + + #if ((defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_W32) \ +- || defined(FEAT_GUI_PHOTON)) && defined(FEAT_TOOLBAR)) || defined(PROTO) ++ || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_HAIKU)) \ ++ && defined(FEAT_TOOLBAR)) || defined(PROTO) + /* +- * This is shared between Athena, Motif and GTK. ++ * This is shared between Athena, Haiku, Motif and GTK. + */ + static void gfp_setname __ARGS((char_u *fname, void *cookie)); + +diff --git a/src/gui.h b/src/gui.h +index 89476c9..7d9336b 100644 +--- a/src/gui.h ++++ b/src/gui.h +@@ -33,6 +33,10 @@ + # include + #endif + ++#ifdef FEAT_GUI_HAIKU ++# include "gui_haiku.h" ++#endif ++ + #ifdef FEAT_GUI_MAC + # include + /*# include */ +@@ -70,7 +74,7 @@ + * GUIs that support dropping files on a running Vim. + */ + #if defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MAC) \ +- || defined(FEAT_GUI_GTK) ++ || defined(FEAT_GUI_HAIKU) || defined(FEAT_GUI_GTK) + # define HAVE_DROP_FILE + #endif + +@@ -203,6 +207,9 @@ typedef struct GuiScrollbar + scroll_shift is set to the number of shifts + to reduce the count. */ + #endif ++#if FEAT_GUI_HAIKU ++ VimScrollBar *id; /* Pointer to real scroll bar */ ++#endif + #ifdef FEAT_GUI_MAC + ControlHandle id; /* A handle to the scrollbar */ + #endif +@@ -403,7 +410,7 @@ typedef struct Gui + + #if defined(FEAT_GUI_TABLINE) \ + && (defined(FEAT_GUI_W32) || defined(FEAT_GUI_MOTIF) \ +- || defined(FEAT_GUI_MAC)) ++ || defined(FEAT_GUI_MAC) || defined(FEAT_GUI_HAIKU)) + int tabline_height; + #endif + +@@ -412,7 +419,7 @@ typedef struct Gui + #endif + + #if defined(FEAT_TOOLBAR) \ +- && (defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_MOTIF)) ++ && (defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_HAIKU)) + int toolbar_height; /* height of the toolbar */ + #endif + +@@ -433,6 +440,14 @@ typedef struct Gui + guicolor_T currSpColor; /* Current special text color */ + #endif + ++#ifdef FEAT_GUI_HAIKU ++ VimApp *vimApp; ++ VimWindow *vimWindow; ++ VimFormView *vimForm; ++ VimTextAreaView *vimTextArea; ++ int vdcmp; /* Vim Direct Communication Message Port */ ++#endif ++ + #ifdef FEAT_GUI_MAC + WindowPtr VimWindow; + MenuHandle MacOSHelpMenu; /* Help menu provided by the MacOS */ +diff --git a/src/gui_haiku.cc b/src/gui_haiku.cc +new file mode 100644 +index 0000000..d86ea61 +--- /dev/null ++++ b/src/gui_haiku.cc @@ -0,0 +1,5252 @@ +/* vi:set ts=8 sts=4 sw=4: + * @@ -5850,9 +6156,11 @@ diff -Naur vim74/src/gui_haiku.cc vim74.haiku/src/gui_haiku.cc +} + +#endif //FEAT_GUI_TABLINE -diff -Naur vim74/src/gui_haiku.h vim74.haiku/src/gui_haiku.h ---- vim74/src/gui_haiku.h 1970-01-01 01:00:00.000000000 +0100 -+++ vim74.haiku/src/gui_haiku.h 2013-09-08 11:04:33.028311552 +0200 +diff --git a/src/gui_haiku.h b/src/gui_haiku.h +new file mode 100644 +index 0000000..414d127 +--- /dev/null ++++ b/src/gui_haiku.h @@ -0,0 +1,51 @@ +/* vi:set ts=8 sts=4 sw=4: + * @@ -5905,289 +6213,10 @@ diff -Naur vim74/src/gui_haiku.h vim74.haiku/src/gui_haiku.h +typedef struct VimScrollBar VimScrollBar; + +#endif -diff -Naur vim74/src/gui.c vim74.haiku/src/gui.c ---- vim74/src/gui.c 2013-06-30 17:41:48.054525952 +0200 -+++ vim74.haiku/src/gui.c 2013-09-08 13:53:34.025952256 +0200 -@@ -426,7 +426,7 @@ - gui.menu_width = 0; - # endif - #endif --#if defined(FEAT_TOOLBAR) && (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA)) -+#if defined(FEAT_TOOLBAR) && (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_HAIKU)) - gui.toolbar_height = 0; - #endif - #if defined(FEAT_FOOTER) && defined(FEAT_GUI_MOTIF) -@@ -1336,10 +1336,10 @@ - text_area_y += gui.tabline_height; - #endif - --#if defined(FEAT_TOOLBAR) && (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA)) -+#if defined(FEAT_TOOLBAR) && (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_HAIKU)) - if (vim_strchr(p_go, GO_TOOLBAR) != NULL) - { --# ifdef FEAT_GUI_ATHENA -+# if defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_HAIKU) - gui_mch_set_toolbar_pos(0, text_area_y, - gui.menu_width, gui.toolbar_height); - # endif -@@ -1347,6 +1347,13 @@ - } - #endif - -+# if defined(FEAT_GUI_TABLINE) && (defined(FEAT_GUI_HAIKU)) -+ gui_mch_set_tabline_pos(0, text_area_y, -+ gui.menu_width, gui.tabline_height); -+ if (gui_has_tabline()) -+ text_area_y += gui.tabline_height; -+#endif -+ - text_area_width = gui.num_cols * gui.char_width + gui.border_offset * 2; - text_area_height = gui.num_rows * gui.char_height + gui.border_offset * 2; - -@@ -1418,7 +1425,7 @@ - # endif - # endif - # if defined(FEAT_GUI_TABLINE) && (defined(FEAT_GUI_MSWIN) \ -- || defined(FEAT_GUI_MOTIF)) -+ || defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_HAIKU)) - if (gui_has_tabline()) - base_height += gui.tabline_height; - # endif -@@ -1461,6 +1468,10 @@ - again: - busy = TRUE; - -+#ifdef FEAT_GUI_HAIKU -+ vim_lock_screen(); -+#endif -+ - /* Flush pending output before redrawing */ - out_flush(); - -@@ -1483,6 +1494,10 @@ - || gui.num_rows != Rows || gui.num_cols != Columns) - shell_resized(); - -+#ifdef FEAT_GUI_HAIKU -+ vim_unlock_screen(); -+#endif -+ - gui_update_scrollbars(TRUE); - gui_update_cursor(FALSE, TRUE); - #if defined(FEAT_XIM) && !defined(FEAT_GUI_GTK) -@@ -4238,9 +4253,9 @@ - y += gui.menu_height; - #endif - --#if defined(FEAT_TOOLBAR) && (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_ATHENA)) -+#if defined(FEAT_TOOLBAR) && (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_HAIKU)) - if (vim_strchr(p_go, GO_TOOLBAR) != NULL) --# ifdef FEAT_GUI_ATHENA -+# if defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_HAIKU) - y += gui.toolbar_height; - # else - # ifdef FEAT_GUI_MSWIN -@@ -4249,7 +4264,7 @@ - # endif - #endif - --#if defined(FEAT_GUI_TABLINE) && defined(FEAT_GUI_MSWIN) -+#if defined(FEAT_GUI_TABLINE) && (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_HAIKU)) - if (gui_has_tabline()) - y += gui.tabline_height; - #endif -@@ -4994,9 +5009,10 @@ - } - - #if ((defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_W32) \ -- || defined(FEAT_GUI_PHOTON)) && defined(FEAT_TOOLBAR)) || defined(PROTO) -+ || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_HAIKU)) \ -+ && defined(FEAT_TOOLBAR)) || defined(PROTO) - /* -- * This is shared between Athena, Motif and GTK. -+ * This is shared between Athena, Haiku, Motif and GTK. - */ - static void gfp_setname __ARGS((char_u *fname, void *cookie)); - -diff -Naur vim74/src/gui.h vim74.haiku/src/gui.h ---- vim74/src/gui.h 2013-06-17 22:22:49.066584576 +0200 -+++ vim74.haiku/src/gui.h 2013-09-08 11:12:43.025952256 +0200 -@@ -33,6 +33,10 @@ - # include - #endif - -+#ifdef FEAT_GUI_HAIKU -+# include "gui_haiku.h" -+#endif -+ - #ifdef FEAT_GUI_MAC - # include - /*# include */ -@@ -70,7 +74,7 @@ - * GUIs that support dropping files on a running Vim. - */ - #if defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MAC) \ -- || defined(FEAT_GUI_GTK) -+ || defined(FEAT_GUI_HAIKU) || defined(FEAT_GUI_GTK) - # define HAVE_DROP_FILE - #endif - -@@ -203,6 +207,9 @@ - scroll_shift is set to the number of shifts - to reduce the count. */ - #endif -+#if FEAT_GUI_HAIKU -+ VimScrollBar *id; /* Pointer to real scroll bar */ -+#endif - #ifdef FEAT_GUI_MAC - ControlHandle id; /* A handle to the scrollbar */ - #endif -@@ -403,7 +410,7 @@ - - #if defined(FEAT_GUI_TABLINE) \ - && (defined(FEAT_GUI_W32) || defined(FEAT_GUI_MOTIF) \ -- || defined(FEAT_GUI_MAC)) -+ || defined(FEAT_GUI_MAC) || defined(FEAT_GUI_HAIKU)) - int tabline_height; - #endif - -@@ -412,7 +419,7 @@ - #endif - - #if defined(FEAT_TOOLBAR) \ -- && (defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_MOTIF)) -+ && (defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_HAIKU)) - int toolbar_height; /* height of the toolbar */ - #endif - -@@ -433,6 +440,14 @@ - guicolor_T currSpColor; /* Current special text color */ - #endif - -+#ifdef FEAT_GUI_HAIKU -+ VimApp *vimApp; -+ VimWindow *vimWindow; -+ VimFormView *vimForm; -+ VimTextAreaView *vimTextArea; -+ int vdcmp; /* Vim Direct Communication Message Port */ -+#endif -+ - #ifdef FEAT_GUI_MAC - WindowPtr VimWindow; - MenuHandle MacOSHelpMenu; /* Help menu provided by the MacOS */ -diff -Naur vim74/src/Makefile vim74.haiku/src/Makefile ---- vim74/src/Makefile 2013-08-10 14:21:15.034078720 +0200 -+++ vim74.haiku/src/Makefile 2013-09-12 20:30:02.171180032 +0200 -@@ -1289,6 +1289,23 @@ - APPDIR = $(VIMNAME).app - CARBONGUI_TESTARG = VIMPROG=../$(APPDIR)/Contents/MacOS/$(VIMTARGET) - -+### Haiku GUI -+HAIKUGUI_SRC = gui.c gui_haiku.cc pty.c -+HAIKUGUI_OBJ = objects/gui.o objects/gui_haiku.o objects/pty.o -+HAIKUGUI_DEFS = -DFEAT_GUI_HAIKU -+HAIKUGUI_IPATH = -+HAIKUGUI_LIBS_DIR = -+HAIKUGUI_LIBS1 = -lbe -lroot -ltracker -ltranslation -+ifeq ($(strip $(word 1, $(subst -, , $(subst ., , $(shell $(CC) -dumpversion))))), 4) -+HAIKUGUI_LIBS1 += -lsupc++ -+endif -+HAIKUGUI_LIBS2 = -+HAIKUGUI_INSTALL = install_normal install_haiku_extra -+HAIKUGUI_TARGETS = installglinks_haiku -+HAIKUGUI_MAN_TARGETS = -+HAIKUGUI_TESTTARGET = gui -+HAIKUGUI_BUNDLE = -+ - # All GUI files - ALL_GUI_SRC = gui.c gui_gtk.c gui_gtk_f.c gui_motif.c gui_xmdlg.c gui_xmebw.c gui_athena.c gui_gtk_x11.c gui_x11.c gui_at_sb.c gui_at_fs.c pty.c - ALL_GUI_PRO = gui.pro gui_gtk.pro gui_motif.pro gui_xmdlg.pro gui_athena.pro gui_gtk_x11.pro gui_x11.pro gui_w16.pro gui_w32.pro gui_photon.pro -@@ -2559,6 +2576,9 @@ - objects/gui_gtk_x11.o: gui_gtk_x11.c - $(CCC) -o $@ gui_gtk_x11.c - -+objects/gui_haiku.o: gui_haiku.cc -+ $(CCC) -o $@ gui_haiku.cc -+ - objects/gui_motif.o: gui_motif.c - $(CCC) -o $@ gui_motif.c - -@@ -2669,6 +2689,9 @@ - objects/os_beos.o: os_beos.c - $(CCC) -o $@ os_beos.c - -+objects/os_haiku.rsrc: os_haiku.rdef -+ cat $< | $(CCC) -E - | grep -v '^#' | rc -o "$@" - -+ - objects/os_qnx.o: os_qnx.c - $(CCC) -o $@ os_qnx.c - -@@ -2828,6 +2851,62 @@ - - - ############################################################################### -+### -+### Haiku installation -+### -+### This rule: -+### - add resources to already installed vim binary to avoid stripping -+### them during install; -+### - copy rgb.txt to runtime directory; -+### - update system MIME database with info about vim application. -+### -+install_haiku_extra: $(DEST_BIN)/$(VIMTARGET) objects/os_haiku.rsrc -+ xres -o $(DEST_BIN)/$(VIMTARGET) objects/os_haiku.rsrc -+ $(INSTALL_DATA) $(SCRIPTSOURCE)/rgb.txt $(DEST_RT) -+ mimeset $(DEST_BIN)/$(VIMTARGET) -+ -+### -+### List of g*-links that should be replaced with shell script equivalents. -+### This solves the problem of them from Tracker. -+### -+HAIKU_GLINKS = $(DEST_BIN)/$(GVIMTARGET) \ -+ $(DEST_BIN)/$(GVIEWTARGET) \ -+ $(DEST_BIN)/$(GVIMDIFFTARGET) \ -+ $(DEST_BIN)/$(RGVIMTARGET) \ -+ $(DEST_BIN)/$(RGVIEWTARGET) -+### -+### This rule: -+### - Replace gvim link with copy of vim binary. -+### - Replace g*-links with shell script equivalents to solve the problem -+### of calling them from Tracker, -+### - Add icon resources to mentioned g*-link shell scripts -+### - in case gui-less vim.con executable available use it. -+### -+installglinks_haiku: $(HAIKU_GLINKS) install_haiku_extra -+ @catattr -r "BEOS:ICON" $(DEST_BIN)/$(GVIMTARGET) > ~icon.attr -+ for i in $(HAIKU_GLINKS); do \ -+ rm $$i ; \ -+ echo "#!/bin/sh" > $$i ; \ -+ case $$i in \ -+ $(DEST_BIN)/$(GVIMTARGET)) \ -+ cp $(DEST_BIN)/$(VIMTARGET) $$i ; \ -+ if [ -f $(VIMTARGET).con ] ; then \ -+ $(STRIP) $(VIMTARGET).con ; \ -+ mv $(VIMTARGET).con $(DEST_BIN)/$(VIMTARGET) ; \ -+ fi ;; \ -+ $(DEST_BIN)/$(GVIEWTARGET)) printf "%s -R %c%c" $(GVIMTARGET) '$$' '*' >> $$i;; \ -+ $(DEST_BIN)/$(GVIMDIFFTARGET)) printf "%s -d %c%c" $(GVIMTARGET) '$$' '*' >> $$i;; \ -+ $(DEST_BIN)/$(RGVIMTARGET)) printf "%s -Z %c%c" $(GVIMTARGET) '$$' '*' >> $$i;; \ -+ $(DEST_BIN)/$(RGVIEWTARGET)) printf "%s -Z -R %c%c" $(GVIMTARGET) '$$' '*' >> $$i;; \ -+ *) printf "%s %c%c" $(GVIMTARGET) '$$' '*' >> $$i;; \ -+ esac ; \ -+ chmod $(BINMOD) $$i ; \ -+ addattr -f ~icon.attr -t \'VICN\' BEOS:ICON $$i ; \ -+ done -+ addattr -f ~icon.attr -t \'VICN\' BEOS:ICON $(DEST_BIN)/$(VIMNAME)tutor -+ @rm ~icon.attr -+ -+############################################################################### - ### (automatically generated by 'make depend') - ### Dependencies: - objects/blowfish.o: blowfish.c vim.h auto/config.h feature.h os_unix.h \ -diff -Naur vim74/src/misc1.c vim74.haiku/src/misc1.c ---- vim74/src/misc1.c 2013-08-03 17:29:33.031981568 +0200 -+++ vim74.haiku/src/misc1.c 2013-09-08 10:34:11.039059456 +0200 +diff --git a/src/misc1.c b/src/misc1.c +index fd5d1fd..d9df41b 100644 +--- a/src/misc1.c ++++ b/src/misc1.c @@ -14,6 +14,10 @@ #include "vim.h" #include "version.h" @@ -6199,7 +6228,7 @@ diff -Naur vim74/src/misc1.c vim74.haiku/src/misc1.c static char_u *vim_version_dir __ARGS((char_u *vimdir)); static char_u *remove_tail __ARGS((char_u *p, char_u *pend, char_u *name)); #if defined(FEAT_CMDL_COMPL) -@@ -4179,7 +4183,16 @@ +@@ -4179,7 +4183,16 @@ vim_getenv(name, mustfree) vimruntime = (STRCMP(name, "VIMRUNTIME") == 0); if (!vimruntime && STRCMP(name, "VIM") != 0) @@ -6217,10 +6246,11 @@ diff -Naur vim74/src/misc1.c vim74.haiku/src/misc1.c /* * When expanding $VIMRUNTIME fails, try using $VIM/vim or $VIM. -diff -Naur vim74/src/normal.c vim74.haiku/src/normal.c ---- vim74/src/normal.c 2013-07-14 13:24:37.040108032 +0200 -+++ vim74.haiku/src/normal.c 2013-09-10 21:55:35.962330624 +0200 -@@ -2750,13 +2750,14 @@ +diff --git a/src/normal.c b/src/normal.c +index 80ada68..f77d52b 100644 +--- a/src/normal.c ++++ b/src/normal.c +@@ -2750,13 +2750,14 @@ do_mouse(oap, c, dir, count, fixindent) if (!is_click) return FALSE; #endif @@ -6237,9 +6267,10 @@ diff -Naur vim74/src/normal.c vim74.haiku/src/normal.c if (gui.in_use) { jump_flags = 0; -diff -Naur vim74/src/option.h vim74.haiku/src/option.h ---- vim74/src/option.h 2013-06-26 18:41:39.057147392 +0200 -+++ vim74.haiku/src/option.h 2013-09-08 10:40:12.042467328 +0200 +diff --git a/src/option.h b/src/option.h +index 167b562..36ace22 100644 +--- a/src/option.h ++++ b/src/option.h @@ -10,6 +10,8 @@ * option.h: definition of global variables for settable options */ @@ -6249,14 +6280,16 @@ diff -Naur vim74/src/option.h vim74.haiku/src/option.h /* * Default values for 'errorformat'. * The "%f|%l| %m" one is used for when the contents of the quickfix window is -@@ -1109,3 +1111,4 @@ +@@ -1109,3 +1111,4 @@ enum , WV_WRAP , WV_COUNT /* must be the last one */ }; +#endif //_OPTION_H_ -diff -Naur vim74/src/os_haiku.h vim74.haiku/src/os_haiku.h ---- vim74/src/os_haiku.h 1970-01-01 01:00:00.000000000 +0100 -+++ vim74.haiku/src/os_haiku.h 2013-09-10 21:55:56.656670720 +0200 +diff --git a/src/os_haiku.h b/src/os_haiku.h +new file mode 100644 +index 0000000..c9bfe75 +--- /dev/null ++++ b/src/os_haiku.h @@ -0,0 +1,29 @@ +/* vi:set ts=8 sts=4 sw=4: + * @@ -6287,9 +6320,11 @@ diff -Naur vim74/src/os_haiku.h vim74.haiku/src/os_haiku.h +# define DFLT_RUNTIMEPATH USR_VIM_DIR "/vimfiles," "$VIM/vimfiles" \ + ",$VIMRUNTIME," "$VIM/vimfiles/after," USR_VIM_DIR "/vimfiles/after" +#endif -diff -Naur vim74/src/os_haiku.rdef vim74.haiku/src/os_haiku.rdef ---- vim74/src/os_haiku.rdef 1970-01-01 01:00:00.000000000 +0100 -+++ vim74.haiku/src/os_haiku.rdef 2013-09-12 20:47:39.818151424 +0200 +diff --git a/src/os_haiku.rdef b/src/os_haiku.rdef +new file mode 100644 +index 0000000..215269e +--- /dev/null ++++ b/src/os_haiku.rdef @@ -0,0 +1,143 @@ +/* + * os_haiku.rdef @@ -6434,10 +6469,11 @@ diff -Naur vim74/src/os_haiku.rdef vim74.haiku/src/os_haiku.rdef + $"4CFAEF79764372DC201F65AC97B792C14FE6F387DBB4F83918273C6E9B866FD9" + $"FF17F6CF36F92F1B9E631E8B8F3FBC0000000049454E44AE426082" +}; -diff -Naur vim74/src/os_unix.c vim74.haiku/src/os_unix.c ---- vim74/src/os_unix.c 2013-07-03 16:32:32.020709376 +0200 -+++ vim74.haiku/src/os_unix.c 2013-09-11 21:47:52.978059264 +0200 -@@ -2092,7 +2092,7 @@ +diff --git a/src/os_unix.c b/src/os_unix.c +index 37cc3a7..ea205aa 100644 +--- a/src/os_unix.c ++++ b/src/os_unix.c +@@ -2092,7 +2092,7 @@ mch_settitle(title, icon) if (get_x11_windis() == OK) type = 1; #else @@ -6446,7 +6482,7 @@ diff -Naur vim74/src/os_unix.c vim74.haiku/src/os_unix.c if (gui.in_use) type = 1; # endif -@@ -2120,7 +2120,7 @@ +@@ -2120,7 +2120,7 @@ mch_settitle(title, icon) # endif set_x11_title(title); /* x11 */ #endif @@ -6455,7 +6491,7 @@ diff -Naur vim74/src/os_unix.c vim74.haiku/src/os_unix.c || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MAC) else gui_mch_settitle(title, icon); -@@ -4153,7 +4153,7 @@ +@@ -4153,7 +4153,7 @@ mch_call_shell(cmd, options) if (!pipe_error) /* pty or pipe opened or not used */ { @@ -6464,10 +6500,11 @@ diff -Naur vim74/src/os_unix.c vim74.haiku/src/os_unix.c beos_cleanup_read_thread(); # endif -diff -Naur vim74/src/os_unix.h vim74.haiku/src/os_unix.h ---- vim74/src/os_unix.h 2013-06-12 20:09:44.053477376 +0200 -+++ vim74.haiku/src/os_unix.h 2013-09-08 10:53:04.045875200 +0200 -@@ -416,6 +416,8 @@ +diff --git a/src/os_unix.h b/src/os_unix.h +index 02eeafc..d4bfa37 100644 +--- a/src/os_unix.h ++++ b/src/os_unix.h +@@ -416,6 +416,8 @@ typedef struct dsc$descriptor DESC; #define DFLT_ERRORFILE "errors.err" @@ -6476,7 +6513,7 @@ diff -Naur vim74/src/os_unix.h vim74.haiku/src/os_unix.h #ifdef OS2 # define DFLT_RUNTIMEPATH "$HOME/vimfiles,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,$HOME/vimfiles/after" #else -@@ -430,6 +432,8 @@ +@@ -430,6 +432,8 @@ typedef struct dsc$descriptor DESC; # endif #endif @@ -6485,9 +6522,25 @@ diff -Naur vim74/src/os_unix.h vim74.haiku/src/os_unix.h #ifdef OS2 /* * Try several directories to put the temp files. -diff -Naur vim74/src/proto/gui_haiku.pro vim74.haiku/src/proto/gui_haiku.pro ---- vim74/src/proto/gui_haiku.pro 1970-01-01 01:00:00.000000000 +0100 -+++ vim74.haiku/src/proto/gui_haiku.pro 2013-09-13 21:09:33.540278784 +0200 +diff --git a/src/proto.h b/src/proto.h +index 191ecd8..0f86933 100644 +--- a/src/proto.h ++++ b/src/proto.h +@@ -238,6 +238,9 @@ extern char_u *vimpty_getenv __ARGS((const char_u *string)); /* from pty.c */ + extern char *vim_SelFile __ARGS((Widget toplevel, char *prompt, char *init_path, int (*show_entry)(), int x, int y, guicolor_T fg, guicolor_T bg, guicolor_T scroll_fg, guicolor_T scroll_bg)); + # endif + # endif ++# ifdef FEAT_GUI_HAIKU ++# include "gui_haiku.pro" ++# endif + # ifdef FEAT_GUI_MAC + # include "gui_mac.pro" + # endif +diff --git a/src/proto/gui_haiku.pro b/src/proto/gui_haiku.pro +new file mode 100644 +index 0000000..43b12ed +--- /dev/null ++++ b/src/proto/gui_haiku.pro @@ -0,0 +1,91 @@ +/* gui_haiku.cc - hand crafted */ +void gui_mch_prepare __ARGS((int *argc, char **argv)); @@ -6580,23 +6633,11 @@ diff -Naur vim74/src/proto/gui_haiku.pro vim74.haiku/src/proto/gui_haiku.pro +void gui_mch_update_tabline __ARGS((void)); +void gui_mch_set_curtab __ARGS((int nr)); +// char_u *gui_mch_font_dialog __ARGS((char_u *oldval)); -diff -Naur vim74/src/proto.h vim74.haiku/src/proto.h ---- vim74/src/proto.h 2013-02-26 14:18:19.015990784 +0100 -+++ vim74.haiku/src/proto.h 2013-09-10 20:20:53.868483072 +0200 -@@ -238,6 +238,9 @@ - extern char *vim_SelFile __ARGS((Widget toplevel, char *prompt, char *init_path, int (*show_entry)(), int x, int y, guicolor_T fg, guicolor_T bg, guicolor_T scroll_fg, guicolor_T scroll_bg)); - # endif - # endif -+# ifdef FEAT_GUI_HAIKU -+# include "gui_haiku.pro" -+# endif - # ifdef FEAT_GUI_MAC - # include "gui_mac.pro" - # endif -diff -Naur vim74/src/pty.c vim74.haiku/src/pty.c ---- vim74/src/pty.c 2012-01-20 21:07:56.056623104 +0100 -+++ vim74.haiku/src/pty.c 2013-09-08 10:58:43.004980736 +0200 -@@ -356,7 +356,7 @@ +diff --git a/src/pty.c b/src/pty.c +index 4dad54c..08082ff 100644 +--- a/src/pty.c ++++ b/src/pty.c +@@ -356,7 +356,7 @@ OpenPTY(ttyn) static char PtyProto[] = "/dev/ptym/ptyXY"; static char TtyProto[] = "/dev/pty/ttyXY"; # else @@ -6605,10 +6646,11 @@ diff -Naur vim74/src/pty.c vim74.haiku/src/pty.c static char PtyProto[] = "/dev/pt/XY"; static char TtyProto[] = "/dev/tt/XY"; # else -diff -Naur vim74/src/screen.c vim74.haiku/src/screen.c ---- vim74/src/screen.c 2013-07-13 12:23:00.031457280 +0200 -+++ vim74.haiku/src/screen.c 2013-09-08 13:30:04.007077888 +0200 -@@ -8167,6 +8167,10 @@ +diff --git a/src/screen.c b/src/screen.c +index a72ecaf..601320d 100644 +--- a/src/screen.c ++++ b/src/screen.c +@@ -8167,6 +8167,10 @@ retry: win_new_shellsize(); /* fit the windows in the new sized shell */ @@ -6619,7 +6661,7 @@ diff -Naur vim74/src/screen.c vim74.haiku/src/screen.c comp_col(); /* recompute columns for shown command and ruler */ /* -@@ -8410,6 +8414,10 @@ +@@ -8410,6 +8414,10 @@ give_up: } #endif @@ -6630,7 +6672,7 @@ diff -Naur vim74/src/screen.c vim74.haiku/src/screen.c entered = FALSE; --RedrawingDisabled; -@@ -9273,6 +9281,10 @@ +@@ -9273,6 +9281,10 @@ screen_ins_lines(off, row, line_count, end, wp) clip_scroll_selection(-line_count); #endif @@ -6641,7 +6683,7 @@ diff -Naur vim74/src/screen.c vim74.haiku/src/screen.c #ifdef FEAT_GUI /* Don't update the GUI cursor here, ScreenLines[] is invalid until the * scrolling is actually carried out. */ -@@ -9325,6 +9337,10 @@ +@@ -9325,6 +9337,10 @@ screen_ins_lines(off, row, line_count, end, wp) } } @@ -6652,7 +6694,7 @@ diff -Naur vim74/src/screen.c vim74.haiku/src/screen.c screen_stop_highlight(); windgoto(cursor_row, 0); -@@ -9494,6 +9510,10 @@ +@@ -9494,6 +9510,10 @@ screen_del_lines(off, row, line_count, end, force, wp) clip_scroll_selection(line_count); #endif @@ -6663,7 +6705,7 @@ diff -Naur vim74/src/screen.c vim74.haiku/src/screen.c #ifdef FEAT_GUI /* Don't update the GUI cursor here, ScreenLines[] is invalid until the * scrolling is actually carried out. */ -@@ -9553,6 +9573,10 @@ +@@ -9553,6 +9573,10 @@ screen_del_lines(off, row, line_count, end, force, wp) } } @@ -6674,10 +6716,11 @@ diff -Naur vim74/src/screen.c vim74.haiku/src/screen.c screen_stop_highlight(); #ifdef FEAT_VERTSPLIT -diff -Naur vim74/src/structs.h vim74.haiku/src/structs.h ---- vim74/src/structs.h 2013-07-03 15:35:59.052166656 +0200 -+++ vim74.haiku/src/structs.h 2013-09-08 11:00:02.008650752 +0200 -@@ -2415,6 +2415,13 @@ +diff --git a/src/structs.h b/src/structs.h +index f74d218..51c763c 100644 +--- a/src/structs.h ++++ b/src/structs.h +@@ -2415,6 +2415,13 @@ struct VimMenu HMENU submenu_id; /* If this is submenu, add children here */ HWND tearoff_handle; /* hWnd of tearoff if created */ #endif @@ -6691,10 +6734,11 @@ diff -Naur vim74/src/structs.h vim74.haiku/src/structs.h #ifdef FEAT_GUI_MAC /* MenuHandle id; */ /* short index; */ /* the item index within the father menu */ -diff -Naur vim74/src/term.c vim74.haiku/src/term.c ---- vim74/src/term.c 2013-07-04 22:29:28.027262976 +0200 -+++ vim74.haiku/src/term.c 2013-09-08 11:00:43.010485760 +0200 -@@ -1382,6 +1382,11 @@ +diff --git a/src/term.c b/src/term.c +index d4e4e0d..4180726 100644 +--- a/src/term.c ++++ b/src/term.c +@@ -1382,6 +1382,11 @@ static struct builtin_term builtin_termcaps[] = # define DEFAULT_TERM (char_u *)"beos-ansi" #endif @@ -6706,10 +6750,11 @@ diff -Naur vim74/src/term.c vim74.haiku/src/term.c #ifndef DEFAULT_TERM # define DEFAULT_TERM (char_u *)"dumb" #endif -diff -Naur vim74/src/ui.c vim74.haiku/src/ui.c ---- vim74/src/ui.c 2013-07-13 20:57:08.021495808 +0200 -+++ vim74.haiku/src/ui.c 2013-09-10 22:29:30.828637184 +0200 -@@ -3109,7 +3109,7 @@ +diff --git a/src/ui.c b/src/ui.c +index 18021c2..0d1461f 100644 +--- a/src/ui.c ++++ b/src/ui.c +@@ -3109,7 +3109,7 @@ mouse_find_win(rowp, colp) #if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MAC) \ || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_MSWIN) \ @@ -6718,10 +6763,11 @@ diff -Naur vim74/src/ui.c vim74.haiku/src/ui.c /* * Translate window coordinates to buffer position without any side effects */ -diff -Naur vim74/src/version.c vim74.haiku/src/version.c ---- vim74/src/version.c 2013-08-10 13:29:20.000786432 +0200 -+++ vim74.haiku/src/version.c 2013-09-08 11:03:25.036438016 +0200 -@@ -1029,6 +1029,9 @@ +diff --git a/src/version.c b/src/version.c +index f063557..5bcacf6 100644 +--- a/src/version.c ++++ b/src/version.c +@@ -1029,6 +1029,9 @@ list_version() MSG_PUTS(_("with X11-Athena GUI.")); # endif # else @@ -6731,7 +6777,7 @@ diff -Naur vim74/src/version.c vim74.haiku/src/version.c # ifdef FEAT_GUI_PHOTON MSG_PUTS(_("with Photon GUI.")); # else -@@ -1046,6 +1049,7 @@ +@@ -1046,6 +1049,7 @@ list_version() # endif # endif # endif @@ -6739,9 +6785,10 @@ diff -Naur vim74/src/version.c vim74.haiku/src/version.c # endif # endif # endif -diff -Naur vim74/src/vim.h vim74.haiku/src/vim.h ---- vim74/src/vim.h 2013-08-02 16:02:27.018350080 +0200 -+++ vim74.haiku/src/vim.h 2013-09-10 20:20:34.087556096 +0200 +diff --git a/src/vim.h b/src/vim.h +index 3d61f3a..e67c318 100644 +--- a/src/vim.h ++++ b/src/vim.h @@ -123,6 +123,7 @@ || defined(FEAT_GUI_MAC) \ || defined(FEAT_GUI_W32) \ @@ -6762,7 +6809,7 @@ diff -Naur vim74/src/vim.h vim74.haiku/src/vim.h #if (defined(UNIX) || defined(__EMX__) || defined(VMS)) \ && (!defined(MACOS_X) || defined(HAVE_CONFIG_H)) # include "os_unix.h" /* bring lots of system header files */ -@@ -1927,6 +1933,9 @@ +@@ -1927,6 +1933,9 @@ typedef struct VimClipboard int_u format; /* Vim's own special clipboard format */ int_u format_raw; /* Vim's raw text clipboard format */ # endif @@ -6772,3 +6819,106 @@ diff -Naur vim74/src/vim.h vim74.haiku/src/vim.h } VimClipboard; #else typedef int VimClipboard; /* This is required for the prototypes. */ +-- +1.8.3.4 + + +From fca8d5b58af9ff0b8568700c336e7e94d63be93c Mon Sep 17 00:00:00 2001 +From: Ezodev +Date: Tue, 2 Dec 2014 16:08:06 +0000 +Subject: Creating vim config directory on viminfo write + + +diff --git a/src/ex_cmds.c b/src/ex_cmds.c +index b79a259..e0ac11a 100644 +--- a/src/ex_cmds.c ++++ b/src/ex_cmds.c +@@ -14,6 +14,9 @@ + #include "vim.h" + #include "version.h" + ++#include ++#include ++ + #ifdef FEAT_EX_EXTRA + static int linelen __ARGS((int *has_tab)); + #endif +@@ -1753,7 +1756,8 @@ write_viminfo(file, forceit) + #ifdef WIN3264 + long perm = -1; + #endif +- ++ char* filenameSeparatorPos; ++ + if (no_viminfo()) + return; + +@@ -1761,6 +1765,18 @@ write_viminfo(file, forceit) + if (fname == NULL) + return; + ++ /* Ensure that configuration folder(for viminfo) exist */ ++ filenameSeparatorPos = strrchr(fname, '/'); ++ if(filenameSeparatorPos - fname > 1) { ++ // > 1 because root directory always exists anyway ++ *filenameSeparatorPos = '\0'; ++ // +Date: Tue, 2 Dec 2014 16:50:57 +0000 +Subject: Fixed types conflict(pointers) + + +diff --git a/src/ex_cmds.c b/src/ex_cmds.c +index e0ac11a..6d8de17 100644 +--- a/src/ex_cmds.c ++++ b/src/ex_cmds.c +@@ -1767,7 +1767,7 @@ write_viminfo(file, forceit) + + /* Ensure that configuration folder(for viminfo) exist */ + filenameSeparatorPos = strrchr(fname, '/'); +- if(filenameSeparatorPos - fname > 1) { ++ if(filenameSeparatorPos - (char*)fname > 1) { + // > 1 because root directory always exists anyway + *filenameSeparatorPos = '\0'; + // +Date: Tue, 2 Dec 2014 17:08:24 +0000 +Subject: fixed case where patch constains only filename + + +diff --git a/src/ex_cmds.c b/src/ex_cmds.c +index 6d8de17..4a96e7e 100644 +--- a/src/ex_cmds.c ++++ b/src/ex_cmds.c +@@ -1767,7 +1767,8 @@ write_viminfo(file, forceit) + + /* Ensure that configuration folder(for viminfo) exist */ + filenameSeparatorPos = strrchr(fname, '/'); +- if(filenameSeparatorPos - (char*)fname > 1) { ++ if(filenameSeparatorPos != NULL && ++ filenameSeparatorPos - (char*)fname > 1) { + // > 1 because root directory always exists anyway + *filenameSeparatorPos = '\0'; + // +Date: Tue, 2 Dec 2014 14:59:12 +0300 +Subject: Haiku support + + +diff --git a/Config.kmk b/Config.kmk +index 738c808..8a4d0af 100644 +--- a/Config.kmk ++++ b/Config.kmk +@@ -1372,7 +1372,7 @@ ifndef VBOX_GCC_TOOL VBOX_GCC_TOOL := GXX4MACHO else ifeq ($(KBUILD_TARGET),haiku) # Haiku shouldn't pass '-r' to the linker by default @@ -11,7 +17,7 @@ Index: trunk/Config.kmk else ifeq ($(KBUILD_TARGET),solaris) VBOX_GCC_TOOL := GXX3PLAIN VBOX_GCC32_TOOL := GXX3PLAIN -@@ -1506,8 +1506,14 @@ +@@ -1513,8 +1513,14 @@ VBOX_GCC_WARN_PEDANTIC = -Wshadow $(VBOX_GCC_WARN) -Wno-long-long ifdef VBOX_WITH_MASOCHISTIC_WARNINGS VBOX_GCC_WARN_PEDANTIC += -Wunused-variable -Wunused-function -Wunused-label -Wunused-parameter endif @@ -28,7 +34,7 @@ Index: trunk/Config.kmk ifeq ($(KBUILD_TARGET),win) VBOX_C_CXX_FLAGS_NO_UNUSED_PARAMETERS = #-Wdxxxx else -@@ -2771,17 +2777,18 @@ +@@ -2842,17 +2848,18 @@ ifeq ($(KBUILD_HOST),haiku) # @param 1 The file to add resources to. # @param 2 The resource files. # @param 3 The target name. @@ -56,7 +62,7 @@ Index: trunk/Config.kmk VBOX_HAIKU_XRES_SETVER_CMDS ?= $(if $(eq $(tool_do),LINK_PROGRAM),$(call VBOX_HAIKU_XRES_SETVER_FN,$(out),$($(target)_RSRCS),$(target)),) endif -@@ -3508,7 +3515,7 @@ +@@ -3598,7 +3605,7 @@ endif # FreeBSD ifeq ($(KBUILD_TARGET),haiku) ## The Haiku include directories @@ -65,7 +71,7 @@ Index: trunk/Config.kmk TEMPLATE_VBOXR0DRV_TOOL = $(VBOX_GCC_TOOL) TEMPLATE_VBOXR0DRV_LDTOOL = $(VBOX_GCC_TOOL) -@@ -3519,13 +3526,13 @@ +@@ -3609,13 +3616,13 @@ TEMPLATE_VBOXR0DRV_LDFLAGS = -shared -no-undefined -dc -dy -lroot -r TEMPLATE_VBOXR0DRV_CFLAGS = -fno-PIC \ $(VBOX_GCC_WARN) -Wstrict-prototypes $(VBOX_GCC_Wno-pointer-sign) -Wno-sign-compare \ $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration @@ -82,7 +88,7 @@ Index: trunk/Config.kmk -Wformat \ -O2 -nodefaultlibs -fno-omit-frame-pointer -fno-strict-aliasing -fno-common -fno-exceptions -fno-rtti TEMPLATE_VBOXR0DRV_CXXFLAGS.x86 = $(TEMPLATE_VBOXR0DRV_CFLAGS.x86) -fno-exceptions -fno-rtti -@@ -3628,7 +3635,9 @@ +@@ -3723,7 +3730,9 @@ ifeq ($(KBUILD_TARGET),win) else # the gcc guys TEMPLATE_VBOXR3EXE_TOOL = $(VBOX_GCC_TOOL) TEMPLATE_VBOXR3EXE_CXXFLAGS = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_OPT) $(VBOX_GCC_FP) -fno-strict-aliasing $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_fvisibility-inlines-hidden) @@ -92,7 +98,7 @@ Index: trunk/Config.kmk TEMPLATE_VBOXR3EXE_CXXFLAGS.amd64 = -m64 TEMPLATE_VBOXR3EXE_CXXFLAGS.sparc32 = -m32 TEMPLATE_VBOXR3EXE_CXXFLAGS.sparc64 = -m64 -@@ -3650,7 +3659,9 @@ +@@ -3745,7 +3754,9 @@ TEMPLATE_VBOXR3EXE_OBJCXXFLAGS.x86 = $(TEMPLATE_VBOXR3EXE_CXXFLAGS.x86) TEMPLATE_VBOXR3EXE_OBJCXXFLAGS.amd64 = $(TEMPLATE_VBOXR3EXE_CXXFLAGS.amd64) TEMPLATE_VBOXR3EXE_OBJCXXFLAGS.debug = $(TEMPLATE_VBOXR3EXE_CXXFLAGS.debug) TEMPLATE_VBOXR3EXE_OBJCXXFLAGS.kprofile= $(TEMPLATE_VBOXR3EXE_CXXFLAGS.kprofile) @@ -102,7 +108,7 @@ Index: trunk/Config.kmk TEMPLATE_VBOXR3EXE_LDFLAGS.amd64 = -m64 TEMPLATE_VBOXR3EXE_LDFLAGS.sparc32 = -m32 TEMPLATE_VBOXR3EXE_LDFLAGS.sparc64 = -m64 -@@ -3676,9 +3687,11 @@ +@@ -3771,9 +3782,11 @@ TEMPLATE_VBOXR3EXE_LDFLAGS.darwin.x86 = -read_only_relocs suppress TEMPLATE_VBOXR3EXE_CXXFLAGS := $(filter-out -pedantic,$(TEMPLATE_VBOXR3EXE_CXXFLAGS)) -fdollars-in-identifiers # annoying gcc option precedence. endif else ifeq ($(KBUILD_TARGET),haiku) @@ -116,7 +122,7 @@ Index: trunk/Config.kmk TEMPLATE_VBOXR3EXE_LIBPATH += \ /boot/common/lib # Haiku uses PIC by default... -@@ -4887,7 +4900,9 @@ +@@ -5024,7 +5037,9 @@ else # (gcc of some kind ) TEMPLATE_VBoxBldProg_TOOL = GXX3 TEMPLATE_VBoxBldProg_CFLAGS = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) @@ -126,7 +132,7 @@ Index: trunk/Config.kmk TEMPLATE_VBoxBldProg_CFLAGS.sparc32 = -m32 TEMPLATE_VBoxBldProg_CFLAGS.amd64 = -m64 TEMPLATE_VBoxBldProg_CFLAGS.sparc64 = -m64 -@@ -4895,7 +4910,9 @@ +@@ -5032,7 +5047,9 @@ TEMPLATE_VBoxBldProg_CFLAGS.release = -O2 -fno-omit-frame-pointer -fno-stri TEMPLATE_VBoxBldProg_CFLAGS.profile = $(TEMPLATE_VBoxBldProg_CXXFLAGS.profile) TEMPLATE_VBoxBldProg_CFLAGS.kprofile = $(TEMPLATE_VBoxBldProg_CXXFLAGS.kprofile) TEMPLATE_VBoxBldProg_CXXFLAGS = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) @@ -136,7 +142,7 @@ Index: trunk/Config.kmk TEMPLATE_VBoxBldProg_CXXFLAGS.sparc32 = -m32 TEMPLATE_VBoxBldProg_CXXFLAGS.amd64 = -m64 TEMPLATE_VBoxBldProg_CXXFLAGS.sparc64 = -m64 -@@ -4914,7 +4931,9 @@ +@@ -5051,7 +5068,9 @@ TEMPLATE_VBoxBldProg_OBJCXXFLAGS.amd64 = $(TEMPLATE_VBoxBldProg_CXXFLAGS.amd64 TEMPLATE_VBoxBldProg_OBJCXXFLAGS.release = $(TEMPLATE_VBoxBldProg_CXXFLAGS.release) TEMPLATE_VBoxBldProg_OBJCXXFLAGS.profile = $(TEMPLATE_VBoxBldProg_CXXFLAGS.profile) TEMPLATE_VBoxBldProg_OBJCXXFLAGS.kprofile= $(TEMPLATE_VBoxBldProg_CXXFLAGS.kprofile) @@ -146,7 +152,7 @@ Index: trunk/Config.kmk TEMPLATE_VBoxBldProg_LDFLAGS.sparc32 = -m32 TEMPLATE_VBoxBldProg_LDFLAGS.amd64 = -m64 TEMPLATE_VBoxBldProg_LDFLAGS.sparc64 = -m64 -@@ -4956,7 +4975,7 @@ +@@ -5093,7 +5112,7 @@ TEMPLATE_VBoxBldProg_LDFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_LDFLAGS) endif TEMPLATE_VBoxBldProg_LIBS = else ifeq ($(KBUILD_HOST),haiku) @@ -155,970 +161,11 @@ Index: trunk/Config.kmk TEMPLATE_VBoxBldProg_LIBS = network iconv TEMPLATE_VBoxBldProg_LIBPATH += \ /boot/common/lib -Index: trunk/src/VBox/Additions/haiku/VBoxMouse/Makefile.kmk -=================================================================== ---- trunk/src/VBox/Additions/haiku/VBoxMouse/Makefile.kmk (revision 51740) -+++ trunk/src/VBox/Additions/haiku/VBoxMouse/Makefile.kmk (working copy) -@@ -52,7 +52,7 @@ - # R1 will need gcc2-built input_server add-ons. - - PROGRAMS += VBoxMouse --VBoxMouse_TEMPLATE = VBOXGUESTR3EXE -+VBoxMouse_TEMPLATE = NewVBoxGuestR3Exe - VBoxMouse_DEFS = VBOX_WITH_HGCM LOG_TO_BACKDOOR - VBoxMouse_DEFS += LOG_ENABLED - VBoxMouse_INCS = ../include -@@ -67,7 +67,7 @@ - /system/servers/input_server - - PROGRAMS += VBoxMouseFilter --VBoxMouseFilter_TEMPLATE = VBOXGUESTR3EXE -+VBoxMouseFilter_TEMPLATE = NewVBoxGuestR3Exe - VBoxMouseFilter_DEFS = VBOX_WITH_HGCM LOG_TO_BACKDOOR - VBoxMouseFilter_DEFS += LOG_ENABLED - VBoxMouseFilter_INCS = ../include -Index: trunk/src/VBox/Additions/haiku/VBoxTray/VBoxGuestApplication.cpp -=================================================================== ---- trunk/src/VBox/Additions/haiku/VBoxTray/VBoxGuestApplication.cpp (revision 51740) -+++ trunk/src/VBox/Additions/haiku/VBoxTray/VBoxGuestApplication.cpp (working copy) -@@ -75,6 +75,7 @@ - status_t err; - - err = VBoxGuestDeskbarView::AddToDeskbar(); -+ printf("error 0x%08lx\n", err); - LogFlow(("VBoxGuestDeskbarView::ReadyToRun: AddToDeskbar returned 0x%08lx\n", err)); - exit(0); - } -Index: trunk/src/VBox/Additions/haiku/VBoxTray/Makefile.kmk -=================================================================== ---- trunk/src/VBox/Additions/haiku/VBoxTray/Makefile.kmk (revision 51740) -+++ trunk/src/VBox/Additions/haiku/VBoxTray/Makefile.kmk (working copy) -@@ -51,7 +51,7 @@ - # single bin will cause problems loading gcc4 binary from a gcc2-built Deskbar! - - PROGRAMS += VBoxTray --VBoxTray_TEMPLATE = VBOXGUESTR3EXE -+VBoxTray_TEMPLATE = NewVBoxGuestR3Exe - VBoxTray_DEFS = VBOX_WITH_HGCM LOG_TO_BACKDOOR - VBoxTray_DEFS += LOG_ENABLED - VBoxTray_INCS = ../include -Index: trunk/src/VBox/Additions/haiku/VBoxTray/VBoxGuestDeskbarView.cpp -=================================================================== ---- trunk/src/VBox/Additions/haiku/VBoxTray/VBoxGuestDeskbarView.cpp (revision 51740) -+++ trunk/src/VBox/Additions/haiku/VBoxTray/VBoxGuestDeskbarView.cpp (working copy) -@@ -47,6 +47,7 @@ - * Header Files * - *******************************************************************************/ - #include -+#include - #include - #include - #include -@@ -83,7 +84,8 @@ - VBoxGuestDeskbarView::VBoxGuestDeskbarView() - : BView(BRect(0, 0, 15, 15), VIEWNAME, B_FOLLOW_NONE, - B_WILL_DRAW | B_NAVIGABLE), -- fIcon(NULL), fClipboardService(NULL), fDisplayService(NULL) -+ fIcon(NULL), fInitStatus(B_NO_INIT), -+ fClipboardService(NULL), fDisplayService(NULL) - { - _Init(); - } -@@ -91,7 +93,8 @@ - - VBoxGuestDeskbarView::VBoxGuestDeskbarView(BMessage *archive) - : BView(archive), -- fIcon(NULL) -+ fIcon(NULL), fInitStatus(B_NO_INIT), -+ fClipboardService(NULL), fDisplayService(NULL) - { - archive->PrintToStream(); - _Init(archive); -@@ -106,7 +109,13 @@ - fClipboardService->Disconnect(); - delete fClipboardService; - } -- VbglR3Term(); -+ if (fDisplayService) -+ { -+ //fDisplayService->Disconnect(); -+ delete fDisplayService; -+ } -+ if (fInitStatus == B_OK) -+ VbglR3Term(); - } - - -@@ -165,8 +174,10 @@ - void VBoxGuestDeskbarView::DetachedFromWindow() - { - BMessage message(B_QUIT_REQUESTED); -- fClipboardService->MessageReceived(&message); -- fDisplayService->MessageReceived(&message); -+ if (fClipboardService) -+ fClipboardService->MessageReceived(&message); -+ if (fDisplayService) -+ fDisplayService->MessageReceived(&message); - } - - -@@ -197,7 +208,7 @@ - if (message->what == B_QUIT_REQUESTED) - RemoveFromDeskbar(); - else -- BHandler::MessageReceived(message); -+ BView::MessageReceived(message); - } - - -@@ -217,7 +228,9 @@ - return err; - - BPath p(&info.ref); -- return deskbar.AddItem(&info.ref); -+ printf("%s:%s\n", __FUNCTION__, p.Path()); -+ int32 id; -+ return deskbar.AddItem(&info.ref, &id); - } - - -@@ -260,14 +273,15 @@ - fIcon = BTranslationUtils::GetBitmap(&mem); - } - -- int rc = RTR3InitDll(RTR3INIT_FLAGS_UNOBTRUSIVE); -+ int rc = RTR3InitDll(RTR3INIT_FLAGS_SUPLIB | RTR3INIT_FLAGS_UNOBTRUSIVE | RTR3INIT_FLAGS_UTF8_ARGV); - if (RT_SUCCESS(rc)) - { - rc = VbglR3Init(); - if (RT_SUCCESS(rc)) - { - fClipboardService = new VBoxClipboardService(); -- fDisplayService = new VBoxDisplayService(); -+ //fDisplayService = new VBoxDisplayService(); -+ fInitStatus = B_OK; - } - else - LogRel(("VBoxGuestDeskbarView::_init VbglR3Init failed. rc=%d\n", rc)); -@@ -278,8 +292,10 @@ - } - - -+extern "C" { - RTDECL(BView*) instantiate_deskbar_item() - { -+ printf("%s()\n", __FUNCTION__); - return new VBoxGuestDeskbarView(); - } -- -+} // C -Index: trunk/src/VBox/Additions/haiku/VBoxTray/VBoxGuestDeskbarView.h -=================================================================== ---- trunk/src/VBox/Additions/haiku/VBoxTray/VBoxGuestDeskbarView.h (revision 51740) -+++ trunk/src/VBox/Additions/haiku/VBoxTray/VBoxGuestDeskbarView.h (working copy) -@@ -88,6 +88,7 @@ - status_t _Init(BMessage *archive = NULL); - BBitmap *fIcon; - -+ status_t fInitStatus; - VBoxClipboardService *fClipboardService; - VBoxDisplayService *fDisplayService; - }; -Index: trunk/src/VBox/Additions/haiku/SharedFolders/lock.h -=================================================================== ---- trunk/src/VBox/Additions/haiku/SharedFolders/lock.h (revision 51740) -+++ trunk/src/VBox/Additions/haiku/SharedFolders/lock.h (working copy) -@@ -64,7 +64,7 @@ - const char* name; - struct rw_lock_waiter* waiters; - thread_id holder; -- vint32 count; -+ int32 count; - int32 owner_count; - int16 active_readers; - // Only > 0 while a writer is waiting: number -Index: trunk/src/VBox/Additions/haiku/SharedFolders/vboxsf.c -=================================================================== ---- trunk/src/VBox/Additions/haiku/SharedFolders/vboxsf.c (revision 51740) -+++ trunk/src/VBox/Additions/haiku/SharedFolders/vboxsf.c (working copy) -@@ -55,6 +55,7 @@ - - status_t init_module(void) - { -+ int rc; - #if 0 - /* @todo enable this soon */ - int rc = get_module(VBOXGUEST_MODULE_NAME, (module_info **)&g_VBoxGuest); -@@ -98,7 +99,10 @@ - return B_ERROR; - } - -- if (RT_FAILURE(vboxInit())) -+ rc = vboxInit(); -+ dprintf("rc=%d\n", rc); -+ if (RT_FAILURE(rc)) -+ //if (RT_FAILURE(vboxInit())) - { - dprintf("vboxInit failed\n"); - return B_ERROR; -@@ -136,6 +140,7 @@ - - PSHFLSTRING make_shflstring(const char* const s) - { -+ PSHFLSTRING rv; - int len = strlen(s); - if (len > 0xFFFE) - { -@@ -143,7 +148,7 @@ - return NULL; - } - -- PSHFLSTRING rv = malloc(sizeof(SHFLSTRING) + len); -+ rv = malloc(sizeof(SHFLSTRING) + len); - if (!rv) - return NULL; - -@@ -194,12 +199,14 @@ - - PSHFLSTRING build_path(vboxsf_vnode* dir, const char* const name) - { -+ size_t len; -+ PSHFLSTRING rv; - dprintf("*** build_path(%p, %p)\n", dir, name); - if (!dir || !name) - return NULL; - -- size_t len = dir->path->u16Length + strlen(name) + 1; -- PSHFLSTRING rv = malloc(sizeof(SHFLSTRING) + len); -+ len = dir->path->u16Length + strlen(name) + 1; -+ rv = malloc(sizeof(SHFLSTRING) + len); - if (rv) - { - strcpy(rv->String.utf8, dir->path->String.utf8); -@@ -214,6 +221,10 @@ - - status_t mount(fs_volume *volume, const char *device, uint32 flags, const char *args, ino_t *_rootVnodeID) - { -+ PSHFLSTRING sharename; -+ vboxsf_volume* vbsfvolume; -+ int rv; -+ - if (device) - { - dprintf(FS_NAME ": trying to mount a real device as a vbox share is silly\n"); -@@ -222,16 +233,17 @@ - - dprintf(FS_NAME ": mount(%s)\n", args); - -- PSHFLSTRING sharename = make_shflstring(args); -+ sharename = make_shflstring(args); - -- vboxsf_volume* vbsfvolume = malloc(sizeof(vboxsf_volume)); -+ vbsfvolume = malloc(sizeof(vboxsf_volume)); - volume->private_volume = vbsfvolume; -- int rv = vboxCallMapFolder(&g_clientHandle, sharename, &(vbsfvolume->map)); -+ rv = vboxCallMapFolder(&g_clientHandle, sharename, &(vbsfvolume->map)); - free(sharename); - - if (rv == 0) - { - vboxsf_vnode* root_vnode; -+ status_t rs; - - PSHFLSTRING name = make_shflstring(""); - if (!name) -@@ -240,7 +252,7 @@ - return B_NO_MEMORY; - } - -- status_t rs = vboxsf_new_vnode(&vbsfvolume->map, name, name, &root_vnode); -+ rs = vboxsf_new_vnode(&vbsfvolume->map, name, name, &root_vnode); - dprintf(FS_NAME ": allocated %p (path=%p name=%p)\n", root_vnode, root_vnode->path, root_vnode->name); - - if (rs != B_OK) -@@ -323,12 +335,13 @@ - vboxsf_volume* volume = _volume->private_volume; - vboxsf_vnode* vnode = _vnode->private_node; - SHFLCREATEPARMS params; -+ int rc; - - RT_ZERO(params); - params.Handle = SHFL_HANDLE_NIL; - params.CreateFlags = SHFL_CF_DIRECTORY | SHFL_CF_ACT_OPEN_IF_EXISTS | SHFL_CF_ACT_FAIL_IF_NEW | SHFL_CF_ACCESS_READ; - -- int rc = vboxCallCreate(&g_clientHandle, &volume->map, vnode->path, ¶ms); -+ rc = vboxCallCreate(&g_clientHandle, &volume->map, vnode->path, ¶ms); - if (RT_SUCCESS(rc)) - { - if (params.Result == SHFL_FILE_EXISTS && params.Handle != SHFL_HANDLE_NIL) -@@ -358,17 +371,23 @@ - status_t vboxsf_read_dir_1(vboxsf_volume* volume, vboxsf_vnode* vnode, vboxsf_dir_cookie* cookie, - struct dirent* buffer, size_t bufferSize) - { -+ PSHFLSTRING name1; -+ int rv; -+ vboxsf_vnode* new_vnode; -+ size_t size; -+ - dprintf("%p, %d, %p\n", cookie, cookie->has_more_files, cookie->buffer); - if (!cookie->has_more_files) - return B_ENTRY_NOT_FOUND; - - if (!cookie->buffer) - { -+ int rc; - cookie->buffer_length = 16384; - cookie->buffer_start = cookie->buffer = malloc(cookie->buffer_length); - -- int rc = vboxCallDirInfo(&g_clientHandle, &volume->map, cookie->handle, cookie->path, 0, cookie->index, -- &cookie->buffer_length, cookie->buffer, &cookie->num_files); -+ rc = vboxCallDirInfo(&g_clientHandle, &volume->map, cookie->handle, cookie->path, 0, cookie->index, -+ &cookie->buffer_length, cookie->buffer, &cookie->num_files); - - if (rc != 0 && rc != VERR_NO_MORE_FILES) - { -@@ -393,15 +412,14 @@ - return B_BUFFER_OVERFLOW; - } - -- PSHFLSTRING name1 = clone_shflstring(&cookie->buffer->name); -+ name1 = clone_shflstring(&cookie->buffer->name); - if (!name1) - { - dprintf(FS_NAME ": make_shflstring() failed\n"); - return B_NO_MEMORY; - } - -- vboxsf_vnode* new_vnode; -- int rv = vboxsf_new_vnode(&volume->map, build_path(vnode, name1->String.utf8), name1, &new_vnode); -+ rv = vboxsf_new_vnode(&volume->map, build_path(vnode, name1->String.utf8), name1, &new_vnode); - if (rv != B_OK) - { - dprintf(FS_NAME ": vboxsf_new_vnode() failed\n"); -@@ -415,7 +433,7 @@ - buffer->d_reclen = sizeof(struct dirent) + cookie->buffer->name.u16Length; - strncpy(buffer->d_name, cookie->buffer->name.String.utf8, NAME_MAX); - -- size_t size = offsetof(SHFLDIRINFO, name.String) + cookie->buffer->name.u16Size; -+ size = offsetof(SHFLDIRINFO, name.String) + cookie->buffer->name.u16Size; - cookie->buffer = ((void*)cookie->buffer + size); - cookie->index++; - -@@ -504,22 +522,24 @@ - - status_t vboxsf_lookup(fs_volume* _volume, fs_vnode* dir, const char* name, ino_t* _id) - { -- dprintf(FS_NAME ": lookup %s\n", name); - vboxsf_volume* volume = _volume->private_volume; - SHFLCREATEPARMS params; -+ PSHFLSTRING path; -+ int rc; -+ dprintf(FS_NAME ": lookup %s\n", name); - - RT_ZERO(params); - params.Handle = SHFL_HANDLE_NIL; - params.CreateFlags = SHFL_CF_LOOKUP | SHFL_CF_ACT_FAIL_IF_NEW; - -- PSHFLSTRING path = build_path(dir->private_node, name); -+ path = build_path(dir->private_node, name); - if (!path) - { - dprintf(FS_NAME ": make_shflstring() failed\n"); - return B_NO_MEMORY; - } - -- int rc = vboxCallCreate(&g_clientHandle, &volume->map, path, ¶ms); -+ rc = vboxCallCreate(&g_clientHandle, &volume->map, path, ¶ms); - if (RT_SUCCESS(rc)) - { - if (params.Result == SHFL_FILE_EXISTS) -@@ -600,11 +620,12 @@ - { - vboxsf_volume* volume = _volume->private_volume; - vboxsf_vnode* vnode = _vnode->private_node; -+ SHFLCREATEPARMS params; -+ int rc; -+ vboxsf_file_cookie* cookie; - - dprintf(FS_NAME ": open %s (mode=%x)\n", vnode->path->String.utf8, openMode); - -- SHFLCREATEPARMS params; -- - RT_ZERO(params); - params.Handle = SHFL_HANDLE_NIL; - -@@ -637,14 +658,14 @@ - params.CreateFlags |= SHFL_CF_ACT_OPEN_IF_EXISTS; - } - -- int rc = vboxCallCreate(&g_clientHandle, &volume->map, vnode->path, ¶ms); -+ rc = vboxCallCreate(&g_clientHandle, &volume->map, vnode->path, ¶ms); - if (!RT_SUCCESS(rc)) - { - dprintf("vboxCallCreate returned %d\n", rc); - return vbox_err_to_haiku_err(rc); - } - -- vboxsf_file_cookie* cookie = malloc(sizeof(vboxsf_file_cookie)); -+ cookie = malloc(sizeof(vboxsf_file_cookie)); - if (!cookie) - { - dprintf("couldn't allocate file cookie\n"); -@@ -665,6 +686,9 @@ - vboxsf_volume* volume = _volume->private_volume; - - SHFLCREATEPARMS params; -+ PSHFLSTRING path; -+ int rc; -+ vboxsf_file_cookie* cookie; - - RT_ZERO(params); - params.Handle = SHFL_HANDLE_NIL; -@@ -698,8 +722,8 @@ - params.CreateFlags |= SHFL_CF_ACT_OPEN_IF_EXISTS; - } - -- PSHFLSTRING path = build_path(_dir->private_node, name); -- int rc = vboxCallCreate(&g_clientHandle, &volume->map, path, ¶ms); -+ path = build_path(_dir->private_node, name); -+ rc = vboxCallCreate(&g_clientHandle, &volume->map, path, ¶ms); - - if (!RT_SUCCESS(rc)) - { -@@ -708,7 +732,7 @@ - return vbox_err_to_haiku_err(rc); - } - -- vboxsf_file_cookie* cookie = malloc(sizeof(vboxsf_file_cookie)); -+ cookie = malloc(sizeof(vboxsf_file_cookie)); - if (!cookie) - { - dprintf("couldn't allocate file cookie\n"); -@@ -761,13 +785,16 @@ - vboxsf_volume* volume = _volume->private_volume; - vboxsf_vnode* vnode = _vnode->private_node; - vboxsf_file_cookie* cookie = _cookie; -+ uint32_t l; -+ void* other_buffer; -+ int rc; - - if (*length > 0xFFFFFFFF) - *length = 0xFFFFFFFF; - -- uint32_t l = *length; -- void* other_buffer = malloc(l); /* @todo map the user memory into kernel space here for efficiency */ -- int rc = vboxCallRead(&g_clientHandle, &volume->map, cookie->handle, pos, &l, other_buffer, false); -+ l = *length; -+ other_buffer = malloc(l); /* @todo map the user memory into kernel space here for efficiency */ -+ rc = vboxCallRead(&g_clientHandle, &volume->map, cookie->handle, pos, &l, other_buffer, false); - memcpy(buffer, other_buffer, l); - free(other_buffer); - -@@ -782,14 +809,17 @@ - vboxsf_volume* volume = _volume->private_volume; - vboxsf_vnode* vnode = _vnode->private_node; - vboxsf_file_cookie* cookie = _cookie; -+ uint32_t l; -+ void* other_buffer; -+ int rc; - - if (*length > 0xFFFFFFFF) - *length = 0xFFFFFFFF; - -- uint32_t l = *length; -- void* other_buffer = malloc(l); /* @todo map the user memory into kernel space here for efficiency */ -+ l = *length; -+ other_buffer = malloc(l); /* @todo map the user memory into kernel space here for efficiency */ - memcpy(other_buffer, buffer, l); -- int rc = vboxCallWrite(&g_clientHandle, &volume->map, cookie->handle, pos, &l, other_buffer, false); -+ rc = vboxCallWrite(&g_clientHandle, &volume->map, cookie->handle, pos, &l, other_buffer, false); - free(other_buffer); - - *length = l; -@@ -807,6 +837,8 @@ - status_t vboxsf_create_dir(fs_volume *_volume, fs_vnode *parent, const char *name, int perms) - { - vboxsf_volume* volume = _volume->private_volume; -+ PSHFLSTRING path; -+ int rc; - - SHFLCREATEPARMS params; - params.Handle = 0; -@@ -814,8 +846,8 @@ - params.CreateFlags = SHFL_CF_DIRECTORY | SHFL_CF_ACT_CREATE_IF_NEW | - SHFL_CF_ACT_FAIL_IF_EXISTS | SHFL_CF_ACCESS_READ; - -- PSHFLSTRING path = build_path(parent->private_node, name); -- int rc = vboxCallCreate(&g_clientHandle, &volume->map, path, ¶ms); -+ path = build_path(parent->private_node, name); -+ rc = vboxCallCreate(&g_clientHandle, &volume->map, path, ¶ms); - free(path); - /** @todo r=ramshankar: we should perhaps also check rc here and change - * Handle initialization from 0 to SHFL_HANDLE_NIL. */ -@@ -879,9 +911,10 @@ - PSHFLSTRING target = make_shflstring(path); - PSHFLSTRING linkpath = build_path(dir->private_node, name); - SHFLFSOBJINFO stuff; -+ int rc; - RT_ZERO(stuff); - -- int rc = vboxCallSymlink(&g_clientHandle, &volume->map, linkpath, target, &stuff); -+ rc = vboxCallSymlink(&g_clientHandle, &volume->map, linkpath, target, &stuff); - - free(target); - free(linkpath); -Index: trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.c -=================================================================== ---- trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.c (revision 51740) -+++ trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.c (working copy) -@@ -69,6 +69,7 @@ - #include - - #define MODULE_NAME VBOXGUEST_MODULE_NAME -+#define DO_LOG 1 - - /* - * IRQ related functions. -@@ -302,9 +303,10 @@ - */ - static int32 VBoxGuestHaikuISR(void *pvState) - { -+ bool fOurIRQ; - LogFlow((MODULE_NAME ":VBoxGuestHaikuISR pvState=%p\n", pvState)); - -- bool fOurIRQ = VBoxGuestCommonISR(&g_DevExt); -+ fOurIRQ = VBoxGuestCommonISR(&g_DevExt); - if (fOurIRQ) - return B_HANDLED_INTERRUPT; - return B_UNHANDLED_INTERRUPT; -@@ -313,9 +315,10 @@ - - void VBoxGuestNativeISRMousePollEvent(PVBOXGUESTDEVEXT pDevExt) - { -+ status_t err = B_OK; -+ - LogFlow((MODULE_NAME "::NativeISRMousePollEvent:\n")); - -- status_t err = B_OK; - //dprintf(MODULE_NAME ": isr mouse\n"); - - /* -Index: trunk/src/VBox/Additions/common/VBoxGuest/VBoxDev-haiku.c -=================================================================== ---- trunk/src/VBox/Additions/common/VBoxGuest/VBoxDev-haiku.c (revision 51740) -+++ trunk/src/VBox/Additions/common/VBoxGuest/VBoxDev-haiku.c (working copy) -@@ -191,11 +191,14 @@ - */ - static status_t VBoxGuestHaikuIOCtl(void *cookie, uint32 op, void *data, size_t len) - { -+ int rc = B_OK; -+ void *pvBuf = NULL; -+ size_t cbDataReturned; -+ - PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)cookie; -+ dprintf(DRIVER_NAME ":VBoxGuestHaikuIOCtl cookie=%p op=0x%08x data=%p len=%lu)\n", cookie, op, data, len); - Log((DRIVER_NAME ":VBoxGuestHaikuIOCtl cookie=%p op=0x%08x data=%p len=%lu)\n", cookie, op, data, len)); - -- int rc = B_OK; -- - /* - * Validate the input. - */ -@@ -223,7 +226,6 @@ - /* - * Read the request. - */ -- void *pvBuf = NULL; - if (RT_LIKELY(len > 0)) - { - pvBuf = RTMemTmpAlloc(len); -@@ -238,6 +240,7 @@ - if (RT_UNLIKELY(rc < 0)) - { - RTMemTmpFree(pvBuf); -+ dprintf(DRIVER_NAME ":VBoxGuestHaikuIOCtl: user_memcpy failed; pvBuf=%p data=%p op=%d. rc=%d\n", pvBuf, data, op, rc); - LogRel((DRIVER_NAME ":VBoxGuestHaikuIOCtl: user_memcpy failed; pvBuf=%p data=%p op=%d. rc=%d\n", pvBuf, data, op, rc)); - return EFAULT; - } -@@ -253,7 +256,6 @@ - /* - * Process the IOCtl. - */ -- size_t cbDataReturned; - rc = VBoxGuestCommonIOCtl(op, &g_DevExt, pSession, pvBuf, len, &cbDataReturned); - if (RT_SUCCESS(rc)) - { -@@ -268,6 +270,7 @@ - rc = user_memcpy(data, pvBuf, cbDataReturned); - if (RT_UNLIKELY(rc < 0)) - { -+ dprintf(DRIVER_NAME ":VBoxGuestHaikuIOCtl: user_memcpy failed; pvBuf=%p pArg=%p Cmd=%lu. rc=%d\n", pvBuf, data, op, rc); - Log((DRIVER_NAME ":VBoxGuestHaikuIOCtl: user_memcpy failed; pvBuf=%p pArg=%p Cmd=%lu. rc=%d\n", pvBuf, data, op, rc)); - rc = EFAULT; - } -@@ -275,6 +278,7 @@ - } - else - { -+ dprintf(DRIVER_NAME ":VBoxGuestHaikuIOCtl: VBoxGuestCommonIOCtl failed. rc=%d\n", rc); - Log((DRIVER_NAME ":VBoxGuestHaikuIOCtl: VBoxGuestCommonIOCtl failed. rc=%d\n", rc)); - rc = EFAULT; - } -@@ -297,6 +301,7 @@ - { - PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)cookie; - status_t err = B_OK; -+ uint32_t u32CurSeq; - - switch (event) - { -@@ -308,7 +313,7 @@ - - RTSpinlockAcquire(g_DevExt.SessionSpinlock); - -- uint32_t u32CurSeq = ASMAtomicUoReadU32(&g_DevExt.u32MousePosChangedSeq); -+ u32CurSeq = ASMAtomicUoReadU32(&g_DevExt.u32MousePosChangedSeq); - if (pSession->u32MousePosChangedSeq != u32CurSeq) - { - pSession->u32MousePosChangedSeq = u32CurSeq; -@@ -388,11 +393,12 @@ - static status_t VBoxGuestHaikuRead(void *cookie, off_t position, void *data, size_t *numBytes) - { - PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)cookie; -+ uint32_t u32CurSeq; - - if (*numBytes == 0) - return B_OK; - -- uint32_t u32CurSeq = ASMAtomicUoReadU32(&g_DevExt.u32MousePosChangedSeq); -+ u32CurSeq = ASMAtomicUoReadU32(&g_DevExt.u32MousePosChangedSeq); - if (pSession->u32MousePosChangedSeq != u32CurSeq) - { - pSession->u32MousePosChangedSeq = u32CurSeq; -Index: trunk/src/VBox/Runtime/r3/haiku/rtProcInitExePath-haiku.cpp -=================================================================== ---- trunk/src/VBox/Runtime/r3/haiku/rtProcInitExePath-haiku.cpp (revision 51740) -+++ trunk/src/VBox/Runtime/r3/haiku/rtProcInitExePath-haiku.cpp (working copy) -@@ -31,6 +31,7 @@ - #ifdef RT_OS_HAIKU - # include - #endif -+#include - - #include - #include -@@ -51,6 +52,7 @@ - */ - status = get_next_image_info(0, &Cookie, &ImageInfo); - AssertReturn((status == B_OK), VERR_INTERNAL_ERROR); -+fprintf(stderr, "p='%s'\n", ImageInfo.name); - - int rc = rtPathFromNativeCopy(pszPath, MIN(cchPath, MAXPATHLEN), ImageInfo.name, NULL); - AssertMsgRCReturn(rc, ("rc=%Rrc pszLink=\"%s\"\nhex: %.*Rhxs\n", rc, pszPath, MIN(cchPath, MAXPATHLEN), pszPath), rc); -Index: trunk/src/VBox/Runtime/r3/posix/utf8-posix.cpp -=================================================================== ---- trunk/src/VBox/Runtime/r3/posix/utf8-posix.cpp (revision 51740) -+++ trunk/src/VBox/Runtime/r3/posix/utf8-posix.cpp (working copy) -@@ -173,7 +173,7 @@ - iconv_t hIconv = (iconv_t)*phIconv; - if (hIconv == (iconv_t)-1) - { --#ifdef RT_OS_SOLARIS -+#if defined(RT_OS_HAIKU) || defined(RT_OS_SOLARIS) - /* Solaris doesn't grok empty codeset strings, so help it find the current codeset. */ - if (!*pszInputCS) - pszInputCS = rtStrGetLocaleCodeset(); -@@ -304,7 +304,7 @@ - /* - * Create conversion object. - */ --#ifdef RT_OS_SOLARIS -+#if defined(RT_OS_HAIKU) || defined(RT_OS_SOLARIS) - /* Solaris doesn't grok empty codeset strings, so help it find the current codeset. */ - if (!*pszInputCS) - pszInputCS = rtStrGetLocaleCodeset(); -Index: trunk/src/VBox/Runtime/r0drv/haiku/semfastmutex-r0drv-haiku.c -=================================================================== ---- trunk/src/VBox/Runtime/r0drv/haiku/semfastmutex-r0drv-haiku.c (revision 51740) -+++ trunk/src/VBox/Runtime/r0drv/haiku/semfastmutex-r0drv-haiku.c (working copy) -@@ -57,10 +57,13 @@ - - RTDECL(int) RTSemFastMutexCreate(PRTSEMFASTMUTEX phFastMtx) - { -+ PRTSEMFASTMUTEXINTERNAL pThis; -+ - AssertCompile(sizeof(RTSEMFASTMUTEXINTERNAL) > sizeof(void *)); -+ dprintf("phFastMtx: %p\n", phFastMtx); - AssertPtrReturn(phFastMtx, VERR_INVALID_POINTER); - -- PRTSEMFASTMUTEXINTERNAL pThis = (PRTSEMFASTMUTEXINTERNAL)RTMemAllocZ(sizeof(*pThis)); -+ pThis = (PRTSEMFASTMUTEXINTERNAL)RTMemAllocZ(sizeof(*pThis)); - if (RT_UNLIKELY(!pThis)) - return VERR_NO_MEMORY; - -Index: trunk/src/VBox/Runtime/r0drv/haiku/semevent-r0drv-haiku.c -=================================================================== ---- trunk/src/VBox/Runtime/r0drv/haiku/semevent-r0drv-haiku.c (revision 51740) -+++ trunk/src/VBox/Runtime/r0drv/haiku/semevent-r0drv-haiku.c (working copy) -@@ -66,12 +66,15 @@ - - RTDECL(int) RTSemEventCreateEx(PRTSEMEVENT phEventSem, uint32_t fFlags, RTLOCKVALCLASS hClass, const char *pszNameFmt, ...) - { -+ PRTSEMEVENTINTERNAL pThis; -+ - AssertCompile(sizeof(RTSEMEVENTINTERNAL) > sizeof(void *)); - AssertReturn(!(fFlags & ~(RTSEMEVENT_FLAGS_NO_LOCK_VAL | RTSEMEVENT_FLAGS_BOOTSTRAP_HACK)), VERR_INVALID_PARAMETER); - Assert(!(fFlags & RTSEMEVENT_FLAGS_BOOTSTRAP_HACK) || (fFlags & RTSEMEVENT_FLAGS_NO_LOCK_VAL)); -+ dprintf("phEventSem: %p\n", phEventSem); - AssertPtrReturn(phEventSem, VERR_INVALID_POINTER); - -- PRTSEMEVENTINTERNAL pThis = (PRTSEMEVENTINTERNAL)RTMemAllocZ(sizeof(*pThis)); -+ pThis = (PRTSEMEVENTINTERNAL)RTMemAllocZ(sizeof(*pThis)); - if (!pThis) - return VERR_NO_MEMORY; - -Index: trunk/src/VBox/Runtime/r0drv/haiku/alloc-r0drv-haiku.c -=================================================================== ---- trunk/src/VBox/Runtime/r0drv/haiku/alloc-r0drv-haiku.c (revision 51740) -+++ trunk/src/VBox/Runtime/r0drv/haiku/alloc-r0drv-haiku.c (working copy) -@@ -44,10 +44,12 @@ - */ - int rtR0MemAllocEx(size_t cb, uint32_t fFlags, PRTMEMHDR *ppHdr) - { -+ PRTMEMHDR pHdr; -+ - if (RT_UNLIKELY(fFlags & RTMEMHDR_FLAG_ANY_CTX)) - return VERR_NOT_SUPPORTED; - -- PRTMEMHDR pHdr = (PRTMEMHDR)malloc(cb + sizeof(*pHdr)); -+ pHdr = (PRTMEMHDR)malloc(cb + sizeof(*pHdr)); - if (RT_UNLIKELY(!pHdr)) - { - LogRel(("rtR0MemAllocEx(%u, %#x) failed\n",(unsigned)cb + sizeof(*pHdr), fFlags)); -@@ -75,6 +77,9 @@ - - RTR0DECL(void *) RTMemContAlloc(PRTCCPHYS pPhys, size_t cb) RT_NO_THROW - { -+ void *pv; -+ area_id area; -+ - /* - * Validate input. - */ -@@ -87,8 +92,7 @@ - * memory that's always below 4GB. - */ - cb = RT_ALIGN_Z(cb, PAGE_SIZE); -- void *pv; -- area_id area = create_area("VirtualBox Contig Alloc", &pv, B_ANY_KERNEL_ADDRESS, cb, B_32_BIT_CONTIGUOUS, -+ area = create_area("VirtualBox Contig Alloc", &pv, B_ANY_KERNEL_ADDRESS, cb, B_32_BIT_CONTIGUOUS, - B_READ_AREA | B_WRITE_AREA); - if (area >= 0) - { -@@ -112,9 +116,10 @@ - RT_ASSERT_PREEMPTIBLE(); - if (pv) - { -+ area_id area; - Assert(cb > 0); - -- area_id area = area_for(pv); -+ area = area_for(pv); - if (area >= B_OK) - delete_area(area); - else -Index: trunk/src/VBox/Runtime/r0drv/haiku/semeventmulti-r0drv-haiku.c -=================================================================== ---- trunk/src/VBox/Runtime/r0drv/haiku/semeventmulti-r0drv-haiku.c (revision 51740) -+++ trunk/src/VBox/Runtime/r0drv/haiku/semeventmulti-r0drv-haiku.c (working copy) -@@ -76,7 +76,7 @@ - pThis->u32Magic = RTSEMEVENTMULTI_MAGIC; - pThis->cRefs = 1; - pThis->SemId = create_sem(0, "IPRT Semaphore Event Multi"); -- if (pThis->SemId < B_OK) -+ if (pThis->SemId >= B_OK) - { - set_sem_owner(pThis->SemId, B_SYSTEM_TEAM); - *phEventMultiSem = pThis; -Index: trunk/src/VBox/Runtime/r0drv/haiku/semmutex-r0drv-haiku.c -=================================================================== ---- trunk/src/VBox/Runtime/r0drv/haiku/semmutex-r0drv-haiku.c (revision 51740) -+++ trunk/src/VBox/Runtime/r0drv/haiku/semmutex-r0drv-haiku.c (working copy) -@@ -65,16 +65,19 @@ - - RTDECL(int) RTSemMutexCreate(PRTSEMMUTEX phMutexSem) - { -+ PRTSEMMUTEXINTERNAL pThis; -+ - AssertCompile(sizeof(RTSEMMUTEXINTERNAL) > sizeof(void *)); -+ dprintf("phMutexSem: %p\n", phMutexSem); - AssertPtrReturn(phMutexSem, VERR_INVALID_POINTER); - -- PRTSEMMUTEXINTERNAL pThis = (PRTSEMMUTEXINTERNAL)RTMemAllocZ(sizeof(*pThis)); -+ pThis = (PRTSEMMUTEXINTERNAL)RTMemAllocZ(sizeof(*pThis)); - if (RT_UNLIKELY(!pThis)) - return VERR_NO_MEMORY; - - pThis->u32Magic = RTSEMMUTEX_MAGIC; - pThis->SemId = create_sem(0, "IPRT Mutex Semaphore"); -- if (pThis->SemId < B_OK) -+ if (pThis->SemId >= B_OK) - { - pThis->OwnerId = -1; - pThis->cRecursion = 0; -@@ -215,7 +218,7 @@ - if (--pThis->cRecursion == 0) - { - pThis->OwnerId == -1; -- release_sem(pThis->SemId); -+ release_sem_etc(pThis->SemId, 1, B_DO_NOT_RESCHEDULE); - } - - return VINF_SUCCESS; -Index: trunk/src/VBox/Runtime/r0drv/haiku/RTLogWriteDebugger-r0drv-haiku.c -=================================================================== ---- trunk/src/VBox/Runtime/r0drv/haiku/RTLogWriteDebugger-r0drv-haiku.c (revision 51740) -+++ trunk/src/VBox/Runtime/r0drv/haiku/RTLogWriteDebugger-r0drv-haiku.c (working copy) -@@ -36,6 +36,7 @@ - RTDECL(void) RTLogWriteDebugger(const char *pch, size_t cb) - { - /** @todo implement this */ -+ dprintf("%.*s", (int)cb, pch); - /*kprintf("%.*s", (int)cb, pch);*/ - return; - } -Index: trunk/src/VBox/Runtime/r0drv/haiku/memobj-r0drv-haiku.c -=================================================================== ---- trunk/src/VBox/Runtime/r0drv/haiku/memobj-r0drv-haiku.c (revision 51740) -+++ trunk/src/VBox/Runtime/r0drv/haiku/memobj-r0drv-haiku.c (working copy) -@@ -153,13 +153,15 @@ - static int rtR0MemObjNativeAllocArea(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, - bool fExecutable, RTR0MEMOBJTYPE type, RTHCPHYS PhysHighest, size_t uAlignment) - { -- NOREF(fExecutable); -- - int rc; - void *pvMap = NULL; - const char *pszName = NULL; - uint32 addressSpec = B_ANY_KERNEL_ADDRESS; - uint32 fLock = ~0U; -+ PRTR0MEMOBJHAIKU pMemHaiku; -+ -+ NOREF(fExecutable); -+ - LogFlowFunc(("ppMem=%p cb=%u, fExecutable=%s, type=%08x, PhysHighest=%RX64 uAlignment=%u\n", ppMem,(unsigned)cb, - fExecutable ? "true" : "false", type, PhysHighest,(unsigned)uAlignment)); - -@@ -201,7 +203,6 @@ - } - - /* Create the object. */ -- PRTR0MEMOBJHAIKU pMemHaiku; - pMemHaiku = (PRTR0MEMOBJHAIKU)rtR0MemObjNew(sizeof(RTR0MEMOBJHAIKU), type, NULL, cb); - if (RT_UNLIKELY(!pMemHaiku)) - return VERR_NO_MEMORY; -@@ -277,11 +278,13 @@ - - int rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJINTERNAL ppMem, RTHCPHYS Phys, size_t cb, uint32_t uCachePolicy) - { -+ PRTR0MEMOBJHAIKU pMemHaiku; -+ - AssertReturn(uCachePolicy == RTMEM_CACHE_POLICY_DONT_CARE, VERR_NOT_SUPPORTED); - LogFlowFunc(("ppMem=%p Phys=%08x cb=%u uCachePolicy=%x\n", ppMem, Phys,(unsigned)cb, uCachePolicy)); - - /* Create the object. */ -- PRTR0MEMOBJHAIKU pMemHaiku = (PRTR0MEMOBJHAIKU)rtR0MemObjNew(sizeof(*pMemHaiku), RTR0MEMOBJTYPE_PHYS, NULL, cb); -+ pMemHaiku = (PRTR0MEMOBJHAIKU)rtR0MemObjNew(sizeof(*pMemHaiku), RTR0MEMOBJTYPE_PHYS, NULL, cb); - if (!pMemHaiku) - return VERR_NO_MEMORY; - -@@ -311,15 +314,16 @@ - static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTERNAL ppMem, void *pvStart, size_t cb, uint32_t fAccess, - RTR0PROCESS R0Process, int fFlags) - { -- NOREF(fAccess); - int rc; - team_id TeamId = B_SYSTEM_TEAM; -+ PRTR0MEMOBJHAIKU pMemHaiku; -+ NOREF(fAccess); - - LogFlowFunc(("ppMem=%p pvStart=%p cb=%u fAccess=%x R0Process=%d fFlags=%x\n", ppMem, pvStart, cb, fAccess, R0Process, - fFlags)); - - /* Create the object. */ -- PRTR0MEMOBJHAIKU pMemHaiku = (PRTR0MEMOBJHAIKU)rtR0MemObjNew(sizeof(*pMemHaiku), RTR0MEMOBJTYPE_LOCK, pvStart, cb); -+ pMemHaiku = (PRTR0MEMOBJHAIKU)rtR0MemObjNew(sizeof(*pMemHaiku), RTR0MEMOBJTYPE_LOCK, pvStart, cb); - if (RT_UNLIKELY(!pMemHaiku)) - return VERR_NO_MEMORY; - -@@ -605,10 +609,11 @@ - team_id TeamId = B_SYSTEM_TEAM; - physical_entry aPhysMap[2]; - int32 cPhysMap = 2; /** @todo r=ramshankar: why not use RT_ELEMENTS? */ -+ void *pb; - - if (pMemHaiku->Core.u.Lock.R0Process != NIL_RTR0PROCESS) - TeamId = (team_id)pMemHaiku->Core.u.Lock.R0Process; -- void *pb = pMemHaiku->Core.pv + (iPage << PAGE_SHIFT); -+ pb = pMemHaiku->Core.pv + (iPage << PAGE_SHIFT); - - rc = get_memory_map_etc(TeamId, pb, B_PAGE_SIZE, aPhysMap, &cPhysMap); - if (rc < B_OK || cPhysMap < 1) -Index: trunk/src/VBox/Runtime/r0drv/haiku/spinlock-r0drv-haiku.c -=================================================================== ---- trunk/src/VBox/Runtime/r0drv/haiku/spinlock-r0drv-haiku.c (revision 51740) -+++ trunk/src/VBox/Runtime/r0drv/haiku/spinlock-r0drv-haiku.c (working copy) -@@ -66,14 +66,15 @@ - - RTDECL(int) RTSpinlockCreate(PRTSPINLOCK pSpinlock, uint32_t fFlags, const char *pszName) - { -+ PRTSPINLOCKINTERNAL pSpinlockInt; - RT_ASSERT_PREEMPTIBLE(); - NOREF(pszName); - - /* - * Allocate. - */ -- AssertCompile(sizeof(RTSPINLOCKINTERNAL) > sizeof(void *)); -- PRTSPINLOCKINTERNAL pSpinlockInt = (PRTSPINLOCKINTERNAL)RTMemAllocZ(sizeof(*pSpinlockInt)); -+// AssertCompile(sizeof(RTSPINLOCKINTERNAL) > sizeof(void *)); -+ pSpinlockInt = (PRTSPINLOCKINTERNAL)RTMemAllocZ(sizeof(*pSpinlockInt)); - if (RT_UNLIKELY(!pSpinlockInt)) - return VERR_NO_MEMORY; - -Index: trunk/src/VBox/Runtime/Makefile.kmk -=================================================================== ---- trunk/src/VBox/Runtime/Makefile.kmk (revision 51740) -+++ trunk/src/VBox/Runtime/Makefile.kmk (working copy) -@@ -1062,7 +1062,6 @@ - r3/posix/fs3-posix.cpp \ - r3/posix/ldrNative-posix.cpp \ - r3/posix/rtmempage-exec-mmap-heap-posix.cpp \ -- r3/posix/rtmemlocked-posix.cpp \ - r3/posix/path-posix.cpp \ - r3/posix/path2-posix.cpp \ - r3/posix/pathhost-posix.cpp \ -Index: trunk/src/VBox/Runtime/VBox/log-vbox.cpp -=================================================================== ---- trunk/src/VBox/Runtime/VBox/log-vbox.cpp (revision 51740) -+++ trunk/src/VBox/Runtime/VBox/log-vbox.cpp (working copy) -@@ -492,6 +492,11 @@ - RTLogFlags(pLogger, "enabled unbuffered tid"); - pLogger->fDestFlags |= RTLOGDEST_DEBUGGER | RTLOGDEST_STDOUT; - # endif -+# if 1 /* vboxdrv logging - ATTENTION: this is what we're referring to guys! Change to '# if 1'. */ -+ RTLogGroupSettings(pLogger, "+all"); -+ RTLogFlags(pLogger, "enabled unbuffered tid"); -+ pLogger->fDestFlags |= RTLOGDEST_DEBUGGER | RTLOGDEST_STDOUT; -+# endif - } - #endif /* IN_RING0 */ - return g_pLogger = RT_SUCCESS(rc) ? pLogger : NULL; -Index: trunk/configure -=================================================================== ---- trunk/configure (revision 51740) -+++ trunk/configure (working copy) -@@ -417,6 +417,9 @@ +diff --git a/configure b/configure +index e8415ac..cb46f77 100755 +--- a/configure ++++ b/configure +@@ -417,6 +417,9 @@ check_gcc() elif [ $cc_maj -eq 4 -a $cc_min -eq 0 -a "$OS" = "darwin" ]; then log_success "found version $cc_ver" # gcc-4.0 is allowed for Darwin only @@ -1128,7 +175,7 @@ Index: trunk/configure elif [ $cc_maj -lt 3 \ -o \( $cc_maj -eq 3 -a $cc_min -lt 2 \) \ -o \( $cc_maj -eq 4 -a $cc_min -lt 1 -a "$OS" != "darwin" \) \ -@@ -2652,6 +2655,12 @@ +@@ -2652,6 +2655,12 @@ if [ $OSE -ge 1 ]; then else cnf_append "VBOX_WITH_LINUX_ADDITIONS" "" fi @@ -1141,23 +188,10 @@ Index: trunk/configure echo >> $CNF fi -Index: trunk/include/iprt/cpp/autores.h -=================================================================== ---- trunk/include/iprt/cpp/autores.h (revision 51740) -+++ trunk/include/iprt/cpp/autores.h (working copy) -@@ -51,7 +51,7 @@ - } - - /** Specialisation of RTAutoResNil for RTFILE */ --template <> -+template - inline RTFILE RTAutoResNil(void) - { - return NIL_RTFILE; -Index: trunk/include/iprt/cdefs.h -=================================================================== ---- trunk/include/iprt/cdefs.h (revision 51740) -+++ trunk/include/iprt/cdefs.h (working copy) +diff --git a/include/iprt/cdefs.h b/include/iprt/cdefs.h +index c1f7cf0..efb98bf 100644 +--- a/include/iprt/cdefs.h ++++ b/include/iprt/cdefs.h @@ -1142,7 +1142,7 @@ * @param type The return type of the function declaration. * @remarks Use sparsely and with care. Don't use this macro on C++ methods. @@ -1167,11 +201,24 @@ Index: trunk/include/iprt/cdefs.h # define DECL_FORCE_INLINE(type) __attribute__((__always_inline__)) DECLINLINE(type) #elif defined(_MSC_VER) # define DECL_FORCE_INLINE(type) __forceinline type -Index: trunk/include/iprt/types.h -=================================================================== ---- trunk/include/iprt/types.h (revision 51740) -+++ trunk/include/iprt/types.h (working copy) -@@ -149,6 +149,13 @@ +diff --git a/include/iprt/cpp/autores.h b/include/iprt/cpp/autores.h +index 0edad23..217d555 100644 +--- a/include/iprt/cpp/autores.h ++++ b/include/iprt/cpp/autores.h +@@ -51,7 +51,7 @@ inline T RTAutoResNil(void) + } + + /** Specialisation of RTAutoResNil for RTFILE */ +-template <> ++template + inline RTFILE RTAutoResNil(void) + { + return NIL_RTFILE; +diff --git a/include/iprt/types.h b/include/iprt/types.h +index a58e072..31ab2a3 100644 +--- a/include/iprt/types.h ++++ b/include/iprt/types.h +@@ -150,6 +150,13 @@ RT_C_DECLS_END # undef false # undef true # undef bool @@ -1185,7 +232,7 @@ Index: trunk/include/iprt/types.h # else # include # include -@@ -206,8 +213,13 @@ +@@ -207,8 +214,13 @@ typedef uint8_t bool; # ifndef __bool_true_false_are_defined typedef _Bool bool; # endif @@ -1200,33 +247,11 @@ Index: trunk/include/iprt/types.h # undef bool # endif typedef _Bool bool; -Index: trunk/src/libs/kStuff/kStuff/include/k/kDefs.h -=================================================================== ---- trunk/src/libs/kStuff/kStuff/include/k/kDefs.h (revision 66) -+++ trunk/src/libs/kStuff/kStuff/include/k/kDefs.h (working copy) -@@ -60,8 +60,10 @@ - #define K_OS_SOLARIS 9 - /** Windows. */ - #define K_OS_WINDOWS 10 -+/** Haiku */ -+#define K_OS_HAIKU 11 - /** The max K_OS_* value (exclusive). */ --#define K_OS_MAX 11 -+#define K_OS_MAX 12 - /** @} */ - - /** @def K_OS -@@ -82,6 +84,8 @@ - # define K_OS K_OS_DRAGONFLY - # elif defined(__FreeBSD__) /*??*/ - # define K_OS K_OS_FREEBSD -+# elif defined(__HAIKU__) -+# define K_OS K_OS_HAIKU - # elif defined(__gnu_linux__) - # define K_OS K_OS_LINUX - # elif defined(__NetBSD__) /*??*/ ---- /dev/null 2014-07-01 06:17:57.378104000 +0200 -+++ trunk/kBuild/tools/GCC2.kmk 2014-01-13 18:20:19.486539264 +0100 +diff --git a/kBuild/tools/GCC2.kmk b/kBuild/tools/GCC2.kmk +new file mode 100644 +index 0000000..3b64888 +--- /dev/null ++++ b/kBuild/tools/GCC2.kmk @@ -0,0 +1,352 @@ +# $Id: GCC2.kmk 2541 2011-08-03 09:51:30Z bird $ +## @file @@ -1580,8 +605,11 @@ Index: trunk/src/libs/kStuff/kStuff/include/k/kDefs.h + endif +endef + ---- /dev/null 2014-07-01 06:17:57.378104000 +0200 -+++ trunk/kBuild/tools/GCC2PLAIN.kmk 2014-01-13 18:20:48.054001664 +0100 +diff --git a/kBuild/tools/GCC2PLAIN.kmk b/kBuild/tools/GCC2PLAIN.kmk +new file mode 100644 +index 0000000..c63f35c +--- /dev/null ++++ b/kBuild/tools/GCC2PLAIN.kmk @@ -0,0 +1,320 @@ +# $Id: GCC2PLAIN.kmk 2545 2011-09-13 19:09:05Z bird $ +## @file @@ -1903,8 +931,11 @@ Index: trunk/src/libs/kStuff/kStuff/include/k/kDefs.h + $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib))) +endef + ---- /dev/null 2014-07-01 06:17:57.378104000 +0200 -+++ trunk/kBuild/tools/GXX2.kmk 2014-01-13 18:20:37.267911168 +0100 +diff --git a/kBuild/tools/GXX2.kmk b/kBuild/tools/GXX2.kmk +new file mode 100644 +index 0000000..012cb9c +--- /dev/null ++++ b/kBuild/tools/GXX2.kmk @@ -0,0 +1,352 @@ +# $Id: GXX2.kmk 2541 2011-08-03 09:51:30Z bird $ +## @file @@ -2258,8 +1289,11 @@ Index: trunk/src/libs/kStuff/kStuff/include/k/kDefs.h + endif +endef + ---- /dev/null 2014-07-01 06:17:57.378104000 +0200 -+++ trunk/kBuild/tools/GXX2PLAIN.kmk 2014-01-13 18:20:43.542113792 +0100 +diff --git a/kBuild/tools/GXX2PLAIN.kmk b/kBuild/tools/GXX2PLAIN.kmk +new file mode 100644 +index 0000000..2ab0b73 +--- /dev/null ++++ b/kBuild/tools/GXX2PLAIN.kmk @@ -0,0 +1,320 @@ +# $Id: GXX2PLAIN.kmk 2545 2011-09-13 19:09:05Z bird $ +## @file @@ -2581,3 +1615,987 @@ Index: trunk/src/libs/kStuff/kStuff/include/k/kDefs.h + $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib))) +endef + +diff --git a/src/VBox/Additions/common/VBoxGuest/VBoxDev-haiku.c b/src/VBox/Additions/common/VBoxGuest/VBoxDev-haiku.c +index 4d344e8..9486778 100644 +--- a/src/VBox/Additions/common/VBoxGuest/VBoxDev-haiku.c ++++ b/src/VBox/Additions/common/VBoxGuest/VBoxDev-haiku.c +@@ -191,11 +191,14 @@ static status_t VBoxGuestHaikuFree(void *cookie) + */ + static status_t VBoxGuestHaikuIOCtl(void *cookie, uint32 op, void *data, size_t len) + { ++ int rc = B_OK; ++ void *pvBuf = NULL; ++ size_t cbDataReturned; ++ + PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)cookie; ++ dprintf(DRIVER_NAME ":VBoxGuestHaikuIOCtl cookie=%p op=0x%08x data=%p len=%lu)\n", cookie, op, data, len); + Log((DRIVER_NAME ":VBoxGuestHaikuIOCtl cookie=%p op=0x%08x data=%p len=%lu)\n", cookie, op, data, len)); + +- int rc = B_OK; +- + /* + * Validate the input. + */ +@@ -223,7 +226,6 @@ static status_t VBoxGuestHaikuIOCtl(void *cookie, uint32 op, void *data, size_t + /* + * Read the request. + */ +- void *pvBuf = NULL; + if (RT_LIKELY(len > 0)) + { + pvBuf = RTMemTmpAlloc(len); +@@ -238,6 +240,7 @@ static status_t VBoxGuestHaikuIOCtl(void *cookie, uint32 op, void *data, size_t + if (RT_UNLIKELY(rc < 0)) + { + RTMemTmpFree(pvBuf); ++ dprintf(DRIVER_NAME ":VBoxGuestHaikuIOCtl: user_memcpy failed; pvBuf=%p data=%p op=%d. rc=%d\n", pvBuf, data, op, rc); + LogRel((DRIVER_NAME ":VBoxGuestHaikuIOCtl: user_memcpy failed; pvBuf=%p data=%p op=%d. rc=%d\n", pvBuf, data, op, rc)); + return EFAULT; + } +@@ -253,7 +256,6 @@ static status_t VBoxGuestHaikuIOCtl(void *cookie, uint32 op, void *data, size_t + /* + * Process the IOCtl. + */ +- size_t cbDataReturned; + rc = VBoxGuestCommonIOCtl(op, &g_DevExt, pSession, pvBuf, len, &cbDataReturned); + if (RT_SUCCESS(rc)) + { +@@ -268,6 +270,7 @@ static status_t VBoxGuestHaikuIOCtl(void *cookie, uint32 op, void *data, size_t + rc = user_memcpy(data, pvBuf, cbDataReturned); + if (RT_UNLIKELY(rc < 0)) + { ++ dprintf(DRIVER_NAME ":VBoxGuestHaikuIOCtl: user_memcpy failed; pvBuf=%p pArg=%p Cmd=%lu. rc=%d\n", pvBuf, data, op, rc); + Log((DRIVER_NAME ":VBoxGuestHaikuIOCtl: user_memcpy failed; pvBuf=%p pArg=%p Cmd=%lu. rc=%d\n", pvBuf, data, op, rc)); + rc = EFAULT; + } +@@ -275,6 +278,7 @@ static status_t VBoxGuestHaikuIOCtl(void *cookie, uint32 op, void *data, size_t + } + else + { ++ dprintf(DRIVER_NAME ":VBoxGuestHaikuIOCtl: VBoxGuestCommonIOCtl failed. rc=%d\n", rc); + Log((DRIVER_NAME ":VBoxGuestHaikuIOCtl: VBoxGuestCommonIOCtl failed. rc=%d\n", rc)); + rc = EFAULT; + } +@@ -297,6 +301,7 @@ static status_t VBoxGuestHaikuSelect(void *cookie, uint8 event, uint32 ref, sele + { + PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)cookie; + status_t err = B_OK; ++ uint32_t u32CurSeq; + + switch (event) + { +@@ -308,7 +313,7 @@ static status_t VBoxGuestHaikuSelect(void *cookie, uint8 event, uint32 ref, sele + + RTSpinlockAcquire(g_DevExt.SessionSpinlock); + +- uint32_t u32CurSeq = ASMAtomicUoReadU32(&g_DevExt.u32MousePosChangedSeq); ++ u32CurSeq = ASMAtomicUoReadU32(&g_DevExt.u32MousePosChangedSeq); + if (pSession->u32MousePosChangedSeq != u32CurSeq) + { + pSession->u32MousePosChangedSeq = u32CurSeq; +@@ -388,11 +393,12 @@ static status_t VBoxGuestHaikuWrite(void *cookie, off_t position, const void *da + static status_t VBoxGuestHaikuRead(void *cookie, off_t position, void *data, size_t *numBytes) + { + PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)cookie; ++ uint32_t u32CurSeq; + + if (*numBytes == 0) + return B_OK; + +- uint32_t u32CurSeq = ASMAtomicUoReadU32(&g_DevExt.u32MousePosChangedSeq); ++ u32CurSeq = ASMAtomicUoReadU32(&g_DevExt.u32MousePosChangedSeq); + if (pSession->u32MousePosChangedSeq != u32CurSeq) + { + pSession->u32MousePosChangedSeq = u32CurSeq; +diff --git a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.c b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.c +index b3617b9..847c334 100644 +--- a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.c ++++ b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.c +@@ -69,6 +69,7 @@ + #include + + #define MODULE_NAME VBOXGUEST_MODULE_NAME ++#define DO_LOG 1 + + /* + * IRQ related functions. +@@ -301,9 +302,10 @@ static status_t VBoxGuestHaikuDetach(void) + */ + static int32 VBoxGuestHaikuISR(void *pvState) + { ++ bool fOurIRQ; + LogFlow((MODULE_NAME ":VBoxGuestHaikuISR pvState=%p\n", pvState)); + +- bool fOurIRQ = VBoxGuestCommonISR(&g_DevExt); ++ fOurIRQ = VBoxGuestCommonISR(&g_DevExt); + if (fOurIRQ) + return B_HANDLED_INTERRUPT; + return B_UNHANDLED_INTERRUPT; +@@ -312,9 +314,10 @@ static int32 VBoxGuestHaikuISR(void *pvState) + + void VBoxGuestNativeISRMousePollEvent(PVBOXGUESTDEVEXT pDevExt) + { ++ status_t err = B_OK; ++ + LogFlow((MODULE_NAME "::NativeISRMousePollEvent:\n")); + +- status_t err = B_OK; + //dprintf(MODULE_NAME ": isr mouse\n"); + + /* +diff --git a/src/VBox/Additions/haiku/SharedFolders/lock.h b/src/VBox/Additions/haiku/SharedFolders/lock.h +index b2f428a..c86d6ab 100644 +--- a/src/VBox/Additions/haiku/SharedFolders/lock.h ++++ b/src/VBox/Additions/haiku/SharedFolders/lock.h +@@ -64,7 +64,7 @@ typedef struct rw_lock { + const char* name; + struct rw_lock_waiter* waiters; + thread_id holder; +- vint32 count; ++ int32 count; + int32 owner_count; + int16 active_readers; + // Only > 0 while a writer is waiting: number +diff --git a/src/VBox/Additions/haiku/SharedFolders/vboxsf.c b/src/VBox/Additions/haiku/SharedFolders/vboxsf.c +index c4eec30..012f66b 100644 +--- a/src/VBox/Additions/haiku/SharedFolders/vboxsf.c ++++ b/src/VBox/Additions/haiku/SharedFolders/vboxsf.c +@@ -55,6 +55,7 @@ static fs_vnode_ops vboxsf_vnode_ops; + + status_t init_module(void) + { ++ int rc; + #if 0 + /* @todo enable this soon */ + int rc = get_module(VBOXGUEST_MODULE_NAME, (module_info **)&g_VBoxGuest); +@@ -98,7 +99,10 @@ status_t init_module(void) + return B_ERROR; + } + +- if (RT_FAILURE(vboxInit())) ++ rc = vboxInit(); ++ dprintf("rc=%d\n", rc); ++ if (RT_FAILURE(rc)) ++ //if (RT_FAILURE(vboxInit())) + { + dprintf("vboxInit failed\n"); + return B_ERROR; +@@ -136,6 +140,7 @@ void uninit_module(void) + + PSHFLSTRING make_shflstring(const char* const s) + { ++ PSHFLSTRING rv; + int len = strlen(s); + if (len > 0xFFFE) + { +@@ -143,7 +148,7 @@ PSHFLSTRING make_shflstring(const char* const s) + return NULL; + } + +- PSHFLSTRING rv = malloc(sizeof(SHFLSTRING) + len); ++ rv = malloc(sizeof(SHFLSTRING) + len); + if (!rv) + return NULL; + +@@ -194,12 +199,14 @@ PSHFLSTRING concat_cstr_shflstring(const char* const s1, PSHFLSTRING s2) + + PSHFLSTRING build_path(vboxsf_vnode* dir, const char* const name) + { ++ size_t len; ++ PSHFLSTRING rv; + dprintf("*** build_path(%p, %p)\n", dir, name); + if (!dir || !name) + return NULL; + +- size_t len = dir->path->u16Length + strlen(name) + 1; +- PSHFLSTRING rv = malloc(sizeof(SHFLSTRING) + len); ++ len = dir->path->u16Length + strlen(name) + 1; ++ rv = malloc(sizeof(SHFLSTRING) + len); + if (rv) + { + strcpy(rv->String.utf8, dir->path->String.utf8); +@@ -214,6 +221,10 @@ PSHFLSTRING build_path(vboxsf_vnode* dir, const char* const name) + + status_t mount(fs_volume *volume, const char *device, uint32 flags, const char *args, ino_t *_rootVnodeID) + { ++ PSHFLSTRING sharename; ++ vboxsf_volume* vbsfvolume; ++ int rv; ++ + if (device) + { + dprintf(FS_NAME ": trying to mount a real device as a vbox share is silly\n"); +@@ -222,16 +233,17 @@ status_t mount(fs_volume *volume, const char *device, uint32 flags, const char * + + dprintf(FS_NAME ": mount(%s)\n", args); + +- PSHFLSTRING sharename = make_shflstring(args); ++ sharename = make_shflstring(args); + +- vboxsf_volume* vbsfvolume = malloc(sizeof(vboxsf_volume)); ++ vbsfvolume = malloc(sizeof(vboxsf_volume)); + volume->private_volume = vbsfvolume; +- int rv = vboxCallMapFolder(&g_clientHandle, sharename, &(vbsfvolume->map)); ++ rv = vboxCallMapFolder(&g_clientHandle, sharename, &(vbsfvolume->map)); + free(sharename); + + if (rv == 0) + { + vboxsf_vnode* root_vnode; ++ status_t rs; + + PSHFLSTRING name = make_shflstring(""); + if (!name) +@@ -240,7 +252,7 @@ status_t mount(fs_volume *volume, const char *device, uint32 flags, const char * + return B_NO_MEMORY; + } + +- status_t rs = vboxsf_new_vnode(&vbsfvolume->map, name, name, &root_vnode); ++ rs = vboxsf_new_vnode(&vbsfvolume->map, name, name, &root_vnode); + dprintf(FS_NAME ": allocated %p (path=%p name=%p)\n", root_vnode, root_vnode->path, root_vnode->name); + + if (rs != B_OK) +@@ -323,12 +335,13 @@ status_t vboxsf_open_dir(fs_volume* _volume, fs_vnode* _vnode, void** _cookie) + vboxsf_volume* volume = _volume->private_volume; + vboxsf_vnode* vnode = _vnode->private_node; + SHFLCREATEPARMS params; ++ int rc; + + RT_ZERO(params); + params.Handle = SHFL_HANDLE_NIL; + params.CreateFlags = SHFL_CF_DIRECTORY | SHFL_CF_ACT_OPEN_IF_EXISTS | SHFL_CF_ACT_FAIL_IF_NEW | SHFL_CF_ACCESS_READ; + +- int rc = vboxCallCreate(&g_clientHandle, &volume->map, vnode->path, ¶ms); ++ rc = vboxCallCreate(&g_clientHandle, &volume->map, vnode->path, ¶ms); + if (RT_SUCCESS(rc)) + { + if (params.Result == SHFL_FILE_EXISTS && params.Handle != SHFL_HANDLE_NIL) +@@ -358,17 +371,23 @@ status_t vboxsf_open_dir(fs_volume* _volume, fs_vnode* _vnode, void** _cookie) + status_t vboxsf_read_dir_1(vboxsf_volume* volume, vboxsf_vnode* vnode, vboxsf_dir_cookie* cookie, + struct dirent* buffer, size_t bufferSize) + { ++ PSHFLSTRING name1; ++ int rv; ++ vboxsf_vnode* new_vnode; ++ size_t size; ++ + dprintf("%p, %d, %p\n", cookie, cookie->has_more_files, cookie->buffer); + if (!cookie->has_more_files) + return B_ENTRY_NOT_FOUND; + + if (!cookie->buffer) + { ++ int rc; + cookie->buffer_length = 16384; + cookie->buffer_start = cookie->buffer = malloc(cookie->buffer_length); + +- int rc = vboxCallDirInfo(&g_clientHandle, &volume->map, cookie->handle, cookie->path, 0, cookie->index, +- &cookie->buffer_length, cookie->buffer, &cookie->num_files); ++ rc = vboxCallDirInfo(&g_clientHandle, &volume->map, cookie->handle, cookie->path, 0, cookie->index, ++ &cookie->buffer_length, cookie->buffer, &cookie->num_files); + + if (rc != 0 && rc != VERR_NO_MORE_FILES) + { +@@ -393,15 +412,14 @@ status_t vboxsf_read_dir_1(vboxsf_volume* volume, vboxsf_vnode* vnode, vboxsf_di + return B_BUFFER_OVERFLOW; + } + +- PSHFLSTRING name1 = clone_shflstring(&cookie->buffer->name); ++ name1 = clone_shflstring(&cookie->buffer->name); + if (!name1) + { + dprintf(FS_NAME ": make_shflstring() failed\n"); + return B_NO_MEMORY; + } + +- vboxsf_vnode* new_vnode; +- int rv = vboxsf_new_vnode(&volume->map, build_path(vnode, name1->String.utf8), name1, &new_vnode); ++ rv = vboxsf_new_vnode(&volume->map, build_path(vnode, name1->String.utf8), name1, &new_vnode); + if (rv != B_OK) + { + dprintf(FS_NAME ": vboxsf_new_vnode() failed\n"); +@@ -415,7 +433,7 @@ status_t vboxsf_read_dir_1(vboxsf_volume* volume, vboxsf_vnode* vnode, vboxsf_di + buffer->d_reclen = sizeof(struct dirent) + cookie->buffer->name.u16Length; + strncpy(buffer->d_name, cookie->buffer->name.String.utf8, NAME_MAX); + +- size_t size = offsetof(SHFLDIRINFO, name.String) + cookie->buffer->name.u16Size; ++ size = offsetof(SHFLDIRINFO, name.String) + cookie->buffer->name.u16Size; + cookie->buffer = ((void*)cookie->buffer + size); + cookie->index++; + +@@ -504,22 +522,24 @@ status_t vboxsf_read_fs_info(fs_volume* _volume, struct fs_info* info) + + status_t vboxsf_lookup(fs_volume* _volume, fs_vnode* dir, const char* name, ino_t* _id) + { +- dprintf(FS_NAME ": lookup %s\n", name); + vboxsf_volume* volume = _volume->private_volume; + SHFLCREATEPARMS params; ++ PSHFLSTRING path; ++ int rc; ++ dprintf(FS_NAME ": lookup %s\n", name); + + RT_ZERO(params); + params.Handle = SHFL_HANDLE_NIL; + params.CreateFlags = SHFL_CF_LOOKUP | SHFL_CF_ACT_FAIL_IF_NEW; + +- PSHFLSTRING path = build_path(dir->private_node, name); ++ path = build_path(dir->private_node, name); + if (!path) + { + dprintf(FS_NAME ": make_shflstring() failed\n"); + return B_NO_MEMORY; + } + +- int rc = vboxCallCreate(&g_clientHandle, &volume->map, path, ¶ms); ++ rc = vboxCallCreate(&g_clientHandle, &volume->map, path, ¶ms); + if (RT_SUCCESS(rc)) + { + if (params.Result == SHFL_FILE_EXISTS) +@@ -600,11 +620,12 @@ status_t vboxsf_open(fs_volume* _volume, fs_vnode* _vnode, int openMode, void** + { + vboxsf_volume* volume = _volume->private_volume; + vboxsf_vnode* vnode = _vnode->private_node; ++ SHFLCREATEPARMS params; ++ int rc; ++ vboxsf_file_cookie* cookie; + + dprintf(FS_NAME ": open %s (mode=%x)\n", vnode->path->String.utf8, openMode); + +- SHFLCREATEPARMS params; +- + RT_ZERO(params); + params.Handle = SHFL_HANDLE_NIL; + +@@ -637,14 +658,14 @@ status_t vboxsf_open(fs_volume* _volume, fs_vnode* _vnode, int openMode, void** + params.CreateFlags |= SHFL_CF_ACT_OPEN_IF_EXISTS; + } + +- int rc = vboxCallCreate(&g_clientHandle, &volume->map, vnode->path, ¶ms); ++ rc = vboxCallCreate(&g_clientHandle, &volume->map, vnode->path, ¶ms); + if (!RT_SUCCESS(rc)) + { + dprintf("vboxCallCreate returned %d\n", rc); + return vbox_err_to_haiku_err(rc); + } + +- vboxsf_file_cookie* cookie = malloc(sizeof(vboxsf_file_cookie)); ++ cookie = malloc(sizeof(vboxsf_file_cookie)); + if (!cookie) + { + dprintf("couldn't allocate file cookie\n"); +@@ -665,6 +686,9 @@ status_t vboxsf_create(fs_volume* _volume, fs_vnode* _dir, const char *name, int + vboxsf_volume* volume = _volume->private_volume; + + SHFLCREATEPARMS params; ++ PSHFLSTRING path; ++ int rc; ++ vboxsf_file_cookie* cookie; + + RT_ZERO(params); + params.Handle = SHFL_HANDLE_NIL; +@@ -698,8 +722,8 @@ status_t vboxsf_create(fs_volume* _volume, fs_vnode* _dir, const char *name, int + params.CreateFlags |= SHFL_CF_ACT_OPEN_IF_EXISTS; + } + +- PSHFLSTRING path = build_path(_dir->private_node, name); +- int rc = vboxCallCreate(&g_clientHandle, &volume->map, path, ¶ms); ++ path = build_path(_dir->private_node, name); ++ rc = vboxCallCreate(&g_clientHandle, &volume->map, path, ¶ms); + + if (!RT_SUCCESS(rc)) + { +@@ -708,7 +732,7 @@ status_t vboxsf_create(fs_volume* _volume, fs_vnode* _dir, const char *name, int + return vbox_err_to_haiku_err(rc); + } + +- vboxsf_file_cookie* cookie = malloc(sizeof(vboxsf_file_cookie)); ++ cookie = malloc(sizeof(vboxsf_file_cookie)); + if (!cookie) + { + dprintf("couldn't allocate file cookie\n"); +@@ -761,13 +785,16 @@ status_t vboxsf_read(fs_volume* _volume, fs_vnode* _vnode, void* _cookie, off_t + vboxsf_volume* volume = _volume->private_volume; + vboxsf_vnode* vnode = _vnode->private_node; + vboxsf_file_cookie* cookie = _cookie; ++ uint32_t l; ++ void* other_buffer; ++ int rc; + + if (*length > 0xFFFFFFFF) + *length = 0xFFFFFFFF; + +- uint32_t l = *length; +- void* other_buffer = malloc(l); /* @todo map the user memory into kernel space here for efficiency */ +- int rc = vboxCallRead(&g_clientHandle, &volume->map, cookie->handle, pos, &l, other_buffer, false); ++ l = *length; ++ other_buffer = malloc(l); /* @todo map the user memory into kernel space here for efficiency */ ++ rc = vboxCallRead(&g_clientHandle, &volume->map, cookie->handle, pos, &l, other_buffer, false); + memcpy(buffer, other_buffer, l); + free(other_buffer); + +@@ -782,14 +809,17 @@ status_t vboxsf_write(fs_volume* _volume, fs_vnode* _vnode, void* _cookie, off_t + vboxsf_volume* volume = _volume->private_volume; + vboxsf_vnode* vnode = _vnode->private_node; + vboxsf_file_cookie* cookie = _cookie; ++ uint32_t l; ++ void* other_buffer; ++ int rc; + + if (*length > 0xFFFFFFFF) + *length = 0xFFFFFFFF; + +- uint32_t l = *length; +- void* other_buffer = malloc(l); /* @todo map the user memory into kernel space here for efficiency */ ++ l = *length; ++ other_buffer = malloc(l); /* @todo map the user memory into kernel space here for efficiency */ + memcpy(other_buffer, buffer, l); +- int rc = vboxCallWrite(&g_clientHandle, &volume->map, cookie->handle, pos, &l, other_buffer, false); ++ rc = vboxCallWrite(&g_clientHandle, &volume->map, cookie->handle, pos, &l, other_buffer, false); + free(other_buffer); + + *length = l; +@@ -807,6 +837,8 @@ status_t vboxsf_write_stat(fs_volume *volume, fs_vnode *vnode, const struct stat + status_t vboxsf_create_dir(fs_volume *_volume, fs_vnode *parent, const char *name, int perms) + { + vboxsf_volume* volume = _volume->private_volume; ++ PSHFLSTRING path; ++ int rc; + + SHFLCREATEPARMS params; + params.Handle = 0; +@@ -814,8 +846,8 @@ status_t vboxsf_create_dir(fs_volume *_volume, fs_vnode *parent, const char *nam + params.CreateFlags = SHFL_CF_DIRECTORY | SHFL_CF_ACT_CREATE_IF_NEW | + SHFL_CF_ACT_FAIL_IF_EXISTS | SHFL_CF_ACCESS_READ; + +- PSHFLSTRING path = build_path(parent->private_node, name); +- int rc = vboxCallCreate(&g_clientHandle, &volume->map, path, ¶ms); ++ path = build_path(parent->private_node, name); ++ rc = vboxCallCreate(&g_clientHandle, &volume->map, path, ¶ms); + free(path); + /** @todo r=ramshankar: we should perhaps also check rc here and change + * Handle initialization from 0 to SHFL_HANDLE_NIL. */ +@@ -879,9 +911,10 @@ status_t vboxsf_create_symlink(fs_volume* _volume, fs_vnode* dir, const char* na + PSHFLSTRING target = make_shflstring(path); + PSHFLSTRING linkpath = build_path(dir->private_node, name); + SHFLFSOBJINFO stuff; ++ int rc; + RT_ZERO(stuff); + +- int rc = vboxCallSymlink(&g_clientHandle, &volume->map, linkpath, target, &stuff); ++ rc = vboxCallSymlink(&g_clientHandle, &volume->map, linkpath, target, &stuff); + + free(target); + free(linkpath); +diff --git a/src/VBox/Additions/haiku/VBoxMouse/Makefile.kmk b/src/VBox/Additions/haiku/VBoxMouse/Makefile.kmk +index 0423daa..6b88540 100644 +--- a/src/VBox/Additions/haiku/VBoxMouse/Makefile.kmk ++++ b/src/VBox/Additions/haiku/VBoxMouse/Makefile.kmk +@@ -52,7 +52,7 @@ include $(KBUILD_PATH)/subheader.kmk + # R1 will need gcc2-built input_server add-ons. + + PROGRAMS += VBoxMouse +-VBoxMouse_TEMPLATE = VBOXGUESTR3EXE ++VBoxMouse_TEMPLATE = NewVBoxGuestR3Exe + VBoxMouse_DEFS = VBOX_WITH_HGCM LOG_TO_BACKDOOR + VBoxMouse_DEFS += LOG_ENABLED + VBoxMouse_INCS = ../include +@@ -67,7 +67,7 @@ VBoxMouse_LIBS = \ + /system/servers/input_server + + PROGRAMS += VBoxMouseFilter +-VBoxMouseFilter_TEMPLATE = VBOXGUESTR3EXE ++VBoxMouseFilter_TEMPLATE = NewVBoxGuestR3Exe + VBoxMouseFilter_DEFS = VBOX_WITH_HGCM LOG_TO_BACKDOOR + VBoxMouseFilter_DEFS += LOG_ENABLED + VBoxMouseFilter_INCS = ../include +diff --git a/src/VBox/Additions/haiku/VBoxTray/Makefile.kmk b/src/VBox/Additions/haiku/VBoxTray/Makefile.kmk +index a79a82e..130cfd9 100644 +--- a/src/VBox/Additions/haiku/VBoxTray/Makefile.kmk ++++ b/src/VBox/Additions/haiku/VBoxTray/Makefile.kmk +@@ -51,7 +51,7 @@ include $(KBUILD_PATH)/subheader.kmk + # single bin will cause problems loading gcc4 binary from a gcc2-built Deskbar! + + PROGRAMS += VBoxTray +-VBoxTray_TEMPLATE = VBOXGUESTR3EXE ++VBoxTray_TEMPLATE = NewVBoxGuestR3Exe + VBoxTray_DEFS = VBOX_WITH_HGCM LOG_TO_BACKDOOR + VBoxTray_DEFS += LOG_ENABLED + VBoxTray_INCS = ../include +diff --git a/src/VBox/Additions/haiku/VBoxTray/VBoxGuestApplication.cpp b/src/VBox/Additions/haiku/VBoxTray/VBoxGuestApplication.cpp +index 0690ff3..6cdee5a 100644 +--- a/src/VBox/Additions/haiku/VBoxTray/VBoxGuestApplication.cpp ++++ b/src/VBox/Additions/haiku/VBoxTray/VBoxGuestApplication.cpp +@@ -75,6 +75,7 @@ void VBoxGuestApplication::ReadyToRun() + status_t err; + + err = VBoxGuestDeskbarView::AddToDeskbar(); ++ printf("error 0x%08lx\n", err); + LogFlow(("VBoxGuestDeskbarView::ReadyToRun: AddToDeskbar returned 0x%08lx\n", err)); + exit(0); + } +diff --git a/src/VBox/Additions/haiku/VBoxTray/VBoxGuestDeskbarView.cpp b/src/VBox/Additions/haiku/VBoxTray/VBoxGuestDeskbarView.cpp +index 1da72bc..56246a2 100644 +--- a/src/VBox/Additions/haiku/VBoxTray/VBoxGuestDeskbarView.cpp ++++ b/src/VBox/Additions/haiku/VBoxTray/VBoxGuestDeskbarView.cpp +@@ -47,6 +47,7 @@ + * Header Files * + *******************************************************************************/ + #include ++#include + #include + #include + #include +@@ -83,7 +84,8 @@ our_image(image_info& image) + VBoxGuestDeskbarView::VBoxGuestDeskbarView() + : BView(BRect(0, 0, 15, 15), VIEWNAME, B_FOLLOW_NONE, + B_WILL_DRAW | B_NAVIGABLE), +- fIcon(NULL), fClipboardService(NULL), fDisplayService(NULL) ++ fIcon(NULL), fInitStatus(B_NO_INIT), ++ fClipboardService(NULL), fDisplayService(NULL) + { + _Init(); + } +@@ -91,7 +93,8 @@ VBoxGuestDeskbarView::VBoxGuestDeskbarView() + + VBoxGuestDeskbarView::VBoxGuestDeskbarView(BMessage *archive) + : BView(archive), +- fIcon(NULL) ++ fIcon(NULL), fInitStatus(B_NO_INIT), ++ fClipboardService(NULL), fDisplayService(NULL) + { + archive->PrintToStream(); + _Init(archive); +@@ -106,7 +109,13 @@ VBoxGuestDeskbarView::~VBoxGuestDeskbarView() + fClipboardService->Disconnect(); + delete fClipboardService; + } +- VbglR3Term(); ++ if (fDisplayService) ++ { ++ //fDisplayService->Disconnect(); ++ delete fDisplayService; ++ } ++ if (fInitStatus == B_OK) ++ VbglR3Term(); + } + + +@@ -165,8 +174,10 @@ void VBoxGuestDeskbarView::AttachedToWindow() + void VBoxGuestDeskbarView::DetachedFromWindow() + { + BMessage message(B_QUIT_REQUESTED); +- fClipboardService->MessageReceived(&message); +- fDisplayService->MessageReceived(&message); ++ if (fClipboardService) ++ fClipboardService->MessageReceived(&message); ++ if (fDisplayService) ++ fDisplayService->MessageReceived(&message); + } + + +@@ -197,7 +208,7 @@ void VBoxGuestDeskbarView::MessageReceived(BMessage *message) + if (message->what == B_QUIT_REQUESTED) + RemoveFromDeskbar(); + else +- BHandler::MessageReceived(message); ++ BView::MessageReceived(message); + } + + +@@ -217,7 +228,9 @@ status_t VBoxGuestDeskbarView::AddToDeskbar(bool force) + return err; + + BPath p(&info.ref); +- return deskbar.AddItem(&info.ref); ++ printf("%s:%s\n", __FUNCTION__, p.Path()); ++ int32 id; ++ return deskbar.AddItem(&info.ref, &id); + } + + +@@ -260,14 +273,15 @@ status_t VBoxGuestDeskbarView::_Init(BMessage *archive) + fIcon = BTranslationUtils::GetBitmap(&mem); + } + +- int rc = RTR3InitDll(RTR3INIT_FLAGS_UNOBTRUSIVE); ++ int rc = RTR3InitDll(RTR3INIT_FLAGS_SUPLIB | RTR3INIT_FLAGS_UNOBTRUSIVE | RTR3INIT_FLAGS_UTF8_ARGV); + if (RT_SUCCESS(rc)) + { + rc = VbglR3Init(); + if (RT_SUCCESS(rc)) + { + fClipboardService = new VBoxClipboardService(); +- fDisplayService = new VBoxDisplayService(); ++ //fDisplayService = new VBoxDisplayService(); ++ fInitStatus = B_OK; + } + else + LogRel(("VBoxGuestDeskbarView::_init VbglR3Init failed. rc=%d\n", rc)); +@@ -278,8 +292,10 @@ status_t VBoxGuestDeskbarView::_Init(BMessage *archive) + } + + ++extern "C" { + RTDECL(BView*) instantiate_deskbar_item() + { ++ printf("%s()\n", __FUNCTION__); + return new VBoxGuestDeskbarView(); + } +- ++} // C +diff --git a/src/VBox/Additions/haiku/VBoxTray/VBoxGuestDeskbarView.h b/src/VBox/Additions/haiku/VBoxTray/VBoxGuestDeskbarView.h +index 2bd4bc5..d4842d9 100644 +--- a/src/VBox/Additions/haiku/VBoxTray/VBoxGuestDeskbarView.h ++++ b/src/VBox/Additions/haiku/VBoxTray/VBoxGuestDeskbarView.h +@@ -88,6 +88,7 @@ class VBoxGuestDeskbarView : public BView + status_t _Init(BMessage *archive = NULL); + BBitmap *fIcon; + ++ status_t fInitStatus; + VBoxClipboardService *fClipboardService; + VBoxDisplayService *fDisplayService; + }; +diff --git a/src/VBox/Runtime/VBox/log-vbox.cpp b/src/VBox/Runtime/VBox/log-vbox.cpp +index dc10c4a..9010890 100644 +--- a/src/VBox/Runtime/VBox/log-vbox.cpp ++++ b/src/VBox/Runtime/VBox/log-vbox.cpp +@@ -423,7 +423,7 @@ RTDECL(PRTLOGGER) RTLogDefaultInit(void) + + # else /* IN_GUEST */ + /* The user destination is backdoor logging. */ +- rc = RTLogCreate(&pLogger, 0, NULL, "VBOX_LOG", RT_ELEMENTS(g_apszGroups), &g_apszGroups[0], RTLOGDEST_USER, "VBox.log"); ++ rc = RTLogCreate(&pLogger, 0, NULL, "VBOX_LOG", RT_ELEMENTS(g_apszGroups), &g_apszGroups[0], RTLOGDEST_USER, "VirtualBox.log"); + # endif /* IN_GUEST */ + + #else /* IN_RING0 */ +@@ -492,6 +492,11 @@ RTDECL(PRTLOGGER) RTLogDefaultInit(void) + RTLogFlags(pLogger, "enabled unbuffered tid"); + pLogger->fDestFlags |= RTLOGDEST_DEBUGGER | RTLOGDEST_STDOUT; + # endif ++# if 1 /* vboxdrv logging - ATTENTION: this is what we're referring to guys! Change to '# if 1'. */ ++ RTLogGroupSettings(pLogger, "+all"); ++ RTLogFlags(pLogger, "enabled unbuffered tid"); ++ pLogger->fDestFlags |= RTLOGDEST_DEBUGGER | RTLOGDEST_STDOUT; ++# endif + } + #endif /* IN_RING0 */ + return g_pLogger = RT_SUCCESS(rc) ? pLogger : NULL; +diff --git a/src/VBox/Runtime/r0drv/haiku/RTLogWriteDebugger-r0drv-haiku.c b/src/VBox/Runtime/r0drv/haiku/RTLogWriteDebugger-r0drv-haiku.c +index e301aa8..d47e7c6 100644 +--- a/src/VBox/Runtime/r0drv/haiku/RTLogWriteDebugger-r0drv-haiku.c ++++ b/src/VBox/Runtime/r0drv/haiku/RTLogWriteDebugger-r0drv-haiku.c +@@ -36,6 +36,7 @@ + RTDECL(void) RTLogWriteDebugger(const char *pch, size_t cb) + { + /** @todo implement this */ ++ dprintf("%.*s", (int)cb, pch); + /*kprintf("%.*s", (int)cb, pch);*/ + return; + } +diff --git a/src/VBox/Runtime/r0drv/haiku/alloc-r0drv-haiku.c b/src/VBox/Runtime/r0drv/haiku/alloc-r0drv-haiku.c +index 7617aaf..d1fae9a 100644 +--- a/src/VBox/Runtime/r0drv/haiku/alloc-r0drv-haiku.c ++++ b/src/VBox/Runtime/r0drv/haiku/alloc-r0drv-haiku.c +@@ -44,10 +44,12 @@ + */ + int rtR0MemAllocEx(size_t cb, uint32_t fFlags, PRTMEMHDR *ppHdr) + { ++ PRTMEMHDR pHdr; ++ + if (RT_UNLIKELY(fFlags & RTMEMHDR_FLAG_ANY_CTX)) + return VERR_NOT_SUPPORTED; + +- PRTMEMHDR pHdr = (PRTMEMHDR)malloc(cb + sizeof(*pHdr)); ++ pHdr = (PRTMEMHDR)malloc(cb + sizeof(*pHdr)); + if (RT_UNLIKELY(!pHdr)) + { + LogRel(("rtR0MemAllocEx(%u, %#x) failed\n",(unsigned)cb + sizeof(*pHdr), fFlags)); +@@ -75,6 +77,9 @@ void rtR0MemFree(PRTMEMHDR pHdr) + + RTR0DECL(void *) RTMemContAlloc(PRTCCPHYS pPhys, size_t cb) RT_NO_THROW + { ++ void *pv; ++ area_id area; ++ + /* + * Validate input. + */ +@@ -87,8 +92,7 @@ RTR0DECL(void *) RTMemContAlloc(PRTCCPHYS pPhys, size_t cb) RT_NO_THROW + * memory that's always below 4GB. + */ + cb = RT_ALIGN_Z(cb, PAGE_SIZE); +- void *pv; +- area_id area = create_area("VirtualBox Contig Alloc", &pv, B_ANY_KERNEL_ADDRESS, cb, B_32_BIT_CONTIGUOUS, ++ area = create_area("VirtualBox Contig Alloc", &pv, B_ANY_KERNEL_ADDRESS, cb, B_32_BIT_CONTIGUOUS, + B_READ_AREA | B_WRITE_AREA); + if (area >= 0) + { +@@ -112,9 +116,10 @@ RTR0DECL(void) RTMemContFree(void *pv, size_t cb) RT_NO_THROW + RT_ASSERT_PREEMPTIBLE(); + if (pv) + { ++ area_id area; + Assert(cb > 0); + +- area_id area = area_for(pv); ++ area = area_for(pv); + if (area >= B_OK) + delete_area(area); + else +diff --git a/src/VBox/Runtime/r0drv/haiku/memobj-r0drv-haiku.c b/src/VBox/Runtime/r0drv/haiku/memobj-r0drv-haiku.c +index 83dac1d..984e973 100644 +--- a/src/VBox/Runtime/r0drv/haiku/memobj-r0drv-haiku.c ++++ b/src/VBox/Runtime/r0drv/haiku/memobj-r0drv-haiku.c +@@ -153,13 +153,15 @@ int rtR0MemObjNativeFree(RTR0MEMOBJ pMem) + static int rtR0MemObjNativeAllocArea(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, + bool fExecutable, RTR0MEMOBJTYPE type, RTHCPHYS PhysHighest, size_t uAlignment) + { +- NOREF(fExecutable); +- + int rc; + void *pvMap = NULL; + const char *pszName = NULL; + uint32 addressSpec = B_ANY_KERNEL_ADDRESS; + uint32 fLock = ~0U; ++ PRTR0MEMOBJHAIKU pMemHaiku; ++ ++ NOREF(fExecutable); ++ + LogFlowFunc(("ppMem=%p cb=%u, fExecutable=%s, type=%08x, PhysHighest=%RX64 uAlignment=%u\n", ppMem,(unsigned)cb, + fExecutable ? "true" : "false", type, PhysHighest,(unsigned)uAlignment)); + +@@ -201,7 +203,6 @@ static int rtR0MemObjNativeAllocArea(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, + } + + /* Create the object. */ +- PRTR0MEMOBJHAIKU pMemHaiku; + pMemHaiku = (PRTR0MEMOBJHAIKU)rtR0MemObjNew(sizeof(RTR0MEMOBJHAIKU), type, NULL, cb); + if (RT_UNLIKELY(!pMemHaiku)) + return VERR_NO_MEMORY; +@@ -277,11 +278,13 @@ int rtR0MemObjNativeAllocPhysNC(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, RTHCPHYS + + int rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJINTERNAL ppMem, RTHCPHYS Phys, size_t cb, uint32_t uCachePolicy) + { ++ PRTR0MEMOBJHAIKU pMemHaiku; ++ + AssertReturn(uCachePolicy == RTMEM_CACHE_POLICY_DONT_CARE, VERR_NOT_SUPPORTED); + LogFlowFunc(("ppMem=%p Phys=%08x cb=%u uCachePolicy=%x\n", ppMem, Phys,(unsigned)cb, uCachePolicy)); + + /* Create the object. */ +- PRTR0MEMOBJHAIKU pMemHaiku = (PRTR0MEMOBJHAIKU)rtR0MemObjNew(sizeof(*pMemHaiku), RTR0MEMOBJTYPE_PHYS, NULL, cb); ++ pMemHaiku = (PRTR0MEMOBJHAIKU)rtR0MemObjNew(sizeof(*pMemHaiku), RTR0MEMOBJTYPE_PHYS, NULL, cb); + if (!pMemHaiku) + return VERR_NO_MEMORY; + +@@ -311,15 +314,16 @@ int rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJINTERNAL ppMem, RTHCPHYS Phys, size_t + static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTERNAL ppMem, void *pvStart, size_t cb, uint32_t fAccess, + RTR0PROCESS R0Process, int fFlags) + { +- NOREF(fAccess); + int rc; + team_id TeamId = B_SYSTEM_TEAM; ++ PRTR0MEMOBJHAIKU pMemHaiku; ++ NOREF(fAccess); + + LogFlowFunc(("ppMem=%p pvStart=%p cb=%u fAccess=%x R0Process=%d fFlags=%x\n", ppMem, pvStart, cb, fAccess, R0Process, + fFlags)); + + /* Create the object. */ +- PRTR0MEMOBJHAIKU pMemHaiku = (PRTR0MEMOBJHAIKU)rtR0MemObjNew(sizeof(*pMemHaiku), RTR0MEMOBJTYPE_LOCK, pvStart, cb); ++ pMemHaiku = (PRTR0MEMOBJHAIKU)rtR0MemObjNew(sizeof(*pMemHaiku), RTR0MEMOBJTYPE_LOCK, pvStart, cb); + if (RT_UNLIKELY(!pMemHaiku)) + return VERR_NO_MEMORY; + +@@ -605,10 +609,11 @@ RTHCPHYS rtR0MemObjNativeGetPagePhysAddr(PRTR0MEMOBJINTERNAL pMem, size_t iPage) + team_id TeamId = B_SYSTEM_TEAM; + physical_entry aPhysMap[2]; + int32 cPhysMap = 2; /** @todo r=ramshankar: why not use RT_ELEMENTS? */ ++ void *pb; + + if (pMemHaiku->Core.u.Lock.R0Process != NIL_RTR0PROCESS) + TeamId = (team_id)pMemHaiku->Core.u.Lock.R0Process; +- void *pb = pMemHaiku->Core.pv + (iPage << PAGE_SHIFT); ++ pb = pMemHaiku->Core.pv + (iPage << PAGE_SHIFT); + + rc = get_memory_map_etc(TeamId, pb, B_PAGE_SIZE, aPhysMap, &cPhysMap); + if (rc < B_OK || cPhysMap < 1) +diff --git a/src/VBox/Runtime/r0drv/haiku/semevent-r0drv-haiku.c b/src/VBox/Runtime/r0drv/haiku/semevent-r0drv-haiku.c +index 9000aef..b94af77 100644 +--- a/src/VBox/Runtime/r0drv/haiku/semevent-r0drv-haiku.c ++++ b/src/VBox/Runtime/r0drv/haiku/semevent-r0drv-haiku.c +@@ -66,12 +66,15 @@ RTDECL(int) RTSemEventCreate(PRTSEMEVENT phEventSem) + + RTDECL(int) RTSemEventCreateEx(PRTSEMEVENT phEventSem, uint32_t fFlags, RTLOCKVALCLASS hClass, const char *pszNameFmt, ...) + { ++ PRTSEMEVENTINTERNAL pThis; ++ + AssertCompile(sizeof(RTSEMEVENTINTERNAL) > sizeof(void *)); + AssertReturn(!(fFlags & ~(RTSEMEVENT_FLAGS_NO_LOCK_VAL | RTSEMEVENT_FLAGS_BOOTSTRAP_HACK)), VERR_INVALID_PARAMETER); + Assert(!(fFlags & RTSEMEVENT_FLAGS_BOOTSTRAP_HACK) || (fFlags & RTSEMEVENT_FLAGS_NO_LOCK_VAL)); ++ dprintf("phEventSem: %p\n", phEventSem); + AssertPtrReturn(phEventSem, VERR_INVALID_POINTER); + +- PRTSEMEVENTINTERNAL pThis = (PRTSEMEVENTINTERNAL)RTMemAllocZ(sizeof(*pThis)); ++ pThis = (PRTSEMEVENTINTERNAL)RTMemAllocZ(sizeof(*pThis)); + if (!pThis) + return VERR_NO_MEMORY; + +diff --git a/src/VBox/Runtime/r0drv/haiku/semeventmulti-r0drv-haiku.c b/src/VBox/Runtime/r0drv/haiku/semeventmulti-r0drv-haiku.c +index 2e4fc31..b0cf6ce 100644 +--- a/src/VBox/Runtime/r0drv/haiku/semeventmulti-r0drv-haiku.c ++++ b/src/VBox/Runtime/r0drv/haiku/semeventmulti-r0drv-haiku.c +@@ -76,7 +76,7 @@ RTDECL(int) RTSemEventMultiCreateEx(PRTSEMEVENTMULTI phEventMultiSem, uint32_t + pThis->u32Magic = RTSEMEVENTMULTI_MAGIC; + pThis->cRefs = 1; + pThis->SemId = create_sem(0, "IPRT Semaphore Event Multi"); +- if (pThis->SemId < B_OK) ++ if (pThis->SemId >= B_OK) + { + set_sem_owner(pThis->SemId, B_SYSTEM_TEAM); + *phEventMultiSem = pThis; +diff --git a/src/VBox/Runtime/r0drv/haiku/semfastmutex-r0drv-haiku.c b/src/VBox/Runtime/r0drv/haiku/semfastmutex-r0drv-haiku.c +index 3b28b1a..1c66df5 100644 +--- a/src/VBox/Runtime/r0drv/haiku/semfastmutex-r0drv-haiku.c ++++ b/src/VBox/Runtime/r0drv/haiku/semfastmutex-r0drv-haiku.c +@@ -57,10 +57,13 @@ typedef struct RTSEMFASTMUTEXINTERNAL + + RTDECL(int) RTSemFastMutexCreate(PRTSEMFASTMUTEX phFastMtx) + { ++ PRTSEMFASTMUTEXINTERNAL pThis; ++ + AssertCompile(sizeof(RTSEMFASTMUTEXINTERNAL) > sizeof(void *)); ++ dprintf("phFastMtx: %p\n", phFastMtx); + AssertPtrReturn(phFastMtx, VERR_INVALID_POINTER); + +- PRTSEMFASTMUTEXINTERNAL pThis = (PRTSEMFASTMUTEXINTERNAL)RTMemAllocZ(sizeof(*pThis)); ++ pThis = (PRTSEMFASTMUTEXINTERNAL)RTMemAllocZ(sizeof(*pThis)); + if (RT_UNLIKELY(!pThis)) + return VERR_NO_MEMORY; + +diff --git a/src/VBox/Runtime/r0drv/haiku/semmutex-r0drv-haiku.c b/src/VBox/Runtime/r0drv/haiku/semmutex-r0drv-haiku.c +index 9e8f3ba..5d238d4 100644 +--- a/src/VBox/Runtime/r0drv/haiku/semmutex-r0drv-haiku.c ++++ b/src/VBox/Runtime/r0drv/haiku/semmutex-r0drv-haiku.c +@@ -65,16 +65,19 @@ typedef struct RTSEMMUTEXINTERNAL + + RTDECL(int) RTSemMutexCreate(PRTSEMMUTEX phMutexSem) + { ++ PRTSEMMUTEXINTERNAL pThis; ++ + AssertCompile(sizeof(RTSEMMUTEXINTERNAL) > sizeof(void *)); ++ dprintf("phMutexSem: %p\n", phMutexSem); + AssertPtrReturn(phMutexSem, VERR_INVALID_POINTER); + +- PRTSEMMUTEXINTERNAL pThis = (PRTSEMMUTEXINTERNAL)RTMemAllocZ(sizeof(*pThis)); ++ pThis = (PRTSEMMUTEXINTERNAL)RTMemAllocZ(sizeof(*pThis)); + if (RT_UNLIKELY(!pThis)) + return VERR_NO_MEMORY; + + pThis->u32Magic = RTSEMMUTEX_MAGIC; + pThis->SemId = create_sem(0, "IPRT Mutex Semaphore"); +- if (pThis->SemId < B_OK) ++ if (pThis->SemId >= B_OK) + { + pThis->OwnerId = -1; + pThis->cRecursion = 0; +@@ -215,7 +218,7 @@ RTDECL(int) RTSemMutexRelease(RTSEMMUTEX hMutexSem) + if (--pThis->cRecursion == 0) + { + pThis->OwnerId == -1; +- release_sem(pThis->SemId); ++ release_sem_etc(pThis->SemId, 1, B_DO_NOT_RESCHEDULE); + } + + return VINF_SUCCESS; +diff --git a/src/VBox/Runtime/r0drv/haiku/spinlock-r0drv-haiku.c b/src/VBox/Runtime/r0drv/haiku/spinlock-r0drv-haiku.c +index d60e8cc..cd044cf 100644 +--- a/src/VBox/Runtime/r0drv/haiku/spinlock-r0drv-haiku.c ++++ b/src/VBox/Runtime/r0drv/haiku/spinlock-r0drv-haiku.c +@@ -66,14 +66,15 @@ typedef struct RTSPINLOCKINTERNAL + + RTDECL(int) RTSpinlockCreate(PRTSPINLOCK pSpinlock, uint32_t fFlags, const char *pszName) + { ++ PRTSPINLOCKINTERNAL pSpinlockInt; + RT_ASSERT_PREEMPTIBLE(); + NOREF(pszName); + + /* + * Allocate. + */ +- AssertCompile(sizeof(RTSPINLOCKINTERNAL) > sizeof(void *)); +- PRTSPINLOCKINTERNAL pSpinlockInt = (PRTSPINLOCKINTERNAL)RTMemAllocZ(sizeof(*pSpinlockInt)); ++// AssertCompile(sizeof(RTSPINLOCKINTERNAL) > sizeof(void *)); ++ pSpinlockInt = (PRTSPINLOCKINTERNAL)RTMemAllocZ(sizeof(*pSpinlockInt)); + if (RT_UNLIKELY(!pSpinlockInt)) + return VERR_NO_MEMORY; + +diff --git a/src/VBox/Runtime/r3/haiku/rtProcInitExePath-haiku.cpp b/src/VBox/Runtime/r3/haiku/rtProcInitExePath-haiku.cpp +index ca7d829..99afe4e 100644 +--- a/src/VBox/Runtime/r3/haiku/rtProcInitExePath-haiku.cpp ++++ b/src/VBox/Runtime/r3/haiku/rtProcInitExePath-haiku.cpp +@@ -31,6 +31,7 @@ + #ifdef RT_OS_HAIKU + # include + #endif ++#include + + #include + #include +@@ -51,6 +52,7 @@ DECLHIDDEN(int) rtProcInitExePath(char *pszPath, size_t cchPath) + */ + status = get_next_image_info(0, &Cookie, &ImageInfo); + AssertReturn((status == B_OK), VERR_INTERNAL_ERROR); ++fprintf(stderr, "p='%s'\n", ImageInfo.name); + + int rc = rtPathFromNativeCopy(pszPath, MIN(cchPath, MAXPATHLEN), ImageInfo.name, NULL); + AssertMsgRCReturn(rc, ("rc=%Rrc pszLink=\"%s\"\nhex: %.*Rhxs\n", rc, pszPath, MIN(cchPath, MAXPATHLEN), pszPath), rc); +diff --git a/src/VBox/Runtime/r3/posix/utf8-posix.cpp b/src/VBox/Runtime/r3/posix/utf8-posix.cpp +index c5c1607..f3e6d59 100644 +--- a/src/VBox/Runtime/r3/posix/utf8-posix.cpp ++++ b/src/VBox/Runtime/r3/posix/utf8-posix.cpp +@@ -173,7 +173,7 @@ static int rtstrConvertCached(const void *pvInput, size_t cbInput, const char *p + iconv_t hIconv = (iconv_t)*phIconv; + if (hIconv == (iconv_t)-1) + { +-#ifdef RT_OS_SOLARIS ++#if defined(RT_OS_HAIKU) || defined(RT_OS_SOLARIS) + /* Solaris doesn't grok empty codeset strings, so help it find the current codeset. */ + if (!*pszInputCS) + pszInputCS = rtStrGetLocaleCodeset(); +@@ -304,7 +304,7 @@ static int rtStrConvertUncached(const void *pvInput, size_t cbInput, const char + /* + * Create conversion object. + */ +-#ifdef RT_OS_SOLARIS ++#if defined(RT_OS_HAIKU) || defined(RT_OS_SOLARIS) + /* Solaris doesn't grok empty codeset strings, so help it find the current codeset. */ + if (!*pszInputCS) + pszInputCS = rtStrGetLocaleCodeset(); +diff --git a/src/libs/kStuff/kStuff/include/k/kDefs.h b/src/libs/kStuff/kStuff/include/k/kDefs.h +index 0f2215f..064d62d 100644 +--- a/src/libs/kStuff/kStuff/include/k/kDefs.h ++++ b/src/libs/kStuff/kStuff/include/k/kDefs.h +@@ -60,8 +60,10 @@ + #define K_OS_SOLARIS 9 + /** Windows. */ + #define K_OS_WINDOWS 10 ++/** Haiku */ ++#define K_OS_HAIKU 11 + /** The max K_OS_* value (exclusive). */ +-#define K_OS_MAX 11 ++#define K_OS_MAX 12 + /** @} */ + + /** @def K_OS +@@ -82,6 +84,8 @@ + # define K_OS K_OS_DRAGONFLY + # elif defined(__FreeBSD__) /*??*/ + # define K_OS K_OS_FREEBSD ++# elif defined(__HAIKU__) ++# define K_OS K_OS_HAIKU + # elif defined(__gnu_linux__) + # define K_OS K_OS_LINUX + # elif defined(__NetBSD__) /*??*/ +-- +1.8.3.4 + diff --git a/app-emulation/virtualbox-guest-additions/virtualbox_guest_additions-4.3.53_svn.recipe b/app-emulation/virtualbox-guest-additions/virtualbox_guest_additions-4.3.53_svn.recipe index e78aa103a..cc75347cf 100644 --- a/app-emulation/virtualbox-guest-additions/virtualbox_guest_additions-4.3.53_svn.recipe +++ b/app-emulation/virtualbox-guest-additions/virtualbox_guest_additions-4.3.53_svn.recipe @@ -8,8 +8,7 @@ This package contains the VirtualBox kernel modules and user-space \ tools for Haiku guests. " HOMEPAGE="http://www.virtualbox.org/" -SRC_URI="svn+http://www.virtualbox.org/svn/vbox/trunk#51740" -#CHECKSUM_SHA256="" +SRC_URI="svn+http://www.virtualbox.org/svn/vbox/trunk#53373" #TODO:check user manual for full list COPYRIGHT="2003-2014 Oracle Corporation." #TODO:check user manual for full list @@ -17,7 +16,7 @@ LICENSE=" GNU GPL v2 CDDL v1 " -REVISION="1" +REVISION="2" ARCHITECTURES="x86_gcc2 x86 x86_64" PROVIDES=" @@ -27,7 +26,7 @@ PROVIDES=" cmd:VBoxTray$secondaryArchSuffix = $portVersion " -PATCHES="vbox-$portVersion.patch" +# TODO: POST_INSTALL_SCRIPTS="" REQUIRES=" haiku$secondaryArchSuffix >= $haikuVersion @@ -35,7 +34,6 @@ REQUIRES=" lib:libiconv$secondaryArchSuffix lib:libz$secondaryArchSuffix lib:libpng$secondaryArchSuffix -# lib:libstdc++$secondaryArchSuffix lib:libcurl$secondaryArchSuffix " @@ -52,6 +50,7 @@ BUILD_PREREQUIRES=" haiku_x86 >= $haikuVersion haiku${secondaryArchSuffix}_devel >= $haikuVersion cmd:mkisofs + cmd:grep cmd:gcc$secondaryArchSuffix cmd:ld$secondaryArchSuffix cmd:sed @@ -59,6 +58,8 @@ BUILD_PREREQUIRES=" cmd:yasm " +PATCHES="virtualbox_guest_additions-$portVersion.patchset" + BUILD() { # use the checked-out kBuild for now @@ -71,23 +72,28 @@ BUILD() INSTALL() { - op="out/haiku.x86/strict" - ap=$op/bin/additions + cd out/haiku.x86/strict/bin/additions + mkdir -p $addOnsDir/kernel/{generic,drivers/bin,drivers/dev/misc} - tad="$addOnsDir" - tbd="$binDir" + cp vboxguest $addOnsDir/kernel/generic + cp vboxdev $addOnsDir/kernel/drivers/bin + ln -fs ../../bin/vboxdev $addOnsDir/kernel/drivers/dev/misc - mkdir -p "$tad/kernel/generic" - mkdir -p "$tad/kernel/drivers/bin" - cp $ap/vboxguest "$tad/kernel/generic/" - cp $ap/vboxdev "$tad/kernel/drivers/bin/" - mkdir -p "$tad/kernel/drivers/dev/misc" - ln -fs ../../bin/vboxdev "$tad/kernel/drivers/dev/misc/" - mkdir -p "$tad/kernel/file_systems" - #cp $ap/vboxsf "$tad/kernel/file_systems/" +# mkdir -p $addOnsDir/kernel/file_systems +# cp vboxsf $addOnsDir/kernel/file_systems - mkdir -p "$tbd" - cp $ap/VBoxControl "$tbd/" - cp $ap/VBoxService "$tbd/" - cp $ap/VBoxTray "$tbd/" +# mkdir -p $addOnsDir/{input_server/filters,input_server/devices} +# cp VBoxMouseFilter $addOnsDir/input_server/filters +# cp VBoxMouse $addOnsDir/input_server/devices + +# mkdir -p $addOnsDir/{accelerants,kernel/drivers/dev/graphics} +# cp vboxvideo $addOnsDir/kernel/drivers/bin +# ln -fs ../../bin/vboxvideo $addOnsDir/kernel/drivers/dev/graphics +# cp vboxvideo.accelerant $addOnsDir/accelerants +# + mkdir -p $binDir + cp VBoxControl $binDir + cp VBoxService $binDir + cp VBoxTray $binDir } + diff --git a/app-misc/gcal/gcal-3.6.3.recipe b/app-misc/gcal/gcal-3.6.3.recipe new file mode 100644 index 000000000..326acaa90 --- /dev/null +++ b/app-misc/gcal/gcal-3.6.3.recipe @@ -0,0 +1,56 @@ +SUMMARY="Program for calculating and printing calendars" +DESCRIPTION=" +Gcal is a program for calculating and printing calendars. Gcal displays hybrid \ +and proleptic Julian and Gregorian calendar sheets, respectively for one month, \ +three months, or a whole year. It also displays eternal holiday lists for many \ +countries around the globe, and features a very powerful creation of fixed date \ +lists that can be used for reminding purposes. +" +HOMEPAGE="http://www.gnu.org/software/gcal/" +SRC_URI="http://ftp.gnu.org/gnu/gcal/gcal-3.6.3.tar.gz" +CHECKSUM_SHA256="9d9be60841150a5c60e27fc5e0f2c06c06635ac44c18698d6a48ef7bb47ba86d" +LICENSE="GNU GPL v3" +REVISION="1" +COPYRIGHT="1994-2013 Free Software Foundation Inc." + +ARCHITECTURES="x86_gcc2 x86 x86_64" + +PROVIDES=" + gcal = $portVersion + cmd:gcal + cmd:gcal2txt + cmd:tcal + cmd:txt2gcal + " + +REQUIRES=" + haiku >= $haikuVersion + " + +BUILD_PREREQUIRES=" + cmd:grep + cmd:make + cmd:sed + cmd:gcc + cmd:awk + " + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + " + +BUILD() +{ + runConfigure ./configure + make $jobArgs +} + +INSTALL() +{ + make install +} + +TEST() +{ + make check +} diff --git a/app-misc/weather/weather-0.0.1_git.recipe b/app-misc/weather/weather-0.0.1_git.recipe new file mode 100644 index 000000000..bcabdce96 --- /dev/null +++ b/app-misc/weather/weather-0.0.1_git.recipe @@ -0,0 +1,33 @@ +SUMMARY="A simple weather application." +DESCRIPTION="A small weather application built for GCI, currently only a GUI demonstration. Network capability should arrive by 0.1.1" +HOMEPAGE="https://github.com/georgewhite5/HaikuWeather" +SRC_URI="git+https://github.com/georgewhite5/HaikuWeather.git#7731be69bbcd1a150a72a631ef84784c842c75ec" +ARCHITECTURES="x86 x86_gcc2 x86_64" +REVISION="1" +LICENSE="MIT" +COPYRIGHT="2014 George White" + +BUILD_PREREQUIRES=" + cmd:make + cmd:gcc + makefile_engine + haiku_devel + " + +PROVIDES=" + weather + app:Weather = $portVersion + " + +BUILD() +{ + make OBJDIR=objects +} + +INSTALL() +{ + mkdir -p $appsDir + cd objects* + cp Weather $appsDir/Weather + addAppDeskbarSymlink $appsDir/Weather +} diff --git a/app-text/antiword/patches/antiword-0.37.patch b/app-text/antiword/patches/antiword-0.37.patch index 117c4e06a..2873294b8 100644 --- a/app-text/antiword/patches/antiword-0.37.patch +++ b/app-text/antiword/patches/antiword-0.37.patch @@ -6,7 +6,7 @@ diff -Naur antiword-0.37/antiword.h antiword-0.37-haiku/antiword.h #define ANTIWORD_DIR "antiword" #define FONTNAMES_FILE "fontnames" +#elif defined(__haiku) -+#define GLOBAL_ANTIWORD_DIR "/boot/common/data/antiword" ++#define GLOBAL_ANTIWORD_DIR "/boot/system/data/antiword" +#define ANTIWORD_DIR "antiword" +#define FONTNAMES_FILE "fontnames" #elif defined(__CYGMING__) @@ -28,7 +28,7 @@ diff -Naur antiword-0.37/Makefile.haiku antiword-0.37-haiku/Makefile.haiku +INSTALL_DATA = $(INSTALL) + +# must be equal to DEBUG or NDEBUG -+DB = DEBUG ++DB = NDEBUG +# Optimization: -O or debugging: -g +OPT = -O2 + diff --git a/app-text/sword/sword-1.7.3.recipe b/app-text/sword/sword-1.7.3.recipe index 836e1dd43..1ea0242ac 100644 --- a/app-text/sword/sword-1.7.3.recipe +++ b/app-text/sword/sword-1.7.3.recipe @@ -1,24 +1,28 @@ -SUMMARY="the biblical text research engine" - +SUMMARY="The biblical text research engine" DESCRIPTION="The SWORD Project is the CrossWire Bible Society's free Bible \ software project. Its purpose is to create cross-platform open-source tools-- \ covered by the GNU General Public License-- that allow programmers and Bible \ societies to write new Bible software more quickly and easily. We also create \ Bible study software for all readers, students, scholars, and translators of \ -the Bible, and have a growing collection of over 200 texts in over 50 languages -" - +the Bible, and have a growing collection of over 200 texts in over 50 languages." HOMEPAGE="http://www.crosswire.org/sword" LICENSE="GNU GPL v2" -COPYRIGHT="Copyright 1998-2014 CrossWire Bible Society" +COPYRIGHT="1998-2014 CrossWire Bible Society" SRC_URI="http://www.crosswire.org/ftpmirror/pub/sword/source/v1.7/sword-1.7.3.tar.gz" CHECKSUM_SHA256="5a3d87ff155d5ecb0cfec052ba333b2b74d9273e2cc66fb1ca75747dfd8ea9ea" -REVISION="1" -ARCHITECTURES="x86_gcc2 x86" +REVISION="3" +ARCHITECTURES="x86 ?x86_64" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + # x86_gcc2 is fine as primary target architecture as long as we're building + # for a different secondary architecture. + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +else + ARCHITECTURES="$ARCHITECTURES !x86_gcc2" +fi SECONDARY_ARCHITECTURES="x86" PROVIDES=" - libsword$secondaryArchSuffix = $portVersion + sword$secondaryArchSuffix = $portVersion cmd:diatheke$secondaryArchSuffix = $portVersion cmd:imp2gbs$secondaryArchSuffix = $portVersion cmd:imp2ld$secondaryArchSuffix = $portVersion @@ -36,7 +40,11 @@ PROVIDES=" cmd:vs2osisreftxt$secondaryArchSuffix = $portVersion cmd:xml2gbs$secondaryArchSuffix = $portVersion lib:libsword$secondaryArchSuffix = $portVersion - lib:libsword$secondaryArchSuffix = $portVersion + " + +PROVIDES_devel=" + sword${secondaryArchSuffix}_devel = $portVersion + devel:libsword$secondaryArchSuffix = $portVersion " REQUIRES=" @@ -44,7 +52,12 @@ REQUIRES=" lib:libcurl$secondaryArchSuffix lib:libssl$secondaryArchSuffix lib:libcrypto$secondaryArchSuffix - lib:libz$libcrypto$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " + +REQUIRES_devel=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + sword$secondaryArchSuffix == $portVersion base " BUILD_REQUIRES=" @@ -66,7 +79,6 @@ BUILD_PREREQUIRES=" BUILD() { - echo true runConfigure ./configure --without-conf --without-clucene make $jobArgs } @@ -74,4 +86,10 @@ BUILD() INSTALL() { make $jobArgs install + + prepareInstalledDevelLibs \ + libsword + + packageEntries devel \ + $developDir } diff --git a/dev-cpp/hugen/hugen-1.recipe b/dev-cpp/hugen/hugen-1.recipe index ccbbc4733..b3f776870 100644 --- a/dev-cpp/hugen/hugen-1.recipe +++ b/dev-cpp/hugen/hugen-1.recipe @@ -23,8 +23,10 @@ REQUIRES=" cmd:python$secondaryArchSuffix " BUILD_REQUIRES=" + cmd:python " BUILD_PREREQUIRES=" + cmd:python " BUILD() @@ -35,8 +37,13 @@ BUILD() INSTALL() { - mkdir -p $binDir/hugen_app - cp -R hugen.py configs/ templates/ $binDir/hugen_app - echo python $binDir/hugen_app/hugen.py > $binDir/hugen - chmod +x $binDir/hugen + mkdir -p $binDir + python=$portPackageLinksDir/cmd~python/bin/python + version=$($python --version 2>&1 | sed 's/Python //' | head -c3) + + installLocation=$prefix/lib/python$version/vendor-packages + mkdir -p $installLocation/hugen_app + cp -R hugen.py configs/ templates/ $installLocation/hugen_app + echo python $installLocation/hugen_app/hugen.py > $binDir/hugen + chmod +x $binDir/hugen } diff --git a/dev-games/ode/ode-0.12.recipe b/dev-games/ode/ode-0.12.recipe index f9129d0d0..09da5fc0d 100644 --- a/dev-games/ode/ode-0.12.recipe +++ b/dev-games/ode/ode-0.12.recipe @@ -36,6 +36,7 @@ BUILD_PREREQUIRES=" cmd:mkdepend cmd:gcc$secondaryArchSuffix cmd:ld$secondaryArchSuffix + cmd:awk " PATCHES="ode-0.12.patch" diff --git a/dev-lang/perl/perl-5.18.2.recipe b/dev-lang/perl/perl-5.18.2.recipe index e819a8c0a..37ebd474a 100644 --- a/dev-lang/perl/perl-5.18.2.recipe +++ b/dev-lang/perl/perl-5.18.2.recipe @@ -89,6 +89,7 @@ BUILD_PREREQUIRES=" cmd:ld cmd:make cmd:sed + cmd:grep " perlArchName="$(uname -m)-haiku" diff --git a/dev-lang/yab/yab-1.7.02.recipe b/dev-lang/yab/yab-1.7.02.recipe index cd45c0cbc..76692b48f 100644 --- a/dev-lang/yab/yab-1.7.02.recipe +++ b/dev-lang/yab/yab-1.7.02.recipe @@ -4,10 +4,14 @@ yab is an extended version of yabasic, a BASIC programming language, with \ special commands designed for Haiku. " HOMEPAGE="http://sourceforge.net/projects/yab-interpreter" -SRC_URI="git+https://github.com/HaikuArchives/Yab.git#a5681d8a3403c142eae0ad416a59abd2aa7a28e4" +SRC_URI="https://github.com/HaikuArchives/Yab/archive/v1.7.3.tar.gz" +CHECKSUM_SIZE="1176449" +CHECKSUM_RMD160="f62fa02a585d9f6c5ee3eb9b781a06083352bd6f" +CHECKSUM_SHA512="a74edcf9718ee9a13a16ab0a99fbbed3cceebf1ea4bfac714b098d51531de7fdd0738e126b9a2e5d2f8d84fd0c153d9b7702e806cc91c6a97537dda11411e915" +SOURCE_DIR="Yab-1.7.3" -REVISION="2" +REVISION="3" LICENSE="Artistic" diff --git a/dev-libs/glib/glib-1.2.10.recipe b/dev-libs/glib/glib-1.2.10.recipe index 2e34bc13b..92be8b050 100644 --- a/dev-libs/glib/glib-1.2.10.recipe +++ b/dev-libs/glib/glib-1.2.10.recipe @@ -22,8 +22,8 @@ COPYRIGHT="1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald REVISION="1" -ARCHITECTURES="?x86_gcc2 x86" -SECONDARY_ARCHITECTURES="?x86_gcc2 x86" +ARCHITECTURES="x86_gcc2 x86" +SECONDARY_ARCHITECTURES="x86_gcc2 x86" PROVIDES=" glib$secondaryArchSuffix = $portVersion compat >= 1 diff --git a/dev-libs/libffi/libffi-3.2.1.recipe b/dev-libs/libffi/libffi-3.2.1.recipe index e5b624282..80d18f53f 100644 --- a/dev-libs/libffi/libffi-3.2.1.recipe +++ b/dev-libs/libffi/libffi-3.2.1.recipe @@ -6,8 +6,8 @@ HOMEPAGE="http://sourceware.org/libffi" LICENSE="MIT" REVISION="2" -ARCHITECTURES="x86_gcc2 x86 x86_64" -SECONDARY_ARCHITECTURES="x86_gcc2 x86" +ARCHITECTURES="!x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="!x86_gcc2 x86" SRC_URI="ftp://sourceware.org/pub/libffi/libffi-$portVersion.tar.gz" CHECKSUM_SHA256="d06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37" diff --git a/dev-libs/libidl/libidl-0.6.8.recipe b/dev-libs/libidl/libidl-0.6.8.recipe index af0895bf4..aa7268aa0 100644 --- a/dev-libs/libidl/libidl-0.6.8.recipe +++ b/dev-libs/libidl/libidl-0.6.8.recipe @@ -12,8 +12,8 @@ CHECKSUM_SHA256="50e8f7674815e42a6e8be32610838d9b7da91b3043784d2b69d17b79c7203e7 COPYRIGHT="1998-1999 Andrew T. Veliath" LICENSE="GNU LGPL v2" REVISION="1" -ARCHITECTURES="x86 ?x86_gcc2" -SECONDARY_ARCHITECTURES="x86 ?x86_gcc2" +ARCHITECTURES="x86_gcc2 x86" +SECONDARY_ARCHITECTURES="x86_gcc2 x86" PROVIDES=" libidl$secondaryArchSuffix = $portVersion @@ -23,7 +23,7 @@ PROVIDES=" REQUIRES=" haiku$secondaryArchSuffix >= $haikuVersion - lib:libglib + lib:libglib$secondaryArchSuffix " BUILD_REQUIRES=" diff --git a/dev-libs/libtommath/libtommath-0.42.0.recipe b/dev-libs/libtommath/libtommath-0.42.0.recipe new file mode 100644 index 000000000..d1fcad3a9 --- /dev/null +++ b/dev-libs/libtommath/libtommath-0.42.0.recipe @@ -0,0 +1,54 @@ +SUMMARY="LibTomMath is a theoretic integer library written entirely in C." +DESCRIPTION="LibTomMath is a free open source portable number theoretic \ +multiple-precision integer library written entirely in C." +HOMEPAGE="http://libtommath.org" +SRC_URI="https://github.com/libtom/libtommath/archive/v0.42.0.tar.gz" +CHECKSUM_SHA256="5246356ba18c1b6edf4a7bc836a3d223842b86914cdba6dd8c112bfc59e227c8" +REVISION="1" +LICENSE="Public Domain" +COPYRIGHT="2010 Tom St. Denis" +PATCHES="libtommath-0.42.0.patchset" + +ARCHITECTURES="x86_gcc2 ?x86" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + libtommath$secondaryArchSuffix = $portVersion + " + +PROVIDES_devel=" + libtommath${secondaryArchSuffix}_devel = $portVersion + devel:libtommath$secondaryArchSuffix = $portVersion + " + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + " + +REQUIRES_devel=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + libtommath$secondaryArchSuffix == $portVersion base + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:make + cmd:cc + cmd:ar + cmd:ranlib + cmd:install + " + +BUILD() +{ + make $jobArgs +} + +INSTALL() +{ + export LIBPATH=$libDir + export INCPATH=$includeDir + make install $jobArgs + prepareInstalledDevelLibs libtommath + packageEntries devel $developDir +} diff --git a/dev-libs/libtommath/patches/libtommath-0.42.0.patchset b/dev-libs/libtommath/patches/libtommath-0.42.0.patchset new file mode 100644 index 000000000..bc86a4b3b --- /dev/null +++ b/dev-libs/libtommath/patches/libtommath-0.42.0.patchset @@ -0,0 +1,50 @@ +From f2b4b4b4aa83b658ae9a23d5195e04487a102d88 Mon Sep 17 00:00:00 2001 +From: Nolan Clark +Date: Sat, 6 Dec 2014 16:01:50 -0600 +Subject: applying patch makefile.patch + + +diff --git a/makefile b/makefile +index 70de306..e3a0a04 100644 +--- a/makefile ++++ b/makefile +@@ -27,18 +27,9 @@ CFLAGS += -fomit-frame-pointer + + endif + +-#install as this user +-ifndef INSTALL_GROUP +- GROUP=wheel +-else +- GROUP=$(INSTALL_GROUP) +-endif +- +-ifndef INSTALL_USER +- USER=root +-else +- USER=$(INSTALL_USER) +-endif ++#install as this user and group ++USER=user ++GROUP=root + + #default files to install + ifndef LIBNAME +@@ -49,14 +40,6 @@ default: ${LIBNAME} + + HEADERS=tommath.h tommath_class.h tommath_superclass.h + +-#LIBPATH-The directory for libtommath to be installed to. +-#INCPATH-The directory to install the header files for libtommath. +-#DATAPATH-The directory to install the pdf docs. +-DESTDIR= +-LIBPATH=/usr/lib +-INCPATH=/usr/include +-DATAPATH=/usr/share/doc/libtommath/pdf +- + OBJECTS=bncore.o bn_mp_init.o bn_mp_clear.o bn_mp_exch.o bn_mp_grow.o bn_mp_shrink.o \ + bn_mp_clamp.o bn_mp_zero.o bn_mp_set.o bn_mp_set_int.o bn_mp_init_size.o bn_mp_copy.o \ + bn_mp_init_copy.o bn_mp_abs.o bn_mp_neg.o bn_mp_cmp_mag.o bn_mp_cmp.o bn_mp_cmp_d.o \ +-- +1.8.3.4 + diff --git a/dev-python/argh/argh-0.26.1.recipe b/dev-python/argh/argh-0.26.1.recipe new file mode 100644 index 000000000..954eabb67 --- /dev/null +++ b/dev-python/argh/argh-0.26.1.recipe @@ -0,0 +1,55 @@ +SUMMARY="An unobtrusive argparse wrapper with natural syntax" +DESCRIPTION="Building a command-line interface? \ +Found yourself uttering "argh!" while struggling with the API of argparse? \ +Don't like the complexity but need the power? +Argh is a smart wrapper for argparse. Argparse is a very powerful tool; \ +Argh just makes it easy to use." +HOMEPAGE="https://pypi.python.org/pypi/argh" + +SRC_URI="https://pypi.python.org/packages/source/a/argh/argh-0.26.1.tar.gz" +CHECKSUM_SHA256="06a7442cb9130fb8806fe336000fcf20edf1f2f8ad205e7b62cec118505510db" +LICENSE="GNU LGPL v3" +COPYRIGHT="2010—2014 Andrey Mikhaylenko and contributors" +REVISION="1" + +ARCHITECTURES="x86 x86_gcc2 x86_64" + +SOURCE_DIR="argh-$portVersion" + +PROVIDES=" + argh = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion + cmd:python + " + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + python_setuptools + " + +BUILD_PREREQUIRES=" + cmd:python + cmd:gcc + " + +BUILD() +{ + $portPackageLinksDir/cmd~python/bin/python setup.py build +} + +INSTALL() +{ + # GENERIC: all python_setuptools-based installs need this + python=$portPackageLinksDir/cmd~python/bin/python + pythonVersion=$($python --version 2>&1 | sed 's/Python //' | head -c3) + installLocation=$prefix/lib/python$pythonVersion/vendor-packages/ + export PYTHONPATH=$installLocation:$PYTHONPATH + mkdir -p $installLocation + + $python setup.py install \ + --single-version-externally-managed \ + --root=/ --prefix=$prefix +} diff --git a/dev-python/pathtools/pathtools-0.1.2.recipe b/dev-python/pathtools/pathtools-0.1.2.recipe new file mode 100644 index 000000000..0cda667d2 --- /dev/null +++ b/dev-python/pathtools/pathtools-0.1.2.recipe @@ -0,0 +1,56 @@ +SUMMARY="HTTP library for human beings" +DESCRIPTION=" + Requests is an Apache2 Licensed HTTP library, written in Python, \ + for human beings. +" +HOMEPAGE=" + http://python-requests.org/ + http://pypi.python.org/pypi/requests + " +SRC_URI="https://pypi.python.org/packages/source/p/pathtools/pathtools-0.1.2.tar.gz" +CHECKSUM_SHA256="7c35c5421a39bb82e58018febd90e3b6e5db34c5443aaaf742b3f33d4655f1c0" +LICENSE="MIT" +COPYRIGHT="2010 Yesudeep Mangalapilly" +REVISION="1" + +ARCHITECTURES="x86 x86_gcc2 x86_64" + +SOURCE_DIR="pathtools-$portVersion" + +PROVIDES=" + pathtools = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion + cmd:python + " + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + python_setuptools + " + +BUILD_PREREQUIRES=" + cmd:python + cmd:gcc + " + +BUILD() +{ + $portPackageLinksDir/cmd~python/bin/python setup.py build +} + +INSTALL() +{ + # GENERIC: all python_setuptools-based installs need this + python=$portPackageLinksDir/cmd~python/bin/python + pythonVersion=$($python --version 2>&1 | sed 's/Python //' | head -c3) + installLocation=$prefix/lib/python$pythonVersion/vendor-packages/ + export PYTHONPATH=$installLocation:$PYTHONPATH + mkdir -p $installLocation + + $python setup.py install \ + --single-version-externally-managed \ + --root=/ --prefix=$prefix +} diff --git a/dev-python/python_setuptools/python_setuptools-5.3.recipe b/dev-python/python_setuptools/python_setuptools-5.3.recipe index f4b5afb01..8ec7dde6f 100644 --- a/dev-python/python_setuptools/python_setuptools-5.3.recipe +++ b/dev-python/python_setuptools/python_setuptools-5.3.recipe @@ -27,6 +27,7 @@ BUILD_REQUIRES="" BUILD_PREREQUIRES=" haiku_devel >= $haikuVersion cmd:python + cmd:sed " BUILD() diff --git a/dev-python/pyyaml/pyyaml-3.11.recipe b/dev-python/pyyaml/pyyaml-3.11.recipe new file mode 100644 index 000000000..19ad24e4c --- /dev/null +++ b/dev-python/pyyaml/pyyaml-3.11.recipe @@ -0,0 +1,66 @@ +SUMMARY="YAML parser and emitter for Python" +DESCRIPTION=" +YAML is a data serialization format designed for human readability \ +and interaction with scripting languages. \ +PyYAML is a YAML parser and emitter for Python. + +PyYAML features a complete YAML 1.1 parser, Unicode support, \ +pickle support, capable extension API, and sensible error messages. \ +PyYAML supports standard YAML tags and \ +provides Python-specific tags that allow to represent an arbitrary Python object. + +PyYAML is applicable for a broad range of tasks from \ +complex configuration files to object serialization and persistance. +" +HOMEPAGE=" + http://pyyaml.org/ + http://pypi.python.org/pypi/PyYAML + " +SRC_URI="https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.11.tar.gz" +CHECKSUM_SHA256="c36c938a872e5ff494938b33b14aaa156cb439ec67548fcab3535bb78b0846e8" +LICENSE="MIT" +COPYRIGHT="2006 Kirill Simonov" +REVISION="1" + +ARCHITECTURES="x86 x86_gcc2 x86_64" + +SOURCE_DIR="PyYAML-$portVersion" + +PROVIDES=" + pyyaml = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion + cmd:python + " + +#TODO: eventually depend on http://pyyaml.org/wiki/LibYAML +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + cmd:sed + python_setuptools + " + +BUILD_PREREQUIRES=" + cmd:python + cmd:gcc + " + +BUILD() +{ + $portPackageLinksDir/cmd~python/bin/python setup.py build +} + +INSTALL() +{ + # GENERIC: all python_setuptools-based installs need this + python=$portPackageLinksDir/cmd~python/bin/python + pythonVersion=$($python --version 2>&1 | sed 's/Python //' | head -c3) + installLocation=$prefix/lib/python$pythonVersion/vendor-packages/ + export PYTHONPATH=$installLocation:$PYTHONPATH + mkdir -p $installLocation + + $python setup.py install \ + --prefix=$prefix +} diff --git a/dev-python/urllib3/urllib3-1.9.1.recipe b/dev-python/urllib3/urllib3-1.9.1.recipe new file mode 100644 index 000000000..50bbe7846 --- /dev/null +++ b/dev-python/urllib3/urllib3-1.9.1.recipe @@ -0,0 +1,64 @@ +SUMMARY="HTTP library with thread-safe connection pooling, file post, and more." +DESCRIPTION=" +- Re-use the same socket connection for multiple requests + (HTTPConnectionPool and HTTPSConnectionPool) + (with optional client-side certificate verification). +- File posting (encode_multipart_formdata). +- Built-in redirection and retries (optional). +- Supports gzip and deflate decoding. +- Thread-safe and sanity-safe. +- Works with AppEngine, gevent, and eventlib. +- Tested on Python 2.6+, Python 3.2+, and PyPy, with 100% unit test coverage. +- Small and easy to understand codebase perfect for extending and building upon. + For a more comprehensive solution, have a look at \ + Requests which is also powered by urllib3 +" +HOMEPAGE=" + http://urllib3.readthedocs.org/ + https://pypi.python.org/pypi/urllib3 + " +SRC_URI="https://github.com/shazow/urllib3/archive/1.9.1.tar.gz" +CHECKSUM_SHA256="baf4dbc6d78f4a7bb28a44d3772cd8f3b24df5282f5cb72f3d85106aa06cf2a3" +LICENSE="MIT" +COPYRIGHT="2008-2014 Andrey Petrov and contributors" +REVISION="1" + +ARCHITECTURES="x86 x86_gcc2 x86_64" + +SOURCE_DIR="urllib3-$portVersion" + +PROVIDES=" + urllib3 = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion + cmd:python + " + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + " + +BUILD_PREREQUIRES=" + cmd:python + cmd:gcc + " + +BUILD() +{ + $portPackageLinksDir/cmd~python/bin/python setup.py build +} + +INSTALL() +{ + # GENERIC: all python_setuptools-based installs need this + python=$portPackageLinksDir/cmd~python/bin/python + pythonVersion=$($python --version 2>&1 | sed 's/Python //' | head -c3) + installLocation=$prefix/lib/python$pythonVersion/vendor-packages/ + export PYTHONPATH=$installLocation:$PYTHONPATH + mkdir -p $installLocation + + $python setup.py install \ + --prefix=$prefix +} diff --git a/dev-python/watchdog/watchdog-0.8.2.recipe b/dev-python/watchdog/watchdog-0.8.2.recipe new file mode 100644 index 000000000..bf2ef3f52 --- /dev/null +++ b/dev-python/watchdog/watchdog-0.8.2.recipe @@ -0,0 +1,58 @@ +SUMMARY="Filesystem events monitoring" +DESCRIPTION="Python API and shell utilities to monitor file system events." +HOMEPAGE="https://pypi.python.org/pypi/watchdog" + +SRC_URI="https://pypi.python.org/packages/source/w/watchdog/watchdog-0.8.2.tar.gz" +CHECKSUM_SHA256="33a9ab3ce2e6b1aca4d2a50752231668d69bdba4ab096d9742195ccfbef1e023" +LICENSE="Apache v2" +COPYRIGHT=" + 2011 Yesudeep Mangalapilly + 2012 Google, Inc. + " +REVISION="1" + +ARCHITECTURES="x86 x86_gcc2 x86_64" + +SOURCE_DIR="watchdog-$portVersion" + +PROVIDES=" + watchdog = $portVersion + cmd:watchmedo + " + +REQUIRES=" + haiku >= $haikuVersion + cmd:python + argh + pathtools + pyyaml + " + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + python_setuptools + " + +BUILD_PREREQUIRES=" + cmd:python + cmd:gcc + " + +BUILD() +{ + $portPackageLinksDir/cmd~python/bin/python setup.py build +} + +INSTALL() +{ + # GENERIC: all python_setuptools-based installs need this + python=$portPackageLinksDir/cmd~python/bin/python + pythonVersion=$($python --version 2>&1 | sed 's/Python //' | head -c3) + installLocation=$prefix/lib/python$pythonVersion/vendor-packages/ + export PYTHONPATH=$installLocation:$PYTHONPATH + mkdir -p $installLocation + + $python setup.py install \ + --single-version-externally-managed \ + --root=/ --prefix=$prefix +} diff --git a/dev-qt/monkeystudio/monkeystudio-1.9.0.4.recipe b/dev-qt/monkeystudio/monkeystudio-1.9.0.4.recipe new file mode 100644 index 000000000..85619506f --- /dev/null +++ b/dev-qt/monkeystudio/monkeystudio-1.9.0.4.recipe @@ -0,0 +1,61 @@ +SUMMARY="A cross platform IDE written in C++/Qt 4" +DESCRIPTION="MonkeyStudio's primary goal was to be a Qt 4 only IDE, but it \ +evolved to be a way to support any kind of project. It supports Qt 4 \ +project management and embeds Designer and Assistant to form a complete, \ +fast and powerful Qt-based IDE. It's based upon a flexible plugin system \ +that allows extending it in a near-infinite manner." +HOMEPAGE="http://www.monkeystudio.org" +SRC_URI="http://monkeystudio.googlecode.com/files/mks_1.9.0.4-src.tar.gz" +CHECKSUM_SHA256="cfd3517ac6d4a5d8ffdf7ec9995a624b6cef13aa00163e46a9b54b1f52164ffd" +SOURCE_DIR="mks_$portVersion-src" +PATCHES="monkeystudio-$portVersion.patch" +REVISION="1" +LICENSE="GNU GPL v2" +COPYRIGHT="2005-2012 Azevedo Filipe & The Monkey Studio Team" + +ARCHITECTURES="x86 ?x86_64" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + monkeystudio${secondaryArchSuffix} = $portVersion + app:MonkeyStudio${secondaryArchSuffix} = $portVersion + " + +REQUIRES=" + haiku${secondaryArchSuffix} >= $haikuVersion + libqt4${secondaryArchSuffix} >= 4.8.0 + " + +BUILD_PREREQUIRES=" + cmd:qmake${secondaryArchSuffix} + cmd:make + cmd:g++${secondaryArchSuffix} + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel == $haikuVersion + libqt4${secondaryArchSuffix}_devel >= 4.8.0 + " + +BUILD() +{ + qmake -set SYSTEM_QSCINTILLA 0 + qmake -r prefix=$appsDir/MonkeyStudio + make $jobArgs +} + +INSTALL() +{ + monkeyDir=$appsDir/MonkeyStudio + mkdir -p $monkeyDir + make install + + mv $monkeyDir/bin/monkeystudio $monkeyDir/bin/MonkeyStudio + rm -rf $monkeyDir/share/applications + rm -rf $monkeyDir/share/doc + + addAppDeskbarSymlink $monkeyDir/bin/MonkeyStudio "MonkeyStudio" +} diff --git a/dev-qt/monkeystudio/patches/monkeystudio-1.9.0.4.patch b/dev-qt/monkeystudio/patches/monkeystudio-1.9.0.4.patch new file mode 100644 index 000000000..452326705 --- /dev/null +++ b/dev-qt/monkeystudio/patches/monkeystudio-1.9.0.4.patch @@ -0,0 +1,25 @@ +From cc357095af73c88c2cc267bc355ad59476afde50 Mon Sep 17 00:00:00 2001 +From: Augustin Cavalier +Date: Wed, 3 Dec 2014 20:58:56 -0500 +Subject: [PATCH] Don't pass -rdynamic on Haiku. + +Our GCC4 doesn't support this and throws an error. +--- + monkey/monkey.pro | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/monkey/monkey.pro b/monkey/monkey.pro +index e006f70..a11d135 100644 +--- a/monkey/monkey.pro ++++ b/monkey/monkey.pro +@@ -20,7 +20,6 @@ LIBS *= -L$${PACKAGE_BUILD_PATH}/$${Q_TARGET_ARCH}/$$buildMode() + mac:*-g++*:LIBS *= -Wl,-all_load # import all symbols as the not used ones too + else:*-g++*:LIBS *= -Wl,--whole-archive # import all symbols as the not used ones too + mac:*-g++*:LIBS *= -dynamic +-else:unix:*-g++*:LIBS *= -rdynamic + + # include qscintilla framework + include( ../qscintilla/qscintilla.pri ) +-- +1.8.3.4 + diff --git a/dev-util/astyle/astyle-2.03.recipe b/dev-util/astyle/astyle-2.05.recipe similarity index 85% rename from dev-util/astyle/astyle-2.03.recipe rename to dev-util/astyle/astyle-2.05.recipe index c9e945f34..4d3794786 100644 --- a/dev-util/astyle/astyle-2.03.recipe +++ b/dev-util/astyle/astyle-2.05.recipe @@ -5,13 +5,18 @@ re-formats C / C++ / C# / Java source files. It can be used from a command \ line, or it can be incorporated as classes in another C++ program. " HOMEPAGE="http://astyle.sourceforge.net" -SRC_URI="http://sourceforge.net/projects/astyle/files/astyle/astyle%202.03/astyle_2.03_linux.tar.gz" -CHECKSUM_SHA256="22b5249a0b8c9fab3b3bcd467abcb3c6b4a78458b528028634a83dca4c6ca389" +SRC_URI="http://sourceforge.net/projects/astyle/files/astyle/astyle%20${portVersion}/astyle_${portVersion}_linux.tar.gz" +CHECKSUM_SHA256="da34eb1f8f12e6f50f1cf674944c0db70c91b203008e11be0f57aa8267823a39" LICENSE="GNU LGPL v3" -COPYRIGHT="1998-2002 by Tal Davidson - 2006-2013 Jim Pattee" + +COPYRIGHT=" +1998-2002 by Tal Davidson \ +2006-2013 Jim Pattee +" + REVISION="1" -ARCHITECTURES="x86" +ARCHITECTURES="x86 x86_64 arm ppc" + if [ $effectiveTargetArchitecture != x86_gcc2 ]; then # x86_gcc2 is fine as primary target architecture as long as we're building # for a different secondary architecture. diff --git a/dev-util/indent/indent-2.2.10.recipe b/dev-util/indent/indent-2.2.10.recipe new file mode 100644 index 000000000..8330b4660 --- /dev/null +++ b/dev-util/indent/indent-2.2.10.recipe @@ -0,0 +1,78 @@ +SUMMARY="Indent program source files" +DESCRIPTION="The indent program can be used to make code easier to read. + It can also convert from one style of writing C to another. indent + understands a substantial amount about the syntax of C, but it also + attempts to cope with incomplete and misformed syntax. + " +HOMEPAGE="https://www.gnu.org/software/indent/" +REVISION="2" +ARCHITECTURES="x86 x86_gcc2" +LICENSE="GNU GPL v3" +COPYRIGHT="Copyright (c) 1999, 2000 Carlo Wood. All rights reserved. + Copyright (c) 1994, 1996, 1997 Joseph Arceneaux. All rights reserved. + Copyright (c) 1992, 2002, 2008 Free Software Foundation, Inc. All rights reserved. + Copyright (c) 1980 The Regents of the University of California. + Copyright (c) 1976 Board of Trustees of the University of Illinois. All rights reserved. + Copyright (c) 1985 Sun Microsystems, Inc.1998-2000 The Santa Cruz Operation + " + +SRC_URI="http://mirror.keystealth.org/gnu/indent/indent-2.2.10.tar.gz" +CHECKSUM_SHA256="8a9b41be5bfcab5d8c1be74204b10ae78789fc3deabea0775fdced8677292639" + +ARCHITECTURES="x86 x86_64 arm ppc" + +PROVIDES=" + indent = $portVersion + cmd:indent = $portVersion + cmd:texinfo2man = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion + lib:libiconv$secondaryArchSuffix + lib:libintl$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + gettext$secondaryArchSuffix + " + +BUILD_PREREQUIRES=" + haiku_devel >= $haikuVersion + cmd:aclocal + cmd:autoconf + cmd:automake + cmd:autopoint + cmd:autoreconf + cmd:awk + cmd:gcc + cmd:ld + cmd:libtoolize + cmd:make + cmd:find + " + +BUILD() +{ + libtoolize --force --copy --install + ./bootstrap + runConfigure ./configure + make $jobArgs +} + +INSTALL() +{ + make install + + # Clean up improperly placed documentation + mkdir -p $docDir/html + mv $prefix/doc/indent/* $docDir/html/ + rm -rf $prefix/doc +} + +TEST() +{ + make test + make check +} diff --git a/dev-util/indent/indent-2.2.11.recipe b/dev-util/indent/indent-2.2.11.recipe deleted file mode 100644 index bcc2e7068..000000000 --- a/dev-util/indent/indent-2.2.11.recipe +++ /dev/null @@ -1,39 +0,0 @@ -DESCRIPTION="Indent program source files" -HOMEPAGE="http://indent.isidore-it.eu/beautify.html" -SRC_URI="http://indent.isidore-it.eu/indent-2.2.11.tar.gz" -REVISION="1" -STATUS_HAIKU="stable" -DEPEND="sys-devel/gettext >= 0.17 - net-misc/rsync >= 3.0.7 - app-text/texi2html >= 1.82" -CHECKSUM_MD5="98beafca62472805a3739d3867d5d70f" -BUILD() -{ - cd indent-2.2.11 - libtoolize --force --copy --install - ./bootstrap - ./configure --prefix=`finddir B_COMMON_DIRECTORY` - make -} - -INSTALL() -{ - cd indent-2.2.11 - make install DESTDIR=${DESTDIR} -} - -TEST() -{ - cd indent-2.2.11 -# make test -# make check -} - -LICENSE="BSD (3-clause)" -COPYRIGHT="1999-2000 Carlo Wood. All rights reserved - 1994, 1996-1997 Joseph Arceneaux All rights reserved. - 1992, 2002, 2008 Free Software Foundation, Inc. All rights reserved. - 1985 Sun Microsystems, Inc. - 1980 The Regents of the University of California. - 1976 Board of Trustees of the University of Illinois. All rights reserved. - " diff --git a/dev-util/uncrustify/uncrustify-0.60.recipe b/dev-util/uncrustify/uncrustify-0.60.recipe new file mode 100644 index 000000000..c52ccdf5d --- /dev/null +++ b/dev-util/uncrustify/uncrustify-0.60.recipe @@ -0,0 +1,58 @@ +SUMMARY="A highly configurable, easily modifiable source code beautifier" +DESCRIPTION="\ + * Ident code, aligning on parens, assignments, etc + * Align on '=' and variable definitions + * Align structure initializers + * Align #define stuff + * Align backslash-newline stuff + * Reformat comments (a little bit) + * Fix inter-character spacing + * Add or remove parens on return statements + * Add or remove braces on single-statement if/do/while/for statements + * Supports embedded SQL 'EXEC SQL' stuff + * Highly configurable - 454 configurable options!" +HOMEPAGE="http://uncrustify.sourceforge.net/" +COPYRIGHT="2005-2014 Ben Gardner" +LICENSE="GNU GPL v2" +SRC_URI="https://github.com/bengardner/uncrustify/archive/uncrustify-$portVersion.tar.gz" +CHECKSUM_SHA256="42c9f84340c5d6a0087037c96b4fe4b46955691e7038700dec98a2e4782b57a3" +SOURCE_DIR="uncrustify-uncrustify-$portVersion" +REVISION="1" +ARCHITECTURES="x86 ?x86_64" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + # x86_gcc2 is fine as primary target architecture as long as we're building + # for a different secondary architecture. + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +else + ARCHITECTURES="$ARCHITECTURES !x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + uncrustify$secondaryArchSuffix = $portVersion compat >= 0.60 + cmd:uncrustify = $portVersion compat >= 0.60 + " +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + " +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + " +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:awk + " + +BUILD() +{ + runConfigure --omit-dirs binDir ./configure --bindir=$prefix/bin + make $jobArgs +} + +INSTALL() +{ + make install +} diff --git a/games-emulation/visualboyadvance/visualboyadvance-1.8.recipe b/games-emulation/visualboyadvance/visualboyadvance-1.8.recipe index 29173fec3..ffd5e7a50 100644 --- a/games-emulation/visualboyadvance/visualboyadvance-1.8.recipe +++ b/games-emulation/visualboyadvance/visualboyadvance-1.8.recipe @@ -34,7 +34,7 @@ BUILD_REQUIRES=" devel:libpng$secondaryArchSuffix " BUILD_PREREQUIRES=" - cmd:nasm$secondaryArchSuffix + cmd:nasm cmd:make cmd:gcc$secondaryArchSuffix cmd:ld$secondaryArchSuffix diff --git a/games-engines/scummvm-tools/scummvm_tools-1.7.0.recipe b/games-engines/scummvm-tools/scummvm_tools-1.7.0.recipe index 612a8425a..3a2f07149 100644 --- a/games-engines/scummvm-tools/scummvm_tools-1.7.0.recipe +++ b/games-engines/scummvm-tools/scummvm_tools-1.7.0.recipe @@ -7,7 +7,7 @@ HOMEPAGE="http://scummvm.org" SRC_URI="http://sourceforge.net/projects/scummvm/files/scummvm-tools/1.7.0/scummvm-tools-1.7.0.tar.gz" SOURCE_DIR="scummvm-tools-1.7.0" CHECKSUM_SHA256="6437cc87d5a0c81fe971c96059670e662e72141b53ee61923d374b5660997cbc" -REVISION="1" +REVISION="2" LICENSE="GNU GPL v2" COPYRIGHT="2001-2013 ScummVM Team" @@ -33,7 +33,7 @@ REQUIRES=" haiku >= $haikuVersion lib:libvorbis lib:libogg - lib:libflac + lib:libFLAC lib:libmad lib:libpng lib:libz @@ -46,7 +46,7 @@ BUILD_REQUIRES=" haiku_devel >= $haikuVersion devel:libvorbis devel:libogg - devel:libflac + devel:libFLAC devel:libmad devel:libpng devel:libz diff --git a/games-engines/scummvm/scummvm-1.6.0.recipe b/games-engines/scummvm/scummvm-1.6.0.recipe index cdd269f73..c4f465e0e 100644 --- a/games-engines/scummvm/scummvm-1.6.0.recipe +++ b/games-engines/scummvm/scummvm-1.6.0.recipe @@ -7,7 +7,7 @@ were never designed!" HOMEPAGE="http://scummvm.org" SRC_URI="http://prdownloads.sourceforge.net/scummvm/scummvm-1.6.0.tar.bz2?download" CHECKSUM_SHA256="396060da6a8f391438055c292a280048d29dc408c5b615db43256a86f0e57ec4" -REVISION="3" +REVISION="4" LICENSE="GNU GPL v2" COPYRIGHT="2001-2013 ScummVM Team" @@ -29,7 +29,7 @@ PROVIDES=" REQUIRES=" haiku$secondaryArchSuffix >= $haikuVersion lib:libfaad$secondaryArchSuffix - lib:libflac++$secondaryArchSuffix + lib:libFLAC++$secondaryArchSuffix lib:libfreetype$secondaryArchSuffix lib:libfluidsynth$secondaryArchSuffix lib:libGL$secondaryArchSuffix @@ -46,7 +46,7 @@ BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel >= $haikuVersion devel:libbz2$secondaryArchSuffix devel:libfaad$secondaryArchSuffix - devel:libflac++$secondaryArchSuffix + devel:libFLAC++$secondaryArchSuffix devel:libfreetype$secondaryArchSuffix devel:libfluidsynth$secondaryArchSuffix devel:libGL$secondaryArchSuffix diff --git a/games-engines/scummvm/scummvm-1.7.0.recipe b/games-engines/scummvm/scummvm-1.7.0.recipe index a26d6433f..57ddbaab3 100644 --- a/games-engines/scummvm/scummvm-1.7.0.recipe +++ b/games-engines/scummvm/scummvm-1.7.0.recipe @@ -7,7 +7,7 @@ were never designed!" HOMEPAGE="http://scummvm.org" SRC_URI="http://sourceforge.net/projects/scummvm/files/scummvm/1.7.0/scummvm-1.7.0.tar.gz" CHECKSUM_SHA256="aaee99d06b9c55e1359556908b5faeccfa017f2fdf5d1f3cf978dfb02b5bc301" -REVISION="1" +REVISION="2" LICENSE="GNU GPL v2" COPYRIGHT="2001-2014 ScummVM Team" @@ -29,7 +29,7 @@ PROVIDES=" REQUIRES=" haiku$secondaryArchSuffix >= $haikuVersion lib:libfaad$secondaryArchSuffix - lib:libflac$secondaryArchSuffix + lib:libFLAC$secondaryArchSuffix lib:libfreetype$secondaryArchSuffix lib:libfluidsynth$secondaryArchSuffix lib:libjpeg$secondaryArchSuffix @@ -47,7 +47,7 @@ BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel >= $haikuVersion devel:libbz2$secondaryArchSuffix devel:libfaad$secondaryArchSuffix - devel:libflac$secondaryArchSuffix + devel:libFLAC$secondaryArchSuffix devel:libfreetype$secondaryArchSuffix devel:libfluidsynth$secondaryArchSuffix devel:libGL$secondaryArchSuffix diff --git a/games-kids/pipepanic/patches/pipepanic-0.1.3.patch b/games-kids/pipepanic/patches/pipepanic-0.1.3.patch index 371ff24ad..1a6812cfb 100644 --- a/games-kids/pipepanic/patches/pipepanic-0.1.3.patch +++ b/games-kids/pipepanic/patches/pipepanic-0.1.3.patch @@ -1,17 +1,34 @@ ---- ../main.c 2006-05-16 22:11:29.042991616 +0200 -+++ main-new.c 2013-12-09 16:52:30.000000000 +0100 -@@ -16,6 +16,10 @@ +diff --git a/main.c b/main.c +index 6cf114c..960f57a 100644 +--- a/main.c ++++ b/main.c +@@ -16,6 +16,14 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Includes */ +// chdir() +#include +#include ++ ++#ifdef __HAIKU__ ++#include ++#endif + #include #include #include -@@ -102,6 +106,9 @@ +@@ -44,6 +52,10 @@ SDL_Surface *temp; + SDL_Event event; + char *current_dir; + char *user_home_dir; ++#ifdef __HAIKU__ ++char user_settings_dir[256]; ++#endif ++char save_file[256]; + int quit = 0; + int game_mode = GAMEON; + int previous_game_mode = 0; +@@ -102,6 +114,9 @@ extern "C" int main(int argc, char *argv[]) { int count, count2; @@ -21,9 +38,89 @@ /* Initialise the highscoreboard array because there may not yet be a saved highscore[board]/rc file */ for (count = 0; count < 5; count++) { - ---- ../pipepanic.rdef -+++ pipepanic.rdef +@@ -114,7 +129,16 @@ int main(int argc, char *argv[]) { + + current_dir = getenv("PWD"); + user_home_dir = getenv("HOME"); +- ++ ++ #ifdef __HAIKU__ ++ find_directory(B_USER_SETTINGS_DIRECTORY, NULL, true, ++ user_settings_dir, sizeof(user_settings_dir)); ++ snprintf(save_file, sizeof(save_file), ++ "%s/" RESOURCEFILE, user_settings_dir); ++ #else ++ snprintf(save_file, sizeof(save_file), ++ "%s/" RESOURCEFILE, user_home_dir); ++ #endif + #ifdef DEBUG + printf("PWD=%s\n", current_dir); + printf("HOME=%s\n", user_home_dir); +@@ -1567,16 +1591,12 @@ void read_rc_file(void) { + FILE* file; + int result, value, count; + +- strcpy(buffer, user_home_dir); +- strcat(buffer, "/"); +- strcat(buffer, RESOURCEFILE); +- + #ifdef DEBUG +- printf("%s\n", buffer); ++ printf("%s\n", save_file); + #endif + +- if ((file = fopen(buffer,"r")) == NULL) { +- printf("%s: Cannot read from file %s\n", __func__, buffer); ++ if ((file = fopen(save_file,"r")) == NULL) { ++ printf("%s: Cannot read from file %s\n", __func__, save_file); + return; + } + +@@ -1638,20 +1658,15 @@ void read_rc_file(void) { + ***************************************************************************/ + + void save_rc_file(void) { +- char buffer[256]; + FILE* file; + int count; + +- strcpy(buffer, user_home_dir); +- strcat(buffer, "/"); +- strcat(buffer, RESOURCEFILE); +- + #ifdef DEBUG +- printf("%s\n", buffer); ++ printf("%s\n", save_file); + #endif + +- if ((file = fopen(buffer,"w")) == NULL) { +- printf("%s: Cannot write to file %s\n", __func__, buffer); ++ if ((file = fopen(save_file,"w")) == NULL) { ++ printf("%s: Cannot write to file %s\n", __func__, save_file); + return; + } + +diff --git a/main.h b/main.h +index 664b75b..178f665 100644 +--- a/main.h ++++ b/main.h +@@ -27,7 +27,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + #define TILES48BMP "tiles48.bmp" + #define ASCII15BMP "ascii15.bmp" + #define ASCII30BMP "ascii30.bmp" ++#ifdef __HAIKU__ ++#define RESOURCEFILE "pipepanic" ++#else + #define RESOURCEFILE ".pipepanicrc" ++#endif + + #define MAGENTA 0xff, 0x00, 0xff + #define YELLOW 0xff, 0xcc, 0x66 +diff --git a/pipepanic.rdef b/pipepanic.rdef +new file mode 100644 +index 0000000..096d98d +--- /dev/null ++++ b/pipepanic.rdef @@ -0,0 +1,30 @@ +resource app_signature "application/x-vnd.Thnor-Pipepanic"; + diff --git a/games-kids/pipepanic/pipepanic-0.1.3.recipe b/games-kids/pipepanic/pipepanic-0.1.3.recipe index 766366857..4434a25b4 100644 --- a/games-kids/pipepanic/pipepanic-0.1.3.recipe +++ b/games-kids/pipepanic/pipepanic-0.1.3.recipe @@ -28,6 +28,9 @@ BUILD_PREREQUIRES=" cmd:gcc$secondaryArchSuffix cmd:make " +USER_SETTINGS_FILES=" + settings/pipepanic + " PATCHES=" pipepanic-0.1.3.patch " diff --git a/games-strategy/homeworld_sdl/homeworld_sdl-0.6.recipe b/games-strategy/homeworld_sdl/homeworld_sdl-0.6.recipe new file mode 100644 index 000000000..8b688b187 --- /dev/null +++ b/games-strategy/homeworld_sdl/homeworld_sdl-0.6.recipe @@ -0,0 +1,74 @@ +SUMMARY="Homeworld is a space real-time strategy computer game." +DESCRIPTION=" +Homeworld is a real-time strategy computer \ +game, set and played in a 3D space environment. \ +Developed by Relic Entertainment, it was released \ +for the PC in 1998 to worldwide acclaim, winning \ +multiple awards for its novel gameplay and strong \ +single-player story. Relic Entertainment later released \ +the source code to the public under licence. +" +HOMEPAGE="http://www.homeworldsdl.org/" +COPYRIGHT="1999-2000 Sierra On-Line, Inc." +LICENSE="RE-INC-EULA" +SRC_URI="git+https://bitbucket.org/extrowerk/homeworld-sdl-haiku.git" +REVISION="1" +ARCHITECTURES="x86_gcc2 x86" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + homeworld_sdl$secondaryArchSuffix = $portVersion + app:homeworld_sdl$secondaryArchSuffix = $portVersion + " + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libsdl$secondaryArchSuffix + lib:libGL$secondaryArchSuffix + lib:libglu$secondaryArchSuffix + #lib:mesa_swrast + " +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + devel:libsdl$secondaryArchSuffix + devel:libglu$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:autoconf + cmd:aclocal + cmd:libtool + cmd:yacc$secondaryArchSuffix + cmd:flex + " + +SOURCE_DIR="homeworld-sdl-haiku" + +BUILD() +{ + cd Haiku + echo "Bootstrapping Homewold_SDL" + bash ./bootstrap + echo "Configuring Homeworld_SDL" + runConfigure ../configure -C --bindir=$appsDir/Homeworld_SDL + echo "Building Homeworld_SDL" + make $jobArgs +} + +INSTALL() +{ + cd Haiku/src + echo "Striping debug symbols" + strip homeworld + echo "Creating bin directory for packaging Homeworld_SDL" + mkdir -p $appsDir/Homeworld_SDL + echo "Moving binary into the bin directory" + cp homeworld $appsDir/Homeworld_SDL/homeworld_sdl + cd .. + unzip ./Haiku_Extra/Homeworld_Haiku_Start.sh.zip + cp Homeworld_Haiku_Start.sh $appsDir/Homeworld_SDL/Start_Homeworld_SDL.sh + echo "Adding Homeworld_SDL to the Deskbar" + addAppDeskbarSymlink $appsDir/Start_Homeworld_SDL.sh Homeworld_SDL +} diff --git a/games-strategy/homeworld_sdl/licenses/RE-INC-EULA b/games-strategy/homeworld_sdl/licenses/RE-INC-EULA new file mode 100644 index 000000000..38dcd1ff2 --- /dev/null +++ b/games-strategy/homeworld_sdl/licenses/RE-INC-EULA @@ -0,0 +1,261 @@ +Homeworld © 1999-2000 Sierra On-Line, Inc. All Rights Reserved. +Homeworld is a registered trademark, and Sierra and Sierra Studios are +registered trademarks of Sierra On-Line, Inc. Relic is a trademark of Relic +Entertainment, Inc. + +------------------------------------------------------------------------------ + +This port of Homeworld is based on the original Homeworld source code released +by Relic Entertainment through the Relic Developers Network. It has been +edited for content and formatted to fit your OS. + +The original Homeworld source code in its entirety is available from the Relic +Developers Network website at http://www.relic.com/rdn/ + +This file contains a copy of the end-user license agreement presented with the +Homeworld source code from the Relic Developers Network. If you are using a +pre-built version of Homeworld, other pre-built libraries have been included +with the distribution which utilize their own licenses (particularly the GPL +and LGPL). Copies of these licenses have been included in additional +"COPYING_*" files with the pre-built package. + +Simple DirectMedia Layer (SDL) is licensed under the LGPL. The source code to +SDL is available at http://www.libsdl.org/ + +Headers for Glide 2 have also been thrown into the source package. They are +taken from the open-source Glide 2 library, which is licensed under the 3dfx +Glide General Public License. A copy of the license is included in the +"include/glide2" directory in the source package. + +------------------------------------------------------------------------------ + + Relic Entertainment Inc. TM + + END-USER LICENSE AGREEMENT FOR + RELIC ENTERTAINMENT INC. ("RELIC") SOFTWARE + + IMPORTANT-READ CAREFULLY: + + +This RELIC End-User License Agreement (the "Agreement") is a legal agreement +between you (either an individual or a single entity) and RELIC, for the use +of one or more elements of RELIC proprietary software, which may at RELIC's +discretion include computer code related to Homeworld 1 TM, tools or other +material related to creating content related to Homeworld 2 TM and/or +Impossible Creatures TM including without limitation associated media, printed +materials, and "online" or electronic documentation (individually or +collectively referred to as the "SOFTWARE PRODUCT"). The SOFTWARE PRODUCT may +also include any updates and supplements to the original SOFTWARE PRODUCT +provided to you by RELIC. Any software provided along with the SOFTWARE +PRODUCT that is associated with a separate end-user license agreement is +licensed to you under the terms of that license agreement. + +BY CLICKING "AGREE" BELOW, AND/OR BY INSTALLING, COPYING, DOWNLOADING, +ACCESSING OR OTHERWISE USING THE SOFTWARE PRODUCT, YOU AGREE TO BE BOUND BY +THE TERMS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO THE TERMS OF THIS +AGREEMENT, DO NOT INSTALL OR USE THE SOFTWARE PRODUCT. + +This Agreement is made by and between you (the "LICENSEE") and RELIC. + +WHEREAS, RELIC is a game development company that owns certain tools, game +engines and other technology used to develop interactive entertainment +software games; and + +WHEREAS, LICENSEE wishes to utilize the SOFTWARE PRODUCT for non-commercial +purposes in accordance with the terms set forth herein; and + +WHEREAS, LICENSEE wishes to license from RELIC and RELIC wishes to license to +LICENSEE, the SOFTWARE PRODUCT and other information as deemed from time to +time appropriate by RELIC, all on the terms set forth herein; + +NOW, THEREFORE, in consideration of the mutual promises made herein, the +receipt and sufficiency of which is hereby acknowledged, the parties agree as +follows: + + +1. License + +1.1 License Grant. Provided that the LICENSEE complies with the terms set +forth herein, RELIC hereby grants LICENSEE a limited purpose, nonexclusive, +royalty-free, terminable, worldwide, non-transferable license to: + + (a) use, reproduce and modify the SOFTWARE PRODUCT and the MODIFIED SOFTWARE +(as defined in section 2.1) solely for non-commercial purposes; and + + (b) distribute the SOFTWARE PRODUCT and the MODIFIED SOFTWARE, solely for +non-commercial purposes, and only to registered members of RDN-RELIC +Developer's Network who have agreed to abide by the terms of this Agreement. + +For greater certainty, the term "for non-commercial purposes" as used in this +Agreement means that the use, reproduction, modification and/or distribution +of the SOFTWARE PRODUCT and/or MODIFIED SOFTWARE must be made free of any and +all charges or payments and, without limitation, must not entitle, directly or +indirectly, the LICENSEE, any related parties or third parties to receive any +financial consideration or compensation related to such use, reproduction, +modification and/or distribution. + +1.2 Updates. RELIC may from time to time, in its sole discretion, and without +any obligation on the part of RELIC, provide updates, error corrections, and +future versions of SOFTWARE PRODUCT to LICENSEE. Upon delivery, such updates, +error corrections and future versions shall be deemed part of the SOFTWARE +PRODUCT, as applicable, and governed by the terms and conditions of this +Agreement. + +1.3 Reservation of Rights. RELIC reserves all rights not explicitly granted +herein. + +1.4 Indemnity. LICENSEE hereby agrees that it is solely responsible for any +and all liability, claims, damages or losses arising, directly or indirectly, +from any and all LICENSEE use, reproduction, modification and distribution of +the SOFTWARE PRODUCT. LICENSEE shall defend, indemnify, and hold harmless +RELIC, its officers, directors, employees and agents against any and all +claims, damages, losses, or liabilities whatsoever arising out of LICENSEE's +use, reproduction, modification and/or distribution of the SOFTWARE PRODUCT. + +1.5 Trademarks. LICENSEE acknowledges and agrees that this Agreement does not +grant LICENSEE any right to use any trademarks or trade names of RELIC or +their licensors. All such marks shall remain the property of the respective +owner. + + +2. Intellectual Property + +2.1 Ownership. The LICENSEE acknowledges and agrees that if the SOFTWARE +PROGRAM is improved, modified, developed or otherwise amended by the LICENSEE +("MODIFIED SOFTWARE") the LICENSEE shall have, save and except for the limited +license granted to the LICENSEE pursuant to the terms and conditions of this +Agreement, no right, title or interest in and to the MODIFIED SOFTWARE as +modified or altered, whether modified by the LICENSEE or RELIC and whether or +not such modifications are authorized pursuant to this Agreement. +Specifically, the LICENSEE hereby assigns all right, title and interest +arising out of any such MODIFIED SOFTWARE to RELIC or any other entity as +RELIC shall require and the LICENSEE will execute such further and other +documents and do such further and other acts as may be necessary, in the sole +opinion of RELIC, to transfer all such right, title and interest in and to the +MODIFIED SOFTWARE from the LICENSEE to RELIC. If, to the extent that it may +be deemed that an assignment or grant of right under this section cannot be +made until after relevant works are in existence, the LICENSEE's acceptance of +the terms and conditions of this Agreement shall constitute an irrevocable +assignment of all right, title and interest in and to all complete or +incomplete works that make up the MODIFIED SOFTWARE. The LICENSEE hereby +irrevocably waives in whole any and all moral rights arising under the +Copyright Act (Canada), as amended from time to time, or other similar +legislation in any jurisdiction or at common law, which the LICENSEE may have +in the MODIFIED SOFTWARE. + + +3. Term + +3.1 Term. This Agreement shall become effective as of the date LICENSEE +downloads or installs the SOFTWARE PRODUCT and shall expire five (5) years +after such date. + +3.2 Termination. RELIC may, at its sole discretion and authority, terminate +this Agreement immediately upon notice including without limitation notice via +email to LICENSEE. The Agreement will terminate automatically upon LICENSEE's +breach of any term of this Agreement. Any notice sent or transmitted by RELIC +to the LICENSEE's last known or registered address will be deemed to have been +sent by RELIC and received by LICENSEE one (1) day after such sending or +transmission by RELIC. In the event that this Agreement is terminated for any +reason, the LICENSEE shall immediately and permanently cease use, +reproduction, modification or distribution of the SOFTWARE PRODUCT and +MODIFIED SOFTWARE and will destroy any and all software, code, associated +media and printed materials related to, directly or indirectly, the SOFTWARE +PRODUCT and/or the MODIFIED SOFTWARE. + +3.3 Survival. Sections 1.4, 1.5, 2.1, 3.2, 3.3, 4.1, 4.2, 5.1 and 7 shall +survive any expiration or termination of this Agreement. + + +4. Disclaimers, Warranties and Limitation of Liability + +4.1 NO WARRANTIES. RELIC AND ITS SUPPLIERS DISCLAIM ANY AND ALL WARRANTIES +WITH RESPECT TO THE SOFTWARE PRODUCT, EITHER EXPRESS OR IMPLIED, INCLUDING, +BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE. THE LICENSEE ACKNOWLEDGES THAT IT HAS NOT RELIED ON ANY +WARRANTY MADE BY RELIC OR ITS SUPPLIERS. THE SOFTWARE PRODUCT IS PROVIDED ON +AN "AS IS" BASIS WITH NO WARRANTY, EXPRESS OR IMPLIED AND RELIC HAS NO +OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS OR +MODIFICATIONS WITH RESPECT TO THE SOFTWARE PRODUCT TO THE LICENSEE. + +4.2 LIMITATION OF LIABILITY. IN NO EVENT SHALL RELIC OR ITS SUPPLIERS BE +LIABLE FOR ANY DAMAGES SUFFERED OR INCURRED BY THE LICENSEE OR ANY OTHER +PERSON OR ENTITY INCLUDING, WITHOUT LIMITATION, ANY SPECIAL, INCIDENTAL, +INDIRECT, PUNITIVE OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT +LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, LOSS OF REVENUE, BUSINESS +INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) +ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE PRODUCT, EVEN IF +RELIC HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + +5. + +5.1 COPYRIGHT. All title and copyrights in and to the SOFTWARE PRODUCT +(including but not limited to any images, photographs, animations, video, +audio, music, text, and "applets" incorporated into the SOFTWARE PRODUCT), the +accompanying printed materials, and any copies of the SOFTWARE PRODUCT are +owned by RELIC or its suppliers. All title and intellectual property rights +in and to the content which may be accessed through use of the SOFTWARE +PRODUCT is the property of the respective content owner and may be protected +by applicable copyright or other intellectual property laws and treaties. +This Agreement grants LICENSEE no rights to use such content. If this +SOFTWARE PRODUCT contains documentation, which is provided only in electronic +form, LICENSEE may print one copy of such electronic documentation. LICENSEE +may not copy the printed materials accompanying the SOFTWARE PRODUCT. + +5.2 COPY PROTECTION. Use of the SOFTWARE PRODUCT may require additional RELIC +software for use of the SOFTWARE PRODUCT which may employ copy protection +technology to prevent the unauthorized copying of the SOFTWARE PRODUCT and/or +additional RELIC software. It is illegal to make unauthorized copies of the +SOFTWARE PRODUCT and/or additional RELIC software or circumvent any copy protection technology employed by RELIC. + + +6. No Exclusivity + +Nothing in this Agreement nor the license of the SOFTWARE PRODUCT shall +constitute or imply any promise to or intention to make any purchase of +products or services by either party or its affiliated companies or any +commitment by either party or its affiliated companies with respect to the +present or future marketing of any product or service or any commitment to +enter into any other business relationship. + + +7. General + +7.1 Modification. No amendment or modification of this Agreement shall be +valid or binding on RELIC unless made in writing and signed on behalf of RELIC +by its respective duly authorized officers or representatives. RELIC may, +without notice to the LICENSEE, modify, alter or vary the terms of this +Agreement without the consent of the LICENSEE, however, such modification, +alteration or variance shall be displayed on the RELIC website located at +www.relic.com . + +7.2 Assignment. LICENSEE may not assign this Agreement without the prior +written consent of RELIC. Subject to the limitations set forth in this +Agreement, this Agreement will inure to the benefit of and be binding upon the +parties, their successors and permitted assigns. + +7.3 Separation of Components. The SOFTWARE PRODUCT is licensed as a single +product. Its component parts may not be separated for use license, +distribution or replacement by the LICENSEE. + +7.4 Severability. If any provision of this Agreement shall be held by a court +of competent jurisdiction to be illegal, invalid or unenforceable, the +remaining provisions will not be affected and will be deemed to be in full +force and effect. + +7.5 Governing Law, Jurisdiction and Venue. This Agreement shall be governed by +the laws of the Province of British Columbia. Each of the parties hereto +submits and attorns to the exclusive jurisdiction and venue in the provincial +and federal courts sitting in Vancouver, BC. + +7.6 Entire Agreement. This Agreement constitutes the entire understanding +between the parties hereto and supersedes all previous communications, +representations and understandings, oral or written, between the parties, with +respect to the subject matter of this Agreement. + +7.7 The LICENSEE agrees that RELIC would be irreparably injured by breach of +this Agreement by LICENSEE and that RELIC shall be entitled to equitable +relief, including injunctive relief and specific performance, in addition to +any and all monetary damages, in the event of any breach of the provisions of +this Agreement by the LICENSEE. diff --git a/haiku-apps/armyknife/armyknife-4.3.0.recipe b/haiku-apps/armyknife/armyknife-4.3.0.recipe index 7a1f5a111..07dc07ec6 100644 --- a/haiku-apps/armyknife/armyknife-4.3.0.recipe +++ b/haiku-apps/armyknife/armyknife-4.3.0.recipe @@ -29,6 +29,8 @@ BUILD_PREREQUIRES=" cmd:ld$secondaryArchSuffix cmd:make cmd:unzip + cmd:find + cmd:xargs " BUILD() diff --git a/haiku-apps/artpaint/artpaint-2.1.0git.recipe b/haiku-apps/artpaint/artpaint-2.1.0git.recipe new file mode 100644 index 000000000..a461e1e22 --- /dev/null +++ b/haiku-apps/artpaint/artpaint-2.1.0git.recipe @@ -0,0 +1,47 @@ +SUMMARY="An award winning painting and image-processing program" +DESCRIPTION="The main features of ArtPaint include a comprehensive set of \ +painting-tools and real-time preview for many image-manipulating operations. \ +The key design principle has been to let the user see what they are doing \ +instead of just forcing them to type in some numbers and then hoping that \ +the result will not be too far from the expected." +HOMEPAGE="https://github.com/HaikuArchives/ArtPaint" +SRC_URI="https://github.com/HaikuArchives/ArtPaint/archive/3e4be5a29e2966b390d668b7e96ef3f7901fa001.tar.gz" +CHECKSUM_SHA256="2990682bb932f4fbd8f156511171ae09d61038eddfa88fc7646af715f6fc83d8" +SOURCE_DIR="ArtPaint-3e4be5a29e2966b390d668b7e96ef3f7901fa001" +COPYRIGHT="2003 Heikki Suhonen + 2009 Karsten Heimrich" +LICENSE="MIT" +REVISION="1" +ARCHITECTURES="x86_gcc2 ?x86 ?x86_64" + +PROVIDES=" + artpaint = $portVersion + app:ArtPaint = $portVersion + " +REQUIRES=" + haiku >= $haikuVersion + " +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + " +BUILD_PREREQUIRES=" + makefile_engine + cmd:mkdepend + cmd:gcc + cmd:ld + cmd:make + " + +BUILD() +{ + cd artpaint + make $jobArgs OBJ_DIR=objects +} + +INSTALL() +{ + cd artpaint + mkdir -p $appsDir + cp objects/ArtPaint $appsDir + addAppDeskbarSymlink $appsDir/ArtPaint +} diff --git a/haiku-apps/backup/backup-0.0.1.recipe b/haiku-apps/backup/backup-0.0.1.recipe index f77b3b03d..c170b092c 100644 --- a/haiku-apps/backup/backup-0.0.1.recipe +++ b/haiku-apps/backup/backup-0.0.1.recipe @@ -5,8 +5,8 @@ A backup application for Haiku. COPYRIGHT="2013 Alexander von Gluck IV" LICENSE="MIT" HOMEPAGE="https://github.com/kallisti5/backup" -SRC_URI="git+https://github.com/kallisti5/backup#34e156f64d" -REVISION="2" +SRC_URI="git+https://github.com/kallisti5/backup#4c01c5b6f0" +REVISION="3" ARCHITECTURES="x86_gcc2 x86 ?x86_64" @@ -25,8 +25,6 @@ BUILD_PREREQUIRES=" cmd:make cmd:mkdepend " - -PATCHES="backup-0.0.1.patch" BUILD() { diff --git a/haiku-apps/backup/patches/backup-0.0.1.patch b/haiku-apps/backup/patches/backup-0.0.1.patch deleted file mode 100644 index fd90d8a98..000000000 --- a/haiku-apps/backup/patches/backup-0.0.1.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur backup/BackupView.cpp backup-fix/BackupView.cpp ---- backup/BackupView.cpp 2013-11-18 21:15:38.949223424 +0000 -+++ backup-fix/BackupView.cpp 2013-11-18 21:15:33.142344192 +0000 -@@ -120,7 +120,7 @@ - - // Refresh System Directory - BPath sysSettingsDirectory; -- find_directory(B_COMMON_SETTINGS_DIRECTORY, &sysSettingsDirectory); -+ find_directory(B_SYSTEM_SETTINGS_DIRECTORY, &sysSettingsDirectory); - fSysSettingBytes = DirectorySize(&sysSettingsDirectory); - size_to_string(fSysSettingBytes, sizeText, 512); - fSysSettingSizeText->SetText(sizeText); diff --git a/haiku-apps/beezer/beezer-0.99.hg.recipe b/haiku-apps/beezer/beezer-0.99.hg.recipe index 599cc74c2..2ef33aedc 100644 --- a/haiku-apps/beezer/beezer-0.99.hg.recipe +++ b/haiku-apps/beezer/beezer-0.99.hg.recipe @@ -12,7 +12,7 @@ COPYRIGHT=" 2009 Ramshankar (aka Teknomancer) 2011-2012 Chris Roberts " -REVISION="2" +REVISION="3" ARCHITECTURES="x86_gcc2 x86 ?x86_64" PROVIDES=" @@ -29,15 +29,11 @@ BUILD_REQUIRES=" " BUILD_PREREQUIRES=" - cmd:cmake >= 2.8 + cmd:cmake cmd:gcc cmd:make " -PATCHES=" - beezer-0.99.hg.patch - " - BUILD() { cd Source diff --git a/haiku-apps/beezer/patches/beezer-0.99.hg.patch b/haiku-apps/beezer/patches/beezer-0.99.hg.patch deleted file mode 100644 index 638f8e7e2..000000000 --- a/haiku-apps/beezer/patches/beezer-0.99.hg.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 3728835e4083c862c9b03dd5ffdb5941f34f9da5 Mon Sep 17 00:00:00 2001 -From: Luke -Date: Sun, 1 Dec 2013 12:22:29 +0000 -Subject: [PATCH] Remove references to B_COMMON_ - ---- - Source/Archiver/Archiver.cpp | 13 +------------ - Source/Beezer/FSUtils/FSUtils.cpp | 2 +- - 2 files changed, 2 insertions(+), 13 deletions(-) - -diff --git a/Source/Archiver/Archiver.cpp b/Source/Archiver/Archiver.cpp -index c272333..7b57313 100644 ---- a/Source/Archiver/Archiver.cpp -+++ b/Source/Archiver/Archiver.cpp -@@ -625,7 +625,7 @@ status_t Archiver::SetComment(char* commentStr, const char* tempDirPath) - bool Archiver::IsBinaryFound(char* filePath, const char* fileName) const - { - // Check if the given fileName exists in the given dir, if so copy the full path of fileName to filePath -- // Path priority /workers -> B_SYSTEM_BIN_DIRECTORY -> B_COMMON_BIN_DIRECTORY -+ // Path priority /workers -> B_SYSTEM_BIN_DIRECTORY - BPath binPath; - app_info appInfo; - be_app->GetAppInfo(&appInfo); -@@ -652,17 +652,6 @@ bool Archiver::IsBinaryFound(char* filePath, const char* fileName) const - } - } - -- if (find_directory(B_COMMON_BIN_DIRECTORY, &binPath) == B_OK) -- { -- binPath.Append(fileName); -- BEntry entry(binPath.Path(), true); -- if (entry.Exists()) -- { -- strcpy(filePath, binPath.Path()); -- return true; -- } -- } -- - // TODO full search of $PATH - - filePath = '\0'; -diff --git a/Source/Beezer/FSUtils/FSUtils.cpp b/Source/Beezer/FSUtils/FSUtils.cpp -index a651c58..8fbb01d 100644 ---- a/Source/Beezer/FSUtils/FSUtils.cpp -+++ b/Source/Beezer/FSUtils/FSUtils.cpp -@@ -177,7 +177,7 @@ BString CreateTempDirectory(const char* prefix, BDirectory** createdDir, bool cr - prefixStr << prefix << "_"; - - BPath tmpPath; -- find_directory(B_COMMON_TEMP_DIRECTORY, &tmpPath, true); -+ find_directory(B_SYSTEM_TEMP_DIRECTORY, &tmpPath, true); - BString tempDirName = tempnam(const_cast(tmpPath.Path()), const_cast(prefixStr.String())); - - // Further random the dir name (the below number is a prime) --- -1.8.3.4 - diff --git a/haiku-apps/burnitnow/burnitnow-0.1.0.recipe b/haiku-apps/burnitnow/burnitnow-0.1.0.recipe new file mode 100644 index 000000000..ace579a61 --- /dev/null +++ b/haiku-apps/burnitnow/burnitnow-0.1.0.recipe @@ -0,0 +1,58 @@ +SUMMARY="A GUI frontend for burning CDs" +DESCRIPTION="BurnItNow is a GUI frontend for CDRecord and mkisofs. \ +It supports Audio CD, MixCD (on the fly), Data CD (on the fly, multisession), \ +BootableCD and burning an BFS image." +HOMEPAGE="https://github.com/HaikuArchives/BurnItNow" +SRC_URI="https://github.com/HaikuArchives/BurnItNow/archive/v$portVersion.tar.gz" +CHECKSUM_SHA256="7db12d261ddebcbfe82e2ab5e7aed4227caef476f01488a1ccec4f58287833d2" +SOURCE_DIR="BurnItNow-$portVersion" +REVISION="1" +COPYRIGHT="2010-2014 BurnItNow Team" +LICENSE="MIT" + +ARCHITECTURES="x86 x86_64" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + # x86_gcc2 is fine as primary target architecture as long as we're building + # for a different secondary architecture. + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +else + ARCHITECTURES="$ARCHITECTURES !x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + burnitnow$secondaryArchSuffix = $portVersion + app:BurnItNow = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion + cmd:cdrecord + cmd:mkisofs + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + " + +BUILD_PREREQUIRES=" + makefile_engine + cmd:make + cmd:mkdepend + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + " + +BUILD() +{ + cd Source + make $jobArgs OBJ_DIR=objects +} + +INSTALL() +{ + cd Source + mkdir -p $appsDir + cp objects/BurnItNow $appsDir + addAppDeskbarSymlink $appsDir/BurnItNow +} diff --git a/haiku-apps/burnitnow/burnitnow-trunk.recipe b/haiku-apps/burnitnow/burnitnow-trunk.recipe deleted file mode 100644 index a948a91ed..000000000 --- a/haiku-apps/burnitnow/burnitnow-trunk.recipe +++ /dev/null @@ -1,49 +0,0 @@ -SUMMARY="A utility for burning CD" -DESCRIPTION=" -BurnItNow is a CD burning utility application for Haiku. -" -HOMEPAGE="https://github.com/HaikuArchives/BurnItNow" -SRC_URI="git+https://github.com/HaikuArchives/BurnItNow.git#a790db9a87" -REVISION="1" -COPYRIGHT=" - 2010-2013 BurnItNow Team - " -LICENSE="MIT" - -ARCHITECTURES="x86_gcc2 x86 x86_64" -SECONDARY_ARCHITECTURES="x86" - -PROVIDES=" - burnitnow = $portVersion - app:BurnItNow = $portVersion - " - -REQUIRES=" - haiku >= $haikuVersion - cmd:cdrecord - " - -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel >= $haikuVersion - " - -BUILD_PREREQUIRES=" - cmd:cmake - cmd:make - cmd:gcc$secondaryArchSuffix - " - -#SOURCE_DIR="$portName/burnitnow2" - -BUILD() -{ - cmake . - make -} - -INSTALL() -{ - mkdir -p $appsDir/BurnItNow - cp BurnItNow $appsDir/BurnItNow - addAppDeskbarSymlink $appsDir/BurnItNow/BurnItNow -} diff --git a/haiku-apps/capitalbe/capitalbe-1.0.recipe b/haiku-apps/capitalbe/capitalbe-1.0.recipe deleted file mode 100644 index 79d1ad151..000000000 --- a/haiku-apps/capitalbe/capitalbe-1.0.recipe +++ /dev/null @@ -1,46 +0,0 @@ -SUMMARY="A finance manager for Haiku." -DESCRIPTION="Capital Be is a finance manager for Haiku. Easily track where your money is \ -going. View reports, reconcile accounts and more! Like other programs \ -published by the same author, Capital Be focuses on keeping easy jobs easy and \ -making tough ones easier." -HOMEPAGE="http://github.com/HaikuArchives/CapitalBe" -SRC_URI="git://github.com/HaikuArchives/CapitalBe.git#eb8d7f92bbaa1594dddeb07c64f90442de106a3e" -REVISION="2" -LICENSE="MIT" -COPYRIGHT="2009 DarkWyrm (Jon Yoder)" -ARCHITECTURES="x86_gcc2 ?x86 ?x86_64" - -PROVIDES=" - capitalbe = $portVersion - app:capitalbe = $portVersion - " - -REQUIRES=" - haiku >= $haikuVersion - " - -BUILD_REQUIRES=" - haiku_devel >= $haikuVersion - devel:libsqlite3 - " - -BUILD_PREREQUIRES=" - cmd:gcc - " - -BUILD() -{ - g++ -lbe -ltracker -ltranslation -lsqlite3 src/*.cpp -o capitalbe - rc -o capitalbe.rsrc src/capitalbe.rdef - xres -o capitalbe capitalbe.rsrc - mimeset -f capitalbe -} - -INSTALL() -{ - mkdir -p $appsDir/capitalbe - mkdir -p $appsDir/capitalbe/helpfiles - cp -r src/helpfiles/* $appsDir/capitalbe/helpfiles/ - mv capitalbe $appsDir/capitalbe/capitalbe - addAppDeskbarSymlink $appsDir/capitalbe/capitalbe "Capital Be" -} diff --git a/haiku-apps/capitalbe/capitalbe-1.1.recipe b/haiku-apps/capitalbe/capitalbe-1.1.recipe new file mode 100644 index 000000000..2b3010364 --- /dev/null +++ b/haiku-apps/capitalbe/capitalbe-1.1.recipe @@ -0,0 +1,51 @@ +SUMMARY="A finance manager for Haiku" +DESCRIPTION="CapitalBe is a finance manager for Haiku. Easily track \ +where your money is going. View reports, reconcile accounts and more! \ +Like other programs published by the same author, Capital Be focuses \ +on keeping easy jobs easy and making tough ones easier." +HOMEPAGE="http://github.com/HaikuArchives/CapitalBe" +SRC_URI="https://github.com/HaikuArchives/CapitalBe/archive/v1.1.tar.gz" +CHECKSUM_SHA256="e6e5ab26a372e79bbc1ac2eb6d7018296b983409f65c0da634bb420de08adde9" +SOURCE_DIR="CapitalBe-$portVersion" +REVISION="1" +LICENSE="MIT" +COPYRIGHT="2009 DarkWyrm (Jon Yoder)" +ARCHITECTURES="x86_gcc2 ?x86 ?x86_64" + +PROVIDES=" + capitalbe = $portVersion + app:CapitalBe = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion + lib:libsqlite3 + " + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + devel:libsqlite3 + " + +BUILD_PREREQUIRES=" + cmd:gcc + cmd:make + cmd:mkdepend + makefile_engine + " + +BUILD() +{ + make $jobArgs OBJ_DIR=objects +} + +INSTALL() +{ + capitalBeDir=$appsDir/CapitalBe + mkdir -p $capitalBeDir + mkdir -p $capitalBeDir/helpfiles + cp -r src/helpfiles/* $capitalBeDir/helpfiles/ + + mv objects/CapitalBe $capitalBeDir/CapitalBe + addAppDeskbarSymlink $capitalBeDir/CapitalBe "CapitalBe" +} diff --git a/haiku-apps/coveredcalc/coveredcalc-1.10.0.recipe b/haiku-apps/coveredcalc/coveredcalc-1.10.0.recipe new file mode 100644 index 000000000..0e9852022 --- /dev/null +++ b/haiku-apps/coveredcalc/coveredcalc-1.10.0.recipe @@ -0,0 +1,45 @@ +SUMMARY="The desktop calculator which features a skin interface system." +DESCRIPTION="CoveredCalc is a desktop calculator whose look and feel is \ +flexibly customizable. It works on Windows, BeOS, and Haiku. In this \ +application the word \"cover\" means a set of files for its design, \ +instead of the commonly used word \"skin\"." +HOMEPAGE="https://code.google.com/p/coveredcalc" +SRC_URI_1="svn+http://coveredcalc.googlecode.com/svn/trunk@72" +SRC_URI_2="https://coveredcalc.googlecode.com/files/CoveredCalcBe1.10.0.zip" +CHECKSUM_SHA256_2="f5256c9cdb581c0246292005e9d3275586552bd4630b91e7372bd1903a94b669" +REVISION="1" +LICENSE="MIT" +ARCHITECTURES="x86_gcc2 ?x86" +COPYRIGHT="2008 hiron@with.memail.jp" + +PROVIDES=" + coveredcalc = $portVersion + app:CoveredCalc = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion + " + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + cmd:make + cmd:gcc + cmd:xres + " + +BUILD() +{ + cd Sources/CoveredCalc/CoveredCalcBe + make release $jobArgs +} + +INSTALL() +{ + mkdir -p $appsDir/CoveredCalc/{NLS,Keymaps} + cp Sources/CoveredCalc/CoveredCalcBe/obj.release/CoveredCalc $appsDir/CoveredCalc + cp LangFiles/BeOS/* $appsDir/CoveredCalc/NLS + cp KeyMappings/BeOS/* $appsDir/CoveredCalc/Keymaps + cp -R ../../sources-2/CoveredCalc/Covers $appsDir/CoveredCalc + addAppDeskbarSymlink $appsDir/CoveredCalc/CoveredCalc +} diff --git a/haiku-apps/digiclock/digiclock-1.0.recipe b/haiku-apps/digiclock/digiclock-1.0.recipe index 932cddefe..a4f72a619 100644 --- a/haiku-apps/digiclock/digiclock-1.0.recipe +++ b/haiku-apps/digiclock/digiclock-1.0.recipe @@ -1,30 +1,34 @@ SUMMARY="DigiClock Screensaver" -DESCRIPTION="Based on BinaryClock by David Enderson. DigiClock uses filled rectangles and random colors." - -HOMEPAGE="https://github.com/bbjimmy/DigiClock" -SRC_URI="git+https://github.com/bbjimmy/DigiClock.git#7c49eb1ec29b1eb1046f9d7911646e2d5f5e6def" +DESCRIPTION="Based on BinaryClock by David Enderson. DigiClock uses filled rectangles and\ + random colors." +HOMEPAGE="http://www.fatelk.com" +SRC_URI="https://github.com/bbjimmy/DigiClock/archive/1.0.tar.gz" +CHECKSUM_SHA512="24ab1ed06a4b13d63fbca87708a9e98b53b5737d12fee22663549132e6434b61e789326231e0168447f46f609eb4a296497f98418db41874cc712756f118daa8" +SOURCE_DIR="DigiClock-1.0" LICENSE="GNU GPL v2" COPYRIGHT="2012 Jim Saxton, Fat Elk Software" +REVISION="2" + ARCHITECTURES="x86_gcc2 x86 ?x86_64" PROVIDES=" - digiclock = $portVersion" - app:digiclock = $portVersion" - -REVISION="1" + digiclock = $portVersion + app:digiclock = $portVersion + " REQUIRES=" - haiku$secondaryArchSuffix >= $haikuVersion" + haiku >= $haikuVersion" BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel >= $haikuVersion" + haiku_devel >= $haikuVersion" BUILD_PREREQUIRES=" - cmd:gcc$secondaryArchSuffix + cmd:gcc cmd:make - makefile_engine" + makefile_engine + " BUILD() { diff --git a/haiku-apps/einsteinium/einsteinium-20141023.recipe b/haiku-apps/einsteinium/einsteinium-20141023.recipe new file mode 100644 index 000000000..e6867d7f3 --- /dev/null +++ b/haiku-apps/einsteinium/einsteinium-20141023.recipe @@ -0,0 +1,77 @@ +SUMMARY="Monitor applications and system services" +DESCRIPTION=" +Einsteinium provides smarter monitoring of applications and system services \ +for Haiku. It will restart applications and system services that quit or crash, \ +gather statistics on application usage and provide customizable ranked lists of \ +applications. +" +HOMEPAGE="https://sourceforge.net/projects/esforhaiku/" +SRC_URI="svn://svn.code.sf.net/p/esforhaiku/code/trunk#r79" +REVISION="1" +LICENSE="BSD (3-clause)" +COPYRIGHT="2010-2013 Brian Hill" + +ARCHITECTURES="x86_gcc2" + +PROVIDES=" + einsteinium = $portVersion + app:Einsteinium = $portVersion + cmd:einsteinium_engine = $portVersion + cmd:einsteinium_daemon = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion + lib:libsqlite3 + lib:libxml2 + " + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + makefile_engine + devel:libsqlite3 + devel:libxml2 + cmd:mkdepend + cmd:g++ + cmd:gcc + cmd:make + " + +PATCH() +{ + cd src + for f in Engine Daemon Preferences Launcher; do + sed -e "s|/boot/develop|$(finddir B_SYSTEM_DEVELOP_DIRECTORY)|" \ + -e "s|/boot/common/include|$(finddir B_SYSTEM_HEADERS_DIRECTORY)|" -i $f/makefile + done +} + +BUILD() +{ + cd src + for f in Engine Daemon; do + pushd $f + make $jobArgs OBJ_DIR=. + popd + done + for f in Preferences Launcher; do + pushd $f + make $jobArgs + popd + done +} + +INSTALL() +{ + mkdir -p $binDir + mkdir -p $appsDir + mkdir -p $preferencesDir + cd src + + cp Engine/einsteinium_engine Daemon/einsteinium_daemon $binDir + cp Preferences/Einsteinium_Preferences $preferencesDir/Einsteinium + cp Launcher/Einsteinium_Launcher $appsDir/Einsteinium + + addPreferencesDeskbarSymlink $preferencesDir/Einsteinium + addAppDeskbarSymlink $appsDir/Einsteinium +} diff --git a/haiku-apps/finance/finance-1.0.0.recipe b/haiku-apps/finance/finance-1.0.0.recipe index 08d2584d9..ab80fa62c 100644 --- a/haiku-apps/finance/finance-1.0.0.recipe +++ b/haiku-apps/finance/finance-1.0.0.recipe @@ -28,6 +28,7 @@ BUILD_PREREQUIRES=" cmd:xres cmd:gcc cmd:jam + cmd:awk " BUILD_REQUIRES=" haiku_devel >= $haikuVersion diff --git a/haiku-apps/globe/globe-0.4.recipe b/haiku-apps/globe/globe-0.4.recipe index 99039727e..f2f168474 100644 --- a/haiku-apps/globe/globe-0.4.recipe +++ b/haiku-apps/globe/globe-0.4.recipe @@ -1,27 +1,45 @@ -DESCRIPTION="Globe Web Editor" -HOMEPAGE="http://globe.beos.hu/index_en.html" +SUMMARY="Globe Web Editor" +DESCRIPTION=" +Globe is an editor with support for HTML and PHP. It offers syntax \ +highlighting and basic project management. +" +HOMEPAGE="http://globe.beos.hu/index_en.html" SRC_URI="http://ports-space.haiku-files.org/source/globe-0.4.zip" -CHECKSUM_MD5="61601576e59b0dc5ab6364f684a47236" -REVISION="1" -STATUS_HAIKU="stable" -DEPEND="" +CHECKSUM_SHA256="1ed42fa741a7b7923cd9accb759395b6ddaa5287695f7dfceeaa5112ebe3c765" +SOURCE_DIR="globe0.4" +REVISION="2" + +ARCHITECTURES="x86_gcc2 x86 x86_64" + +REQUIRES=" + haiku >= $haikuVersion + " + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + makefile_engine + cmd:gcc + cmd:make + " + +PROVIDES=" + globe = $portVersion + app:Globe = $portVersion + " + +PATCHES="globe-0.4.patch" + BUILD() { - cd globe0.4 - make + make $jobArgs OBJ_DIR=objects } INSTALL() { - cd globe0.4 - TARGET_DIR=${DESTDIR}`finddir B_APPS_DIRECTORY`/Globe - mkdir -p $TARGET_DIR - cp Globe $TARGET_DIR - cp GlobeBUGList.txt $TARGET_DIR - cp globe* $TARGET_DIR - cp LICENSE.txt $TARGET_DIR - cp NewFeatures.txt $TARGET_DIR - cp objects.*/Globe* $TARGET_DIR + mkdir -p $appsDir + cp objects/Globe $appsDir/Globe + addAppDeskbarSymlink $appsDir/Globe } + LICENSE="GNU GPL v2" COPYRIGHT="2001-2004 Gergely Rózsahegyi" diff --git a/haiku-apps/globe/patches/globe-0.4.patch b/haiku-apps/globe/patches/globe-0.4.patch index 64a1f4be6..d12c55ecd 100644 --- a/haiku-apps/globe/patches/globe-0.4.patch +++ b/haiku-apps/globe/patches/globe-0.4.patch @@ -1,14 +1,14 @@ -diff -Naur globe0.4/Makefile globe0.4-haiku/Makefile ---- globe0.4/Makefile 1970-01-01 00:00:00.000000000 +0000 -+++ globe0.4-haiku/Makefile 2012-12-30 19:40:59.058720256 +0000 +diff -x .git -Naur ../globe0.4/Makefile ./Makefile +--- ../globe0.4/Makefile 1970-01-01 01:00:00.000000000 +0100 ++++ ./Makefile 2014-12-02 19:15:53.759918816 +0100 @@ -0,0 +1,27 @@ +NAME= Globe +TYPE= APP +SRCS= RHTML_app.cpp RHTML_win.cpp RHTML_numview.cpp RHTML_savewin.cpp RHTML_aboutwin.cpp RHTML_prefwin.cpp RHTML_fmenu.cpp RHTML_buttonmenu.cpp RHTML_bmenu.cpp RHTML_parammenu.cpp RHTML_colorwin.cpp RHTML_amenu.cpp RHTML_textview.cpp RHTML_tabbutton.cpp RHTML_tagmenu.cpp RHTML_filetypes.cpp RHTML_options.cpp ToolTip/TToolTip.cpp Timer/RTimer.cpp URLView/URLView.cpp Tool/RadioBar.cpp Tool/ToolBar.cpp Tool/ToolItem.cpp Tool/ToolView.cpp +RSRCS= Globe.rsrc -+LIBS= /boot/system/lib/libbe.so /boot/system/lib/libtextencoding.so /boot/system/lib/libtracker.so /boot/system/lib/libroot.so /boot/system/lib/libtranslation.so /boot/system/lib/libgame.so /boot/system/lib/libstdc++.r4.so ++LIBS= /boot/system/lib/libbe.so /boot/system/lib/libtextencoding.so /boot/system/lib/libtracker.so /boot/system/lib/libroot.so /boot/system/lib/libtranslation.so /boot/system/lib/libgame.so /boot/system/lib/libstdc++.so +LIBPATHS= -+SYSTEM_INCLUDE_PATHS= /boot/develop/headers/be /boot/develop/headers/cpp /boot/develop/headers/posix /boot/develop/lib /boot/beos/system/lib ++SYSTEM_INCLUDE_PATHS= /boot/system/develop/headers/be /boot/system/develop/headers/cpp /boot/system/develop/headers/posix /boot/system/develop/headers/os/storage /boot/system/develop/lib /boot/system/beos/system/lib +LOCAL_INCLUDE_PATHS= ./../../../config/lib ./Genesis ToolTip Timer URLView Tool +OPTIMIZE=FULL +# specify any preprocessor symbols to be defined. The symbols will not @@ -28,10 +28,97 @@ diff -Naur globe0.4/Makefile globe0.4-haiku/Makefile +LINKER_FLAGS= + +## include the makefile-engine -+include $(BUILDHOME)/etc/makefile-engine -diff -Naur globe0.4/RHTML_win.cpp globe0.4-haiku/RHTML_win.cpp ---- globe0.4/RHTML_win.cpp 2004-10-21 14:16:28.000000000 +0000 -+++ globe0.4-haiku/RHTML_win.cpp 2012-12-30 18:28:09.000000000 +0000 ++include /boot/system/develop/etc/makefile-engine +diff -x .git -Naur ../globe0.4/RHTML_filetypes.cpp ./RHTML_filetypes.cpp +--- ../globe0.4/RHTML_filetypes.cpp 2004-10-21 16:18:44.000000000 +0200 ++++ ./RHTML_filetypes.cpp 2014-12-02 18:56:43.069920922 +0100 +@@ -39,7 +39,7 @@ + // - End - RHTML_File_Types - RHTMLFileTypes ----------------------------------------------------------------- + + // ---------------------------------------------------------------------- RHTML_File_Types - SetFontAndColor - +-void RHTMLFileTypes::SetFontAndColor(BString *oldtext,BString *currenttext,int mode=0,int offset1=-1,int offset2=-1) ++void RHTMLFileTypes::SetFontAndColor(BString *oldtext,BString *currenttext,int mode,int offset1,int offset2) + { + if (fOptions->FileTypes[FileType]->Name->ICompare("HTML")==0) + { +diff -x .git -Naur ../globe0.4/RHTML_options.cpp ./RHTML_options.cpp +--- ../globe0.4/RHTML_options.cpp 2004-10-21 16:18:57.000000000 +0200 ++++ ./RHTML_options.cpp 2014-12-02 19:07:34.499919730 +0100 +@@ -34,6 +34,8 @@ + #include + #include + ++using std::ifstream; ++ + RHTMLOptions *fOptions; + + // ---------------------------------------------------------------------------- RHTML_Options - RHTMLOptions - +@@ -554,7 +556,7 @@ + tmp.CopyInto(val1,tmp.FindFirst('=')+1,tmp.Length()-tmp.FindFirst('=')-1); + val1=rgetstring(val1); + font_style fstyle; +- get_font_style((font_family) val1.String(), 0, &fstyle); ++ get_font_style((char *) val1.String(), 0, &fstyle); + DefaultFont->SetFamilyAndStyle(val1.String(),fstyle); + } else + if (name.ICompare("Default_Font_Style")==0) // - Default_Font_Style +diff -x .git -Naur ../globe0.4/RHTML_options.h ./RHTML_options.h +--- ../globe0.4/RHTML_options.h 2004-10-21 16:19:01.000000000 +0200 ++++ ./RHTML_options.h 2014-12-02 18:31:28.159923695 +0100 +@@ -33,7 +33,7 @@ + #include + #include + #include +-#include ++#include + + class RHTMLOptions; + +diff -x .git -Naur ../globe0.4/RHTML_parammenu.cpp ./RHTML_parammenu.cpp +--- ../globe0.4/RHTML_parammenu.cpp 2004-10-21 16:17:48.000000000 +0200 ++++ ./RHTML_parammenu.cpp 2014-12-02 18:53:29.809921276 +0100 +@@ -35,7 +35,7 @@ + #include + #include + #include +-#include ++#include + #include + + // ------------------------------------------------------------------------ RHTML_parammenu - RHTMLparammenu - +@@ -602,7 +602,7 @@ + void RHTMLptextview::Paste(BClipboard *clipboard) + { + const char *text; +- int32 textlen; ++ ssize_t textlen; + BMessage *clip = (BMessage *) NULL; + + if (clipboard->Lock()) +diff -x .git -Naur ../globe0.4/RHTML_prefwin.cpp ./RHTML_prefwin.cpp +--- ../globe0.4/RHTML_prefwin.cpp 2004-10-21 16:17:14.000000000 +0200 ++++ ./RHTML_prefwin.cpp 2014-12-02 18:49:57.739921664 +0100 +@@ -386,7 +386,7 @@ + // - End - RHTML_Preferences_Win - FTCreateKitList ----------------------------------------------------------- + + // ----------------------------------------------------------------------- RHTML_Preferences_Win - FTSetFont - +-void RHTMLPreferencesWin::FTSetFont(const char *font,const char *style ="") ++void RHTMLPreferencesWin::FTSetFont(const char *font,const char *style) + { + fFTFontsBox->RemoveChild(fFTDFStyle); + +@@ -649,7 +649,7 @@ + msg->FindString("font_family",&family); + FTSetFont(family); + font_style fStyle; +- get_font_style((font_family) family, 0, &fStyle); ++ get_font_style((char *) family, 0, &fStyle); + fOptions->DefaultFont->SetFamilyAndStyle(family,fStyle); + fOptions->Save(); + } +diff -x .git -Naur ../globe0.4/RHTML_win.cpp ./RHTML_win.cpp +--- ../globe0.4/RHTML_win.cpp 2004-10-21 16:16:28.000000000 +0200 ++++ ./RHTML_win.cpp 2014-12-02 18:30:50.089923764 +0100 @@ -288,7 +288,9 @@ if (textdb>0) { @@ -72,9 +159,39 @@ diff -Naur globe0.4/RHTML_win.cpp globe0.4-haiku/RHTML_win.cpp } break; case 'ABWQ': -diff -Naur globe0.4/URLView/URLView.cpp globe0.4-haiku/URLView/URLView.cpp ---- globe0.4/URLView/URLView.cpp 2002-03-10 00:38:20.000000000 +0000 -+++ globe0.4-haiku/URLView/URLView.cpp 2012-12-29 14:17:53.000000000 +0000 +diff -x .git -Naur ../globe0.4/Timer/RTimer.cpp ./Timer/RTimer.cpp +--- ../globe0.4/Timer/RTimer.cpp 2004-10-21 16:22:13.000000000 +0200 ++++ ./Timer/RTimer.cpp 2014-12-02 19:09:02.649919568 +0100 +@@ -28,7 +28,7 @@ + // - Includes + #include "RTimer.h" + #include +-#include ++#include + + #define SLEEP_TIME 1000 + // ---------------------------------------------------------------------------------------- R_Timer - RTimer - +diff -x .git -Naur ../globe0.4/Tool/ToolItem.cpp ./Tool/ToolItem.cpp +--- ../globe0.4/Tool/ToolItem.cpp 2004-10-21 16:23:12.000000000 +0200 ++++ ./Tool/ToolItem.cpp 2014-12-02 19:13:26.509919086 +0100 +@@ -31,10 +31,13 @@ + #include + #include + #include +-#include ++#include ++#include + + #include "ToolItem.h" + ++using namespace std; ++ + const uint32 B_UPDATE_SIZE_MSG = 'BUSM'; + const uint32 B_MOUSE_DOWN_MSG = 'BMDM'; + const uint32 B_MOUSE_UP_MSG = 'BMUM'; +diff -x .git -Naur ../globe0.4/URLView/URLView.cpp ./URLView/URLView.cpp +--- ../globe0.4/URLView/URLView.cpp 2002-03-10 01:38:20.000000000 +0100 ++++ ./URLView/URLView.cpp 2014-12-02 18:30:50.089923764 +0100 @@ -30,9 +30,13 @@ #include diff --git a/haiku-apps/haikutwitter/haikutwitter-1.0.recipe b/haiku-apps/haikutwitter/haikutwitter-1.0.recipe deleted file mode 100644 index 69e242081..000000000 --- a/haiku-apps/haikutwitter/haikutwitter-1.0.recipe +++ /dev/null @@ -1,20 +0,0 @@ -DESCRIPTION="Twitter client for Haiku OS" -HOMEPAGE="http://code.google.com/p/haikutwitter/" -SRC_URI="svn+http://haikutwitter.googlecode.com/svn/tags/1.0/HaikuTwitter" -REVISION="1" -STATUS_HAIKUE="broken" -MESSAGE="This port only builds with gcc4. Use 'setgcc gcc4' before building." -DEPEND="net-misc/curl >= 7.26.0" -BUILD() -{ - cd haikutwitter-1.0 - make -} - -INSTALL() -{ - cd haikutwitter-1.0 - make install -} -LICENSE="MIT" -COPYRIGHT="2010-2012 Martin Hebnes Pedersen" diff --git a/haiku-apps/haikutwitter/haikutwitter-1.0_git.recipe b/haiku-apps/haikutwitter/haikutwitter-1.0_git.recipe new file mode 100644 index 000000000..9fb01b977 --- /dev/null +++ b/haiku-apps/haikutwitter/haikutwitter-1.0_git.recipe @@ -0,0 +1,55 @@ +SUMMARY="Native Twitter client for Haiku" +DESCRIPTION="HaikuTwitter is an open-source Twitter client for Haiku. It's \ +based off the open-source TwitCurl library." +COPYRIGHT="2012 Martin Pedersen" +LICENSE="MIT" +HOMEPAGE="https://github.com/HaikuArchives/HaikuTwitter" +SRC_URI="https://github.com/HaikuArchives/HaikuTwitter/archive/918dd954b6db3c5ed476b3a4826910992f3b4566.tar.gz" +CHECKSUM_SHA256="bc330cb15c8e10362306eef7d85228f5dee08db667d16a15c0a5245f6013b1e1" +SOURCE_DIR="HaikuTwitter-918dd954b6db3c5ed476b3a4826910992f3b4566" +REVISION="2" + +ARCHITECTURES="x86 ?x86_64" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + # x86_gcc2 is fine as primary target architecture as long as we're building + # for a different secondary architecture. + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + haikutwitter$secondaryArchSuffix = $portVersion + app:HaikuTwitter = $portVersion + " + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libcurl$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + devel:libcurl$secondaryArchSuffix + " + +BUILD_PREREQUIRES=" + makefile_engine + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:mkdepend + cmd:pkg_config$secondaryArchSuffix + " + +BUILD() +{ + make $jobArgs OBJ_DIR=objects +} + +INSTALL() +{ + mkdir -p $appsDir + cp objects/HaikuTwitter $appsDir + + addAppDeskbarSymlink $appsDir/HaikuTwitter +} diff --git a/haiku-apps/jammin/jammin-0.1.0.recipe b/haiku-apps/jammin/jammin-0.1.0.recipe index 304c280be..22ebdf6a8 100644 --- a/haiku-apps/jammin/jammin-0.1.0.recipe +++ b/haiku-apps/jammin/jammin-0.1.0.recipe @@ -6,8 +6,8 @@ Jamfiles are also used for organizing targets— each Jamfile is a separate \ project that can be built independently from the other projects. " HOMEPAGE="https://github.com/HaikuArchives/JamMin" -SRC_URI="git+https://github.com/HaikuArchives/JamMin.git#681e87d6d4" -REVISION="2" +SRC_URI="git+https://github.com/HaikuArchives/JamMin.git#85ce20ccc0" +REVISION="3" COPYRIGHT="2003 Guido Casiraghi" LICENSE="MIT" @@ -33,11 +33,10 @@ REQUIRES=" haiku >= $haikuVersion " -PATCHES="jampatch-1.patch" - BUILD() { + cd source make OBJ_DIR=objects \ BUILDHOME=`finddir B_SYSTEM_DEVELOP_DIRECTORY` } @@ -45,6 +44,6 @@ BUILD() INSTALL() { mkdir -p $appsDir - cp objects/JamApp $appsDir + cp source/objects/JamApp $appsDir addAppDeskbarSymlink $appsDir/JamApp } diff --git a/haiku-apps/jammin/patches/jampatch-1.patch b/haiku-apps/jammin/patches/jampatch-1.patch deleted file mode 100644 index ab7bb8b26..000000000 --- a/haiku-apps/jammin/patches/jampatch-1.patch +++ /dev/null @@ -1,51 +0,0 @@ -diff --git a/JamMin.rdef b/JamMin.rdef -index 1707392..a46587d 100644 ---- a/JamMin.rdef -+++ b/JamMin.rdef -@@ -13,10 +13,7 @@ resource app_version { - variety = B_APPV_ALPHA, - internal = 0, - -- short_info = "The Jamfile Administrator", -- long_info = #'CSTR' array { -- -- } -+ short_info = "The Jamfile Administrator" - }; - - resource app_flags B_SINGLE_LAUNCH; -diff --git a/JamMinWindow.cpp b/JamMinWindow.cpp -index 2b0077f..2b3c9af 100644 ---- a/JamMinWindow.cpp -+++ b/JamMinWindow.cpp -@@ -1001,10 +1001,6 @@ JamMinWindow::IsSystemLibraryPath(BPath* libPath) - //if (ret == B_OK) { - if ( strcmp(libPath->Path(), path.Path()) == 0 ) return true; - //} -- ret = find_directory(B_COMMON_LIB_DIRECTORY, &path); -- if (ret == B_OK) { -- if ( strcmp(libPath->Path(), path.Path()) == 0 ) return true; -- } - - ret = find_directory(B_USER_LIB_DIRECTORY, &path); //the same as B_COMMON_LIB_DIRECTORY - if (ret == B_OK) { -diff --git a/makefile b/makefile -new file mode 100644 -index 0000000..8514e9d ---- /dev/null -+++ b/makefile -@@ -0,0 +1,14 @@ -+## JamMin makefile for Haiku OS ## -+ -+NAME= JamApp -+ -+TYPE= APP -+ -+SRCS= TargetSettingsWin.cpp TargetConfig.cpp main.cpp LinkerSettingsView.cpp JMOpenFilePanel.cpp JamMinWindow.cpp JamMinApp.cpp JamFile.cpp IncludeSettingsView.cpp GeneralSettingsView.cpp CompilerSettingsView.cpp -+RDEFS= JamMin.rdef -+LIBS= be stdc++.r4 root tracker -+OPTIMIZE= FULL -+WARNINGS = ALL -+ -+## include makefile engine -+include $(BUILDHOME)/etc/makefile-engine diff --git a/haiku-apps/masterpiece/masterpiece-r742.recipe b/haiku-apps/masterpiece/masterpiece-r742.recipe index 9ca293bb2..eee731325 100644 --- a/haiku-apps/masterpiece/masterpiece-r742.recipe +++ b/haiku-apps/masterpiece/masterpiece-r742.recipe @@ -27,12 +27,12 @@ REQUIRES=" haiku$secondaryArchSuffix >= $haikuVersion lib:libsqlite3$secondaryArchSuffix lib:liblayout - lib:libpython2.6 + lib:libpython2.7 " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel >= $haikuVersion devel:libsqlite3$secondaryArchSuffix - devel:libpython2.6 + devel:libpython2.7 " BUILD_PREREQUIRES=" makefile_engine diff --git a/haiku-apps/masterpiece/patches/masterpiece-r742.patch b/haiku-apps/masterpiece/patches/masterpiece-r742.patch index 664639a2f..0d5103c15 100644 --- a/haiku-apps/masterpiece/patches/masterpiece-r742.patch +++ b/haiku-apps/masterpiece/patches/masterpiece-r742.patch @@ -1,6 +1,20 @@ +diff -Pur masterpiece/CommonFunctions.cpp masterpiece-haiku/CommonFunctions.cpp +--- masterpiece/CommonFunctions.cpp 2014-12-05 16:06:41.210736548 +0100 ++++ masterpiece-haiku/CommonFunctions.cpp 2014-12-05 16:10:44.720736102 +0100 +@@ -287,8 +287,8 @@ + int sqlValue; + BString tmpString; + sqlErrMsg = 0; +- BString tmpPath = GetAppDirPath(); // for testing purposes, use local one. +- //BString tmpPath = GetUserDirPath(); // for publish purposes, use real location ++ //BString tmpPath = GetAppDirPath(); // for testing purposes, use local one. ++ BString tmpPath = GetUserDirPath(); // for publish purposes, use real location + if(tmpPath != "-15") + { + tmpPath += "/MasterPiece.db"; diff -Pur masterpiece/Makefile masterpiece-haiku/Makefile ---- masterpiece/Makefile 1970-01-01 00:00:00.000000000 +0000 -+++ masterpiece-haiku/Makefile 2013-12-31 20:32:00.608960512 +0000 +--- masterpiece/Makefile 1970-01-01 01:00:00.000000000 +0100 ++++ masterpiece-haiku/Makefile 2014-12-05 16:09:36.420736227 +0100 @@ -0,0 +1,146 @@ +## BeOS Generic Makefile v2.5 ## + @@ -73,7 +87,7 @@ diff -Pur masterpiece/Makefile masterpiece-haiku/Makefile +#                naming scheme you need to specify the path to the library +#                and it's name +#                library: my_lib.a entry: my_lib.a or path/my_lib.a -+LIBS=root be sqlite3 $(STDCPPLIBS) python2.6 tracker ++LIBS=root be sqlite3 $(STDCPPLIBS) python2.7 tracker + +#        specify additional paths to directories following the standard +#        libXXX.so or libXXX.a naming scheme. You can specify full paths diff --git a/haiku-apps/microbe/microbe-20130728.recipe b/haiku-apps/microbe/microbe-20130728.recipe new file mode 100644 index 000000000..9fb4073d4 --- /dev/null +++ b/haiku-apps/microbe/microbe-20130728.recipe @@ -0,0 +1,42 @@ +SUMMARY="Source code editor" +DESCRIPTION=" +Microbe is a minimalistic programmers text and source code editor. +" +HOMEPAGE="https://github.com/aldeck/microbe" +SRC_URI="git://github.com/aldeck/microbe#41f6ce8a5d96c96af9fb17eda1b466a5e9e0bfb1" +REVISION="1" +LICENSE="MIT" +COPYRIGHT="2011 Alexandre Deckner" + +ARCHITECTURES="x86_gcc2 x86 x86_64" + +PROVIDES=" + microbe = $portVersion + app:Microbe = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion + " + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + makefile_engine + cmd:mkdepend + cmd:make + cmd:g++ + " + +PATCHES="microbe-20130728.patch" + +BUILD() +{ + make $jobArgs OBJ_DIR=objects +} + +INSTALL() +{ + mkdir -p $appsDir + cp objects/Microbe $appsDir/Microbe + addAppDeskbarSymlink $appsDir/Microbe +} diff --git a/haiku-apps/microbe/patches/microbe-20130728.patch b/haiku-apps/microbe/patches/microbe-20130728.patch new file mode 100644 index 000000000..e8b32060b --- /dev/null +++ b/haiku-apps/microbe/patches/microbe-20130728.patch @@ -0,0 +1,75 @@ +diff --git a/MainView.cpp b/MainView.cpp +index 098027d..dc122bf 100644 +--- a/MainView.cpp ++++ b/MainView.cpp +@@ -18,8 +18,7 @@ MainView::MainView(BRect frame) + : + //BTextView("MainView") + BTextView(frame, "textview", frame, +- B_FOLLOW_ALL, B_FRAME_EVENTS | B_WILL_DRAW), +- fPythonPlugin(this, "klong") ++ B_FOLLOW_ALL, B_FRAME_EVENTS | B_WILL_DRAW) + { + fHighlighter = new Highlighter(this); + SetStylable(true); +@@ -100,7 +99,6 @@ void + MainView::DeleteText(int32 start, int32 finish) + { + BTextView::DeleteText(start, finish); +- fPythonPlugin.Func1(Text()/*text*/); + } + + +@@ -113,6 +111,5 @@ MainView::InsertText(const char *text, int32 length, int32 offset, + + BTextView::InsertText(text, length, offset, runs); + bigtime_t start = system_time(); +- fPythonPlugin.Func1(Text()/*text*/); + printf("script time: %lims\n", (system_time() - start) / 1000); + } +diff --git a/MainView.h b/MainView.h +index f1c456f..e705a27 100644 +--- a/MainView.h ++++ b/MainView.h +@@ -9,8 +9,6 @@ + + #include + +-#include "PythonPlugin.h" +- + #include + + +@@ -40,7 +38,6 @@ public: + + private: + Highlighter* fHighlighter; +- PythonPlugin fPythonPlugin; + }; + + +diff --git a/makefile b/makefile +index e2f41a7..1ac7063 100644 +--- a/makefile ++++ b/makefile +@@ -2,17 +2,16 @@ TYPE = APP + + NAME = Microbe + +-SYSTEM_INCLUDE_PATHS = /boot/common/include/python2.6 ++SYSTEM_INCLUDE_PATHS = /boot/system/develop/headers/python2.7 + + SRCS = App.cpp + SRCS += Highlighter.cpp + SRCS += MainWindow.cpp + SRCS += MainView.cpp +-SRCS += PythonPlugin.cpp + SRCS += TextRange.cpp +-LIBS = be python2.6 tracker #stdc++ ++LIBS = be tracker stdc++ + + RDEFS = Microbe.rdef + + # include the makefile-engine +-include $(BUILDHOME)/etc/makefile-engine ++include /boot/system/develop/etc/makefile-engine diff --git a/haiku-apps/minimizeall/minimizeall-1.0.0.recipe b/haiku-apps/minimizeall/minimizeall-1.0.0.recipe index 96625e96d..18afdbe34 100644 --- a/haiku-apps/minimizeall/minimizeall-1.0.0.recipe +++ b/haiku-apps/minimizeall/minimizeall-1.0.0.recipe @@ -6,9 +6,9 @@ standalone app that minimizes the whole app, and a replicant for your Deskbar. \ Both do the same: Minimize all your apps! " HOMEPAGE="https://github.com/HaikuArchives/MinimizeAll/" -SRC_URI="git://github.com/HaikuArchives/MinimizeAll.git#12fefdf26131375f695693a680bf01edb35d57a9" +SRC_URI="git://github.com/HaikuArchives/MinimizeAll.git#5f61ffe08a0e832d6f5308c9fecccbbb573972f8" -REVISION="1" +REVISION="2" COPYRIGHT=" 2001-2008 Werner Freytag @@ -17,7 +17,7 @@ COPYRIGHT=" LICENSE="MIT" -ARCHITECTURES="x86_gcc2 x86 ?x86_64" +ARCHITECTURES="x86_gcc2 x86 x86_64" PROVIDES=" minimizeall = $portVersion @@ -36,14 +36,22 @@ BUILD_PREREQUIRES=" BUILD_REQUIRES=" haiku_devel >= $haikuVersion " + +PATCHES="minimizeall-1.0.0.patch" + BUILD() { - cd trunk mkdir -p bin + if [ "$effectiveTargetArchitecture" = "x86_gcc2" ]; then + STDLIB="stdc++.r4" + else + STDLIB="stdc++" + fi + # Step 1 - Building the app cd app - gcc -o ../bin/MinimizeAll -lbe main.cpp ../minimize.cpp + gcc -o ../bin/MinimizeAll -lbe -l$STDLIB main.cpp ../minimize.cpp rc -o ../bin/MinimizeAll.rsrc Application.rdef xres -o ../bin/MinimizeAll ../bin/MinimizeAll.rsrc mimeset -f ../bin/MinimizeAll @@ -51,19 +59,18 @@ BUILD() # Step 2 - The DeskBar AddOn! cd "deskbar add-on" - gcc -o ../bin/DeskbarAddOn -lbe DeskbarView.cpp ../minimize.cpp + gcc -o ../bin/DeskbarAddOn -lbe -l$STDLIB DeskbarView.cpp ../minimize.cpp rc -o ../bin/DeskbarAddOn.rsrc DeskbarAddOn.rdef xres -o ../bin/DeskbarAddOn ../bin/DeskbarAddOn.rsrc mimeset -f ../bin/DeskbarAddOn cd .. - } INSTALL() { mkdir -p $appsDir/MinimizeAll - cp trunk/bin/MinimizeAll $appsDir/MinimizeAll/MinimizeAll - cp trunk/bin/DeskbarAddOn $appsDir/MinimizeAll/DeskbarAddOn + cp bin/MinimizeAll $appsDir/MinimizeAll/MinimizeAll + cp bin/DeskbarAddOn $appsDir/MinimizeAll/DeskbarAddOn addAppDeskbarSymlink $appsDir/MinimizeAll/MinimizeAll mkdir -p "$dataDir/deskbar/menu/Desktop applets" symlinkRelative -s "$appsDir/MinimizeAll/DeskbarAddOn" \ diff --git a/haiku-apps/minimizeall/patches/minimizeall-1.0.0.patch b/haiku-apps/minimizeall/patches/minimizeall-1.0.0.patch new file mode 100644 index 000000000..97b55c63d --- /dev/null +++ b/haiku-apps/minimizeall/patches/minimizeall-1.0.0.patch @@ -0,0 +1,13 @@ +diff --git a/minimize.cpp b/minimize.cpp +index cf3d1e1..c263d01 100644 +--- a/minimize.cpp ++++ b/minimize.cpp +@@ -20,6 +20,8 @@ + #include + #include + ++using std::vector; ++ + // wird irgendwo vom BeOS definiert (stammt aus Tracker source) + void do_minimize_team(BRect zoomRect, team_id team, bool zoom); + void do_bring_to_front_team(BRect zoomRect, team_id app, bool zoom); diff --git a/haiku-apps/orphilia_dropbox/orphilia_dropbox-1.recipe b/haiku-apps/orphilia_dropbox/orphilia_dropbox-1.recipe new file mode 100644 index 000000000..3b49e9f17 --- /dev/null +++ b/haiku-apps/orphilia_dropbox/orphilia_dropbox-1.recipe @@ -0,0 +1,76 @@ +DESCRIPTION="Orphilia is an open-source Dropbox client written in Python. \ +Project's main goal is to provide an open-source desktop Dropbox client for \ +platforms, that aren't supported (for example, Haiku). Orphilia is \ +script-based which makes it platform-independent. It's written using \ +Dropbox SDK from here, which has been integrated \ +into Orphilia's source code and is not required for installation." +SUMMARY="Open-source Dropbox client." +HOMEPAGE="https://github.com/ksiazkowicz/orphilia-dropbox" +SRC_URI="git+https://github.com/ksiazkowicz/orphilia-dropbox.git#f692f26793a48e2742f12c20767f0f22a9ff39af" +REVISION="1" +ARCHITECTURES="x86_gcc2 ?x86 ?x86_64" + +# Should be called after activating package +#POST_INSTALL_SCRIPTS=" +# \"orphilia.py --configuration\" +# " + +PROVIDES=" + orphilia_dropbox = $portVersion + cmd:orphilia_haiku_notify = $portVersion + cmd:orphilia.py = $portVersion + " + +BUILD_PREREQUIRES=" + haiku_devel >= $haikuVersion + cmd:gcc + cmd:python + cmd:sed + " + + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + python_setuptools + " + +REQUIRES=" + pathtools + python_setuptools + urllib3 + watchdog + cmd:python + " + +COPYRIGHT="2011-2014 Maciej Janiszewski" +LICENSE="MIT" + +BUILD() +{ + python build.py +} + +INSTALL() +{ + # GENERIC: all python_setuptools-based installs need this + export PATH="$portPackageLinksDir/cmd~python/bin:$PATH" + pythonVersion=$(python --version 2>&1 | sed 's/Python //' | head -c3) + installLocation=$prefix/lib/python$pythonVersion/vendor-packages/ + export PYTHONPATH=$installLocation:$PYTHONPATH + mkdir -p $installLocation + + cd built/dependencies + python setup.py install \ + --single-version-externally-managed \ + --root=/ --prefix=$prefix + cd ../.. + + mkdir -p $installLocation/orphilia_dropbox + cp -R built/* $installLocation/orphilia_dropbox + + mkdir -p $binDir + + # create symlink which could be directly accessed + ln -s $installLocation/orphilia_dropbox/notify/haiku-notify $binDir/orphilia_haiku-notify + ln -s $installLocation/orphilia_dropbox/orphilia.py $binDir/orphilia.py +} diff --git a/haiku-apps/peek/peek-20140206.recipe b/haiku-apps/peek/peek-20140206.recipe new file mode 100644 index 000000000..40d499dfc --- /dev/null +++ b/haiku-apps/peek/peek-20140206.recipe @@ -0,0 +1,47 @@ +SUMMARY="Image browser" +DESCRIPTION=" +Peek is a free image browser and viewer with the aim of of being small, fast, \ +efficient, very functional and intuitive. +" +HOMEPAGE="https://github.com/HaikuArchives/Peek" +SRC_URI="git+https://github.com/HaikuArchives/Peek.git#ce06fe5" +REVISION="1" +COPYRIGHT="2001 Durand John Miller" +LICENSE="BSD (3-clause)" + +ARCHITECTURES="x86_gcc2" + +PROVIDES=" + peek = $portVersion + app:Peek = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion + " + +BUILD_PREREQUIRES=" + makefile_engine + cmd:mkdepend + cmd:make + cmd:gcc + cmd:g++ + " + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + " + +BUILD() +{ + cd source + make $jobArgs OBJ_DIR=objects +} + +INSTALL() +{ + mkdir -p $appsDir/Peek + cp source/objects/Peek $appsDir/Peek/Peek + cp -r languages $appsDir/Peek/ + addAppDeskbarSymlink $appsDir/Peek/Peek +} diff --git a/haiku-apps/rename/rename-3.9.0.recipe b/haiku-apps/rename/rename-3.9.0.recipe new file mode 100644 index 000000000..0ad131b77 --- /dev/null +++ b/haiku-apps/rename/rename-3.9.0.recipe @@ -0,0 +1,50 @@ +SUMMARY="A Tracker add-on that provides you with a way to rename multiple files at once." +DESCRIPTION=" +ReName! is a Tracker Add-On for HAIKU users. It provides you with a way to\ +rename multiple files at once. ReName! allows you to add, remove or change file\ +extensions. It also allows you to change the capitialization of your files, and\ +do a search and replace on your file names. ReName! also allows you to prepend\ +or append text to multiple file names! +" +HOMEPAGE="https://github.com/bbjimmy/ReName_for_HAIKU" +SRC_URI="https://github.com/bbjimmy/ReName_for_HAIKU/archive/1.0.tar.gz" +CHECKSUM_SHA512="f13f3a022dab3305c35af0a149711e9e304b00082835115aea3ca8eafa7026cf15613e8f932466e16050dc8282fdcdc16ea3b0d4dc257db09442e16a69c939ae" +SOURCE_DIR="ReName_for_HAIKU-1.0" +REVISION="1" +LICENSE="Public Domain" +COPYRIGHT=" + 2000 FlipSide Software + " +ARCHITECTURES="x86_gcc2 x86 ?x86_64" + +PROVIDES=" + rename= $portVersion + app:rename = $portVersion + " +REQUIRES=" + haiku >= $haikuVersion + " +BUILD_PREREQUIRES=" + cmd:gcc + cmd:make + makefile_engine + " +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + " + +BUILD() +{ + cd source + make $jobArgs BUILDHOME=`finddir B_SYSTEM_DEVELOP_DIRECTORY` +} + +INSTALL() +{ + mkdir -p $addOnsDir/Tracker + cp source/ReName $addOnsDir/Tracker/ReName! + mkdir -p $documentationDir/ReName + cd documentation + cp -r * $documentationDir/ReName + +} diff --git a/haiku-apps/resourceedit/resourceedit-1.0_git.recipe b/haiku-apps/resourceedit/resourceedit-1.0_git.recipe new file mode 100644 index 000000000..d1b8a0cc2 --- /dev/null +++ b/haiku-apps/resourceedit/resourceedit-1.0_git.recipe @@ -0,0 +1,46 @@ +SUMMARY="Graphical RSRC resource editor" +DESCRIPTION="An editor for binary resource files (.rsrc) that get compiled \ +into an application and can then be used within the application." +HOMEPAGE="https://github.com/HaikuArchives/ResourceEdit" +LICENSE="MIT" +COPYRIGHT="2012-2013 Tri-Edge AI" +SRC_URI="https://github.com/HaikuArchives/ResourceEdit/archive/8c3f779d08525ed1e607627213278436a0502125.tar.gz" +CHECKSUM_SHA256="848b4e6d8a30737793d858d95360d33219efa615635b0b79c845bc4b78f6a64b" +SOURCE_DIR="ResourceEdit-8c3f779d08525ed1e607627213278436a0502125" +REVISION="1" + +ARCHITECTURES="x86_gcc2 ?x86 ?x86_64" + +PROVIDES=" + resourceedit = $portVersion + app:ResourceEdit = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion + " + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + " +BUILD_PREREQUIRES=" + makefile_engine + cmd:gcc + cmd:ld + cmd:make + cmd:mkdepend + " + +BUILD() +{ + cd source + make $jobArgs OBJ_DIR=objects +} + +INSTALL() +{ + cd source + mkdir -p $appsDir + cp objects/ResourceEdit $appsDir + addAppDeskbarSymlink $appsDir/ResourceEdit +} diff --git a/haiku-apps/resourceedit/resourceedit-1.recipe b/haiku-apps/resourceedit/resourceedit-1.recipe deleted file mode 100644 index 76bd028e5..000000000 --- a/haiku-apps/resourceedit/resourceedit-1.recipe +++ /dev/null @@ -1,52 +0,0 @@ -DESCRIPTION=" -This is an editor for resource files (.rsrc), binary files that get compiled \ -into an application and can then be accessed by that application. -" -SUMMARY="Resource editor" -HOMEPAGE="https://github.com/HaikuArchives/ResourceEdit" -LICENSE="MIT" -COPYRIGHT="2012-2013 Tri-Edge AI" -SRC_URI="git+https://github.com/HaikuArchives/ResourceEdit.git#1873c33591e2d2ccb3dccb692c175e9f10a0e450" -REVISION="1" - -ARCHITECTURES="!x86 ?x86_64" -if [ $effectiveTargetArchitecture != x86_gcc2 ]; then - # x86_gcc2 is fine as primary target architecture as long as we're building - # for a different secondary architecture. - ARCHITECTURES="$ARCHITECTURES x86_gcc2" -else - ARCHITECTURES="$ARCHITECTURES !x86_gcc2" -fi -SECONDARY_ARCHITECTURES="!x86" - -PROVIDES=" - resourceedit$secondaryArchSuffix = $portVersion - app:ResourceEdit = $portVersion - " - -REQUIRES=" - haiku$secondaryArchSuffix >= $haikuVersion - " -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel >= $haikuVersion - " -BUILD_PREREQUIRES=" - makefile_engine - cmd:gcc$secondaryArchSuffix - cmd:ld$secondaryArchSuffix - cmd:make - cmd:mkdepend - " - -BUILD() -{ - make -} - -INSTALL() -{ - # supports "x86" architecture only - mkdir $appsDir - cp objects.x86-gcc4-release/ResourceEdit $appsDir - addAppDeskbarSymlink $appsDir/ResourceEdit -} diff --git a/haiku-apps/rez/rez-108.recipe b/haiku-apps/rez/rez-108.recipe index d4d1ce2c4..259c972a5 100644 --- a/haiku-apps/rez/rez-108.recipe +++ b/haiku-apps/rez/rez-108.recipe @@ -1,24 +1,47 @@ -DESCRIPTION="rez" -HOMEPAGE="http://dev.osdrawer.net/projects/sum-it" -SRC_URI="svn+http://svn.osdrawer.net/sum-it/rez#108" +DESCRIPTION="Rez is a resource compiler similar to rc. Its main use is compiling\ +the Sum-it spreadsheet. New applications should consider using rc instead, but\ +Rez may still be useful to compile some old apps from the BeOS days" +SUMMARY="The Rez resource compiler" + +LICENSE="BSD (4-clause)" +COPYRIGHT="1996-1998, 2000 Hekkelman Programmatuur B.V. All rights reserved. + 1999-2000 Tim Vernum. All rights reserved." + +HOMEPAGE="https://github.com/HaikuArchives/Rez/archive/v1.0" +SRC_URI="https://github.com/HaikuArchives/Rez/archive/v1.0.tar.gz" +SOURCE_DIR="Rez-1.0" + REVISION="1" -STATUS_HAIKU="stable" -DEPEND="" -#CHECKSUM_MD5="" + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + haiku >= $haikuVersion + " + +BUILD_PREREQUIRES=" + haiku >= $haikuVersion + cmd:make + cmd:flex + cmd:bison + cmd:cc + " + +CHECKSUM_SHA256="a2e41044ad34302abef5ccaf2f86b16e7bf658c96ab337935cee5b6228597afa" + +ARCHITECTURES="!x86 x86_gcc2" + +PROVIDES=" + rez = $portVersion + cmd:rez = $portVersion + " BUILD() { - cd rez-108 - make + make $jobArgs } INSTALL() { - cd rez-108 - BIN_DIR=`finddir B_COMMON_BIN_DIRECTORY` - mkdir -p ${DESTDIR}${BIN_DIR} - cp rez ${DESTDIR}${BIN_DIR}/rez -} - -#LICENSE="" -#COPYRIGHT="" + mkdir -p $binDir + cp rez $binDir +} \ No newline at end of file diff --git a/haiku-apps/scriptureguide/scriptureguide-0.9.0.recipe b/haiku-apps/scriptureguide/scriptureguide-0.9.0.recipe new file mode 100644 index 000000000..c059d28ec --- /dev/null +++ b/haiku-apps/scriptureguide/scriptureguide-0.9.0.recipe @@ -0,0 +1,69 @@ +SUMMARY="Bible study tool that supports a wide variety of Bibles" +DESCRIPTION="ScriptureGuide is a Bible study tool. It supports all of the \ +features you'd expect: search, setting the font, taking notes, etc. Through \ +the accompanying ScriptureGuideManager app, you can download hundereds of free \ +copies of various Bibles, commentaries, and related books." +COPYRIGHT="2014 ScriptureGuide Team" +LICENSE="GNU GPL v2" +HOMEPAGE="https://github.com/HaikuArchives/ScriptureGuide" +SRC_URI="https://github.com/HaikuArchives/ScriptureGuide/archive/v0.9.0.tar.gz" +CHECKSUM_SHA256="63b36186eaf4be130f333e62fa0fb283dbff90149a14763e96c157d9950777b5" +SOURCE_DIR="ScriptureGuide-$portVersion" +REVISION="2" + +ARCHITECTURES="x86 ?x86_64" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + # x86_gcc2 is fine as primary target architecture as long as we're building + # for a different secondary architecture. + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + scriptureguide$secondaryArchSuffix = $portVersion + app:ScriptureGuide = $portVersion + app:ScriptureGuideManager = $portVersion + " + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + cmd:awk + cmd:wget + cmd:unzip + lib:libsword$secondaryArchSuffix + lib:libz$secondaryArchSuffix + icu$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + devel:libsword$secondaryArchSuffix + devel:libz$secondaryArchSuffix + icu${secondaryArchSuffix}_devel + " + +BUILD_PREREQUIRES=" + makefile_engine + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:mkdepend + " + +BUILD() +{ + cd ScriptureGuide + make $jobArgs + cd ../ScriptureGuideManager + make $jobArgs +} + +INSTALL() +{ + mkdir -p $appsDir + cp -R App $appsDir + mv $appsDir/App $appsDir/ScriptureGuide + + addAppDeskbarSymlink $appsDir/ScriptureGuide/ScriptureGuide + addAppDeskbarSymlink $appsDir/ScriptureGuide/ScriptureGuideManager +} diff --git a/haiku-apps/scrittore/licenses/Scintilla b/haiku-apps/scrittore/licenses/Scintilla new file mode 100644 index 000000000..cbe25b2fc --- /dev/null +++ b/haiku-apps/scrittore/licenses/Scintilla @@ -0,0 +1,20 @@ +License for Scintilla and SciTE + +Copyright 1998-2003 by Neil Hodgson + +All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation. + +NEIL HODGSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS, IN NO EVENT SHALL NEIL HODGSON BE LIABLE FOR ANY +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE +OR PERFORMANCE OF THIS SOFTWARE. \ No newline at end of file diff --git a/haiku-apps/scrittore/scrittore-git.recipe b/haiku-apps/scrittore/scrittore-git.recipe new file mode 100644 index 000000000..adb4634a7 --- /dev/null +++ b/haiku-apps/scrittore/scrittore-git.recipe @@ -0,0 +1,36 @@ +SUMMARY="A Scintilla-based text editor." +DESCRIPTION="Based on the popular framework for code highlighting, Scrittore provides a simplistic programmer's text editor." +REVISION="1" +LICENSE="Scintilla" +SRC_URI="git+https://github.com/HaikuArchives/Scrittore.git" +COPYRIGHT=" + 1998-2003 Scintilla authors. + 2011-2013 Haiku authors. + " + +HOMEPAGE="https://github.com/HaikuArchives/Scrittore" +PROVIDES=" + Scrittore + app:Scrittore + " + +ARCHITECTURES="x86 !x86_64 ?arm ?ppc" + +BUILD_PREREQUIRES=" + cmd:make + cmd:g++ + haiku_devel + " + +BUILD() +{ + cd scintilla/haiku + make +} + +INSTALL() +{ + mkdir -p $appsDir + cp bin/scintilla-haiku $appsDir/Scrittore + addAppDeskbarSymlink $appsDir/Scrittore +} diff --git a/haiku-apps/shredder/shredder-1.0.0.recipe b/haiku-apps/shredder/shredder-1.0.0.recipe new file mode 100644 index 000000000..b9e07f76a --- /dev/null +++ b/haiku-apps/shredder/shredder-1.0.0.recipe @@ -0,0 +1,50 @@ +SUMMARY="Safely delete files." +DESCRIPTION=" +Shredder is a plugin for tracker, which allows to safely delete files by \ +overwriting them multiple times. +" +HOMEPAGE="https://github.com/HaikuArchives/Shredder" +SRC_URI="git+https://github.com/HaikuArchives/Shredder.git#c6311845fee6e51b347a9eff2c79fbf9548316a6" +REVISION="1" +LICENSE="MIT" +COPYRIGHT="2009 Jason Grenier" + +ARCHITECTURES="x86_gcc2 x86 x86_64" + +PROVIDES=" + shredder = $portVersion + app:Shredder = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion + " + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + makefile_engine + cmd:make + cmd:gcc + cmd:mkdepend + " + +BUILD() +{ + cd src/Shredder + make $jobArgs OBJ_DIR=objects + + cd ../Shredder-S + make $jobArgs OBJ_DIR=objects +} + +INSTALL() +{ + mkdir -p $appsDir + cd src/Shredder + cp objects/Shredder $appsDir/Shredder + addPreferencesDeskbarSymlink $appsDir/Shredder + + mkdir -p $addOnsDir/Tracker + cd ../Shredder-S + cp objects/Shredder-S $addOnsDir/Tracker +} diff --git a/haiku-apps/sortsave/licenses/SortSave b/haiku-apps/sortsave/licenses/SortSave new file mode 100644 index 000000000..4351f3797 --- /dev/null +++ b/haiku-apps/sortsave/licenses/SortSave @@ -0,0 +1,16 @@ +sort-save is copyright © 2013 Jim Saxton ... Fat Elk Software áµ—áµ + + +sort-save license: + +Freeware: + +FAT ELK Software reserves the right to modify the program. Users are free to use, +copy or share this program without limitation. + + +Use at your own risk: + +THIS PROGRAM IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF +MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/haiku-apps/sortsave/sortsave-1.0.recipe b/haiku-apps/sortsave/sortsave-1.0.recipe new file mode 100644 index 000000000..68fa57e09 --- /dev/null +++ b/haiku-apps/sortsave/sortsave-1.0.recipe @@ -0,0 +1,52 @@ +SUMMARY="sort-save screensaver" +DESCRIPTION="Just like the Borg, bringing order to chaos. SortSave is a re-creation of an \ +old program that I used for a screensaver on my old Tandy 1000 computer. \ +The original was programmed in BASIC and compiled to run on MS Dos." +HOMEPAGE="https://github.com/bbjimmy/Sort-Save" +SRC_URI="https://github.com/bbjimmy/Sort-Save/archive/1.0.tar.gz" +CHECKSUM_SHA512="794b3d582667b627ea00654e28ede1a0fde59164cbda87bb05ca8ba8327b98bd4bd726dec013098101ce6ac69fc8b3a86311198829b4ba18f6a55528f6f83d8e" +SOURCE_DIR="Sort-Save-1.0" + +LICENSE="SortSave" +COPYRIGHT="2013 Jim Saxton, Fat Elk Software" + +REVISION="1" + +ARCHITECTURES="x86_gcc2 x86 ?x86_64" + +PROVIDES=" + sortsave = $portVersion + app:sortsave = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion" + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion" + +BUILD_PREREQUIRES=" + cmd:gcc + cmd:make + makefile_engine + " + +BUILD() +{ + make $jobArgs BUILDHOME=`finddir B_SYSTEM_DEVELOP_DIRECTORY` +} + +INSTALL() +{ + + mkdir -p $addOnsDir/Screen\ Savers + cd objects* + cp sort-save $addOnsDir/Screen\ Savers/sort-save + mkdir -p $dataDir/FatElk + cd .. + cd FatElk + unzip -o fatelk.zip + cp "FAT ELK" $dataDir/FatElk/ + cp "Fat Elk " $dataDir/FatElk/ + +} diff --git a/haiku-apps/substrate/substrate-1.0.recipe b/haiku-apps/substrate/substrate-1.0.recipe new file mode 100644 index 000000000..932eb950a --- /dev/null +++ b/haiku-apps/substrate/substrate-1.0.recipe @@ -0,0 +1,42 @@ +SUMMARY="Screensaver drawing interesting city-like structures." +DESCRIPTION=" +Substrate is a screensaver which creates interesting images from lines and circles. \ +Inspired by xscreensaver's Substrate. +" +HOMEPAGE="https://github.com/atalax/haiku-substrate" +SRC_URI="git+https://github.com/atalax/haiku-substrate.git#1bd0a5" +REVISION="1" +COPYRIGHT="2014 Josef Gajdusek" +LICENSE="MIT" + +ARCHITECTURES="x86_gcc2 x86 x86_64" + +PROVIDES=" + substrate = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion + " + +BUILD_PREREQUIRES=" + makefile_engine + cmd:mkdepend + cmd:make + cmd:gcc + " + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + " + +BUILD() +{ + make $jobArgs OBJ_DIR=objects +} + +INSTALL() +{ + mkdir -p $addOnsDir/Screen\ Savers/ + cp objects/Substrate $addOnsDir/Screen\ Savers/ +} diff --git a/haiku-apps/sum_it/sum_it-0.2beta.recipe b/haiku-apps/sum_it/sum_it-0.2beta.recipe index 99f9e1f97..bd7f8307e 100644 --- a/haiku-apps/sum_it/sum_it-0.2beta.recipe +++ b/haiku-apps/sum_it/sum_it-0.2beta.recipe @@ -27,6 +27,7 @@ BUILD_PREREQUIRES=" cmd:gcc cmd:flex cmd:bison + cmd:rez " BUILD() @@ -35,12 +36,7 @@ BUILD() BE_C_COMPILER=gcc make DEBUG=0 PATH=`pwd`:$PATH popd - - - pushd rez - BE_C_COMPILER=gcc make DEBUG=0 - PATH=`pwd`:$PATH - popd + cd sum-it BE_C_COMPILER=gcc make DEBUG=0 diff --git a/haiku-apps/systeminfo/patches/systeminfo-2-2.patchset b/haiku-apps/systeminfo/patches/systeminfo-2-2.patchset new file mode 100644 index 000000000..69ce09887 --- /dev/null +++ b/haiku-apps/systeminfo/patches/systeminfo-2-2.patchset @@ -0,0 +1,41 @@ +From d0ea409005cecef76c6fcb7a0cefd0a662d340e0 Mon Sep 17 00:00:00 2001 +From: Chirayu Desai +Date: Wed, 3 Dec 2014 19:50:33 +0000 +Subject: [PATCH] CPUPercent: Update for new API + +--- + CPUPercent.cpp | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/CPUPercent.cpp b/CPUPercent.cpp +index 3e4c8e8931..4225f73642 100644 +--- a/CPUPercent.cpp ++++ b/CPUPercent.cpp +@@ -19,17 +19,22 @@ void CPU_Percent::Update() + { + system_info info; + get_system_info(&info); ++ ++ cpu_info* cpuInfos = new cpu_info[info.cpu_count]; ++ get_cpu_info(0, info.cpu_count, cpuInfos); + + delta_system = (double)system_time() - last_system_time; +- delta_cpu = double(info.cpu_infos[theCPU].active_time) - last_active_cpu_time; ++ delta_cpu = double(cpuInfos[theCPU].active_time) - last_active_cpu_time; + + percent = (delta_cpu/delta_system); + if(percent < 0) percent = 0.00; + if(percent > 1) percent = 1.00; + + lastpercent = percent; +- last_active_cpu_time = (double)info.cpu_infos[theCPU].active_time; ++ last_active_cpu_time = (double)cpuInfos[theCPU].active_time; + last_system_time = (double)system_time(); ++ ++ delete[] cpuInfos; + } + + double CPU_Percent::Percentage() +-- +1.8.3.4 + diff --git a/haiku-apps/systeminfo/systeminfo-2.recipe b/haiku-apps/systeminfo/systeminfo-2.recipe index 400e28d81..0158096eb 100644 --- a/haiku-apps/systeminfo/systeminfo-2.recipe +++ b/haiku-apps/systeminfo/systeminfo-2.recipe @@ -37,6 +37,10 @@ BUILD_PREREQUIRES=" cmd:xres " +PATCHES=" + systeminfo-2-2.patchset +" + BUILD() { echo "const uint32 CP_CHANGE_BG = 'CPBG'; const uint32 CP_CHANGE_FG = 'CPFG';" > ./DigitalView.h diff --git a/haiku-apps/textsaver/textsaver-1.0.recipe b/haiku-apps/textsaver/textsaver-1.0.recipe new file mode 100644 index 000000000..f02a03927 --- /dev/null +++ b/haiku-apps/textsaver/textsaver-1.0.recipe @@ -0,0 +1,52 @@ +SUMMARY="TextSaver screensaver" +DESCRIPTION="Displays your text at random locations in random colors." +HOMEPAGE="https://github.com/bbjimmy/TextSaver" +SRC_URI="https://github.com/bbjimmy/TextSaver/archive/1.0.tar.gz" +CHECKSUM_SHA256="00ecaba878786fce07620946124bdb42ec52e9d1c597cc2a876355229a786747" +SOURCE_DIR="TextSaver-1.0" + +LICENSE="MIT" +COPYRIGHT="2002 Marcus Overhagen + 2004-2013 Jim Saxton, FAT ELK SOFTWARE +" + +REVISION="1" + +ARCHITECTURES="x86_gcc2 x86 ?x86_64" + +PROVIDES=" + testsaver = $portVersion + app:textsaver = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion" + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion" + +BUILD_PREREQUIRES=" + cmd:gcc + cmd:make + makefile_engine + " + +BUILD() +{ + cd source + make $jobArgs BUILDHOME=`finddir B_SYSTEM_DEVELOP_DIRECTORY` +} + +INSTALL() +{ + + mkdir -p $addOnsDir/Screen\ Savers + cd source + cp TextSaver $addOnsDir/Screen\ Savers/TextSaver + mkdir -p $dataDir/FatElk + cd .. + unzip -o fatelk + cp "FAT ELK" $dataDir/FatElk/ + cp "Fat Elk" $dataDir/FatElk/ + +} diff --git a/haiku-apps/timecop/timecop-0.61.recipe b/haiku-apps/timecop/timecop-0.61.recipe new file mode 100644 index 000000000..a292964a7 --- /dev/null +++ b/haiku-apps/timecop/timecop-0.61.recipe @@ -0,0 +1,47 @@ +SUMMARY="TimeCop helps you collect statistics about your computer working" +DESCRIPTION=" +You want to know, how much time you spend in front of your computer? +You want to know, how often your computer crashes? + +So you can use TimeCop to write a protocol of your computer sessions. +" +HOMEPAGE="http://www.augusta.de/michael/BeOS/TimeCop/index.us.html" +SRC_URI="git://github.com/HaikuArchives/TimeCop.git#ee79c42895" +REVISION="2" +LICENSE="GNU GPL v2" +COPYRIGHT="Copyright Michael Pieper" +ARCHITECTURES="x86_gcc2 x86 !ppc" +CHECKSUM_SHA256="d384c22c8768298fb1d9ea60fbdb8e7f7e440c00bae44c37e7507f20c4fe6a94" + +REQUIRES=" + haiku >= $haikuVersion +" + +PROVIDES=" + cmd:TimeCop_daemon = $portVersion + app:TimeCop = $portVersion +" + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion +" + +BUILD_PREREQUIRES=" + cmd:make + cmd:gcc +" + +BUILD() +{ + make +} + +INSTALL() +{ + mkdir -p $binDir + mkdir -p $appsDir + cp -a $sourceDir/bin/TimeCop_daemon $binDir/TimeCop_daemon + cp -a $sourceDir/bin/TimeCop $appsDir/TimeCop + + addAppDeskbarSymlink $appsDir/TimeCop +} diff --git a/haiku-apps/virtualbelive/virtualbelive-20140718.recipe b/haiku-apps/virtualbelive/virtualbelive-20140718.recipe new file mode 100644 index 000000000..485ac883d --- /dev/null +++ b/haiku-apps/virtualbelive/virtualbelive-20140718.recipe @@ -0,0 +1,46 @@ +SUMMARY="Video editing software." +DESCRIPTION=" +VirtualBeLive is a software for video editing. It supports basic transitions, \ +cutting and a few effects. +" +HOMEPAGE="https://github.com/HaikuArchives/VirtualBeLive" +SRC_URI="git+https://github.com/HaikuArchives/VirtualBeLive#23bea51" +REVISION="1" +LICENSE="Public Domain" +COPYRIGHT="Public Domain" + +ARCHITECTURES="x86_gcc2" + +PROVIDES=" + virtualbelive = $portVersion + app:VirtualBeLive = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion + " + +BUILD_PREREQUIRES=" + makefile_engine + cmd:mkdepend + cmd:make + cmd:g++ + cmd:xres + cmd:grep + " + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + " + +BUILD() +{ + make $jobArgs OBJ_DIR=objects +} + +INSTALL() +{ + mkdir -p $appsDir + cp objects/VirtualBeLive $appsDir/VirtualBeLive + addAppDeskbarSymlink $appsDir/VirtualBeLive +} diff --git a/haiku-apps/yab_ide/yab_ide-2.2.3.recipe b/haiku-apps/yab_ide/yab_ide-2.2.3.recipe new file mode 100644 index 000000000..da89bf515 --- /dev/null +++ b/haiku-apps/yab_ide/yab_ide-2.2.3.recipe @@ -0,0 +1,85 @@ +SUMMARY="integrated development environment for yab." +DESCRIPTION=" +Yab allows fast prototyping with simple and clean code. yab contains a large \ +number of BeAPI specific commands for GUI creation and much, much more. + +yab wouldn't be complete without the yab-IDE, a powerful development \ +environment, which of course is programmed in yab itself. +" +HOMEPAGE="http://sourceforge.net/projects/yab-interpreter" +SRC_URI="https://github.com/HaikuArchives/Yab/archive/v1.7.3.tar.gz" +CHECKSUM_SIZE="1176449" +CHECKSUM_RMD160="f62fa02a585d9f6c5ee3eb9b781a06083352bd6f" +CHECKSUM_SHA512="a74edcf9718ee9a13a16ab0a99fbbed3cceebf1ea4bfac714b098d51531de7fdd0738e126b9a2e5d2f8d84fd0c153d9b7702e806cc91c6a97537dda11411e915" +SOURCE_DIR="Yab-1.7.3" + +REVISION="1" + +LICENSE="Artistic" +COPYRIGHT="1995-2006 Marc-Oliver Ihm (yabasic) + 2006-2009 Jan Bungeroth (yab improvements) + 2013 Jim Saxton (yab improvements)" + +ARCHITECTURES="x86_gcc2 x86 ?x86_64" + +PROVIDES=" + yab_ide$secondaryArchSuffix = $portVersion + app:yab_IDE = $portVersion + " + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libncurses$secondaryArchSuffix + yab$secondaryArchSuffix >= 1.7.02 + devel:libncurses$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + devel:libncurses$secondaryArchSuffix + devel:libz$secondaryArchSuffix +" + +BUILD_PREREQUIRES=" + cmd:bison + cmd:flex + cmd:gcc$secondaryArchSuffix + cmd:make + cmd:mkdepend + cmd:perl + makefile_engine + " + +BUILD() +{ + cd src + make $jobArgs BUILDHOME=`finddir B_SYSTEM_DEVELOP_DIRECTORY` + unzip -o App_YAB.zip + copyattr App_YAB yab + cd ../yab-IDE/BuildFactory + gcc -o yab-compress yab-compress.c -lz +} + +INSTALL() +{ + mkdir -p $binDir + mkdir -p tmp + mkdir -p tmp/buildfactory + + cp -r src/* tmp/buildfactory + cp -r yab-IDE/BuildFactory/* tmp/buildfactory/ + unzip -o tmp/buildfactory/parts/yabstuff.zip -d tmp/buildfactory/parts + cp yab-IDE/src/yab-IDE.yab tmp/buildfactory/ + + pushd tmp/buildfactory + BuildFactory.yab yab-IDE yab-IDE.yab application/x-vnd.yab-IDE + popd + + mkdir -p $appsDir + cp -r yab-IDE/ $appsDir/ + cp tmp/buildfactory/yab-IDE $appsDir/yab-IDE/ + cp yab-IDE/src/yab-IDE.yab $appsDir/yab-IDE/src/ + + addAppDeskbarSymlink $appsDir/yab-IDE/yab-IDE "Yab IDE" +} diff --git a/haiku-games/becheckers/becheckers-1.0.1.recipe b/haiku-games/becheckers/becheckers-1.0.1.recipe index 525258e52..b1479ef31 100644 --- a/haiku-games/becheckers/becheckers-1.0.1.recipe +++ b/haiku-games/becheckers/becheckers-1.0.1.recipe @@ -4,10 +4,10 @@ BeCheckers is a simple checkers game for two players. It follows almost all \ American Checker Federation (ACF) rules. " HOMEPAGE="https://github.com/HaikuArchives/BeCheckers" -SRC_URI="git://github.com/HaikuArchives/BeCheckers.git#930d3e37339c4570d58e59c3300dba7d69dd4439" +SRC_URI="git://github.com/HaikuArchives/BeCheckers.git#d4fbfc69656ba5861184d37f7932b9a53ff28373" LICENSE="MIT" COPYRIGHT="2000 Jeremy J. Gibbons" -REVISION="1" +REVISION="2" ARCHITECTURES="x86_gcc2 ?x86 ?x86_64" PROVIDES=" @@ -28,7 +28,6 @@ BUILD_PREREQUIRES=" BUILD() { - cd trunk g++ -o BeCheckers -lbe \ BeCheckers.cpp BeCheckersWindow.cpp \ Checker.cpp CheckerBoard.cpp @@ -37,6 +36,6 @@ BUILD() INSTALL() { mkdir -p $appsDir - cp trunk/BeCheckers $appsDir + cp BeCheckers $appsDir addAppDeskbarSymlink $appsDir/BeCheckers } diff --git a/haiku-libs/haikuwebkit/haikuwebkit-1.4.8.recipe b/haiku-libs/haikuwebkit/haikuwebkit-1.4.8.recipe index 333c34124..8b9d5c32b 100644 --- a/haiku-libs/haikuwebkit/haikuwebkit-1.4.8.recipe +++ b/haiku-libs/haikuwebkit/haikuwebkit-1.4.8.recipe @@ -13,9 +13,9 @@ LICENSE=" MIT " SRC_URI="https://github.com/haiku/webkit/archive/$portVersion.tar.gz" -CHECKSUM_SHA256="93e692e42ab056e6827f24f8abfe7e2ba72c375393cbf0af10ebd7465305008a" +CHECKSUM_SHA256="a8ecce6a38af093113e03b437da1a3ea7bf075172fbc0e580da2a0b4a4da37e6" SRC_FILENAME="haikuwebkit-$portVersion.tar.gz" -REVISION="1" +REVISION="2" ARCHITECTURES="x86 x86_64" if [ $effectiveTargetArchitecture != x86_gcc2 ]; then # x86_gcc2 is fine as primary target architecture as long as we're building @@ -95,7 +95,7 @@ INSTALL() ninja install rm $developLibDir/* - prepareInstalledDevelLibs libWebKit + prepareInstalledDevelLibs libWebKit libJavaScriptCore # devel package packageEntries devel \ @@ -106,7 +106,7 @@ INSTALL() PROVIDES_devel=" haikuwebkit${secondaryArchSuffix}_devel = $portVersion - devel:libjavascriptcore$secondaryArchSuffix = $portVersion + devel:libJavaScriptCore$secondaryArchSuffix = $portVersion devel:libwebcore$secondaryArchSuffix = $portVersion devel:libWebKit$secondaryArchSuffix = $portVersion devel:libwtf$secondaryArchSuffix = $portVersion diff --git a/haiku-libs/libburndevice/libburndevice-git.recipe b/haiku-libs/libburndevice/libburndevice-1.0.recipe similarity index 58% rename from haiku-libs/libburndevice/libburndevice-git.recipe rename to haiku-libs/libburndevice/libburndevice-1.0.recipe index f31c0db88..f13628c13 100644 --- a/haiku-libs/libburndevice/libburndevice-git.recipe +++ b/haiku-libs/libburndevice/libburndevice-1.0.recipe @@ -1,71 +1,24 @@ SUMMARY="A disc burning library for Haiku" -DESCRIPTION=" -LibBurnDevice is a disc burning library for Haiku -" - +DESCRIPTION="LibBurnDevice is a disc burning library for Haiku." HOMEPAGE="https://github.com/HaikuArchives/Lava" -SRC_URI="git+https://github.com/HaikuArchives/Lava.git" - -REVISION="1" - +SRC_URI="https://github.com/HaikuArchives/Lava/archive/v$portVersion.tar.gz" +CHECKSUM_SHA256="0c1899141eac1fca086a554d56527f38baa70ae7bff0a6db37cd180084c01c71" +SOURCE_DIR="Lava-$portVersion" LICENSE="Public Domain" -COPYRIGHT=" - 2007, 2010 Team MAUI - 2003-2006 Haiku Inc. - " - +COPYRIGHT="2007, 2010 Team MAUI + 2003-2006 Haiku Inc." +REVISION="1" ARCHITECTURES="x86_gcc2 x86 ?x86_64" SECONDARY_ARCHITECTRUES="x86_gcc2 x86" PROVIDES=" - libburndevice = $portVersion + libburndevice$secondaryArchSuffix = $portVersion lib:libburndevice$secondaryArchSuffix = $portVersion " REQUIRES=" haiku$secondaryArchSuffix >= $haikuVersion cmd:cdrtools " -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel >= $haikuVersion - " -BUILD_PREREQUIRES=" - cmd:gcc$secondaryArchSuffix - cmd:ld$secondaryArchSuffix - cmd:make - cmd:mkdepend - makefile_engine" - -BUILD() -{ - exit 0 - cd LibBurnDevice - make TYPE=SHARED OBJ_DIR=objects-shared \ - BUILDHOME=$(finddir B_SYSTEM_DEVELOP_DIRECTORY) - - make TYPE=STATIC OBJ_DIR=objects-static \ - BUILDHOME=$(finddir B_SYSTEM_DEVELOP_DIRECTORY) -} - -INSTALL() -{ - mkdir -p $libDir $developLibDir $includeDir/burndevice - - cd LibBurnDevice - - cp objects-static/libburndevice.a $developLibDir - cp objects-shared/libburndevice $libDir/libburndevice.so - - cp BurnDevice.h $includeDir/burndevice - - symlinkRelative -s $libDir/libburndevice.so $developLibDir - - packageEntries devel \ - $developLibDir \ - $includeDir - -} - -# -------- devel package -------------------------------------------------- PROVIDES_devel=" libburndevice${secondaryArchSuffix}_devel = $portVersion @@ -74,3 +27,36 @@ PROVIDES_devel=" REQUIRES_devel=" libburndevice$secondaryArchSuffix == $portVersion base " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + " +BUILD_PREREQUIRES=" + makefile_engine + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:mkdepend + " + +BUILD() +{ + cd LibBurnDevice + make $jobArgs OBJ_DIR=objects +} + +INSTALL() +{ + cd LibBurnDevice + mkdir -p $libDir $developLibDir $includeDir/burndevice + + cp objects/libburndevice.so $libDir/libburndevice.so + cp BurnDevice.h $includeDir/burndevice + + prepareInstalledDevelLibs \ + libburndevice + + packageEntries devel \ + $developLibDir \ + $includeDir +} diff --git a/haiku-misc/rssavers/patches/rssavers-0.2.patchset b/haiku-misc/rssavers/patches/rssavers-0.2.patchset new file mode 100644 index 000000000..7a27b2dfb --- /dev/null +++ b/haiku-misc/rssavers/patches/rssavers-0.2.patchset @@ -0,0 +1,619 @@ +From ee9e2d290aed2d9206b911140662ec2aa2babd4f Mon Sep 17 00:00:00 2001 +From: Puck Meerburg +Date: Tue, 2 Dec 2014 15:06:43 +0000 +Subject: Fix Haiku compilation, add screen_blanker wrapper for screen savers + + +diff --git a/include/rsHaikuScreenSaver/rsHaikuScreenSaver.h b/include/rsHaikuScreenSaver/rsHaikuScreenSaver.h +new file mode 100644 +index 0000000..098b748 +--- /dev/null ++++ b/include/rsHaikuScreenSaver/rsHaikuScreenSaver.h +@@ -0,0 +1,71 @@ ++/* ++ * Copyright (C) 2006 Terence M. Welsh (rsXScreenSaver) ++ * Modified by Puck Meerburg, (c) 2014 ++ * ++ * This file is part of rsHaikuScreenSaver. ++ * ++ * rsHaikuScreenSaver is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * rsHaikuScreenSaver is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ */ ++ ++ ++/* ++ * rsHaikuScreenSaver library, based on rsXScreenSaver ++ * ++ * Library for handling standard OpenGL screensaver functionality, such ++ * as opening windows, choosing pixel formats, setting video modes, ++ * handling user input, etc... ++ */ ++ ++ ++ ++#ifndef RSHAIKUSCREENSAVER_H ++#define RSHAIKUSCREENSAVER_H ++ ++ ++#include ++#include ++#include ++#include ++#include ++ ++ ++ ++extern int checkingPassword; // A saver should check this and stop drawing if true ++extern int isSuspended; // power save mode ++extern int doingPreview; // Previews take extra long to initialize because Windows ++// has lots of screwy resource hogging problems. It's good to check this so that you ++// can simplify your preview. ++ ++// These variables can be useful information for saver programmer ++extern int pfd_swap_exchange; // Is this bit set in the PIXELFORMATDESCRIPTOR? ++extern int pfd_swap_copy; // Is this bit set in the PIXELFORMATDESCRIPTOR? ++// used to limit frame rate of saver (0 = no limit) ++extern unsigned int dFrameRateLimit; ++// Keyboard toggle for displaying statistics, such as frames per second. ++// User must implement the displaying of statistics if kStatistics is true. ++extern int kStatistics; ++ ++ ++ ++//---------------------------------------------------------------------------- ++ ++ ++// All idle processing is done here. Typically, you would just draw ++// frames during this routine. ++//void idleProc(); ++ ++ ++ ++#endif +diff --git a/include/rsMath/rsMatrix.h b/include/rsMath/rsMatrix.h +index 75d8cfc..08794b8 100644 +--- a/include/rsMath/rsMatrix.h ++++ b/include/rsMath/rsMatrix.h +@@ -24,7 +24,7 @@ + + + +-#include ++#include + + + +diff --git a/include/util/arguments.h b/include/util/arguments.h +index 7295a0c..899bebe 100644 +--- a/include/util/arguments.h ++++ b/include/util/arguments.h +@@ -33,7 +33,10 @@ + + // Handy template for converting std::string to numeric types. + template +-bool from_string(T& t, const std::string& str, std::ios_base& (*f)(std::ios_base&)){ ++bool from_string( ++ T& t, ++ const std::string& str, ++ std::ios& (*f)(std::ios&)){ + std::istringstream iss(str); + return !(iss >> f >> t).fail(); + } +diff --git a/include/util/rsTimer.h b/include/util/rsTimer.h +index 0eeed2d..0a9855d 100644 +--- a/include/util/rsTimer.h ++++ b/include/util/rsTimer.h +@@ -28,6 +28,7 @@ + #include + #else + #include ++#include + #include + #include + #endif +diff --git a/src/Flocks/Flocks.cpp b/src/Flocks/Flocks.cpp +index 12515fc..3eb5189 100644 +--- a/src/Flocks/Flocks.cpp ++++ b/src/Flocks/Flocks.cpp +@@ -32,6 +32,9 @@ + #ifdef RS_XSCREENSAVER + #include + #endif ++#ifdef RS_HAIKUSCREENSAVER ++#include ++#endif + + #include + #include +@@ -417,7 +420,7 @@ void setDefaults(){ + } + + +-#ifdef RS_XSCREENSAVER ++#if defined(RS_XSCREENSAVER) || defined(RS_HAIKUSCREENSAVER) + void handleCommandLine(int argc, char* argv[]){ + setDefaults(); + getArgumentsValue(argc, argv, std::string("-leaders"), dLeaders, 1, 100); +@@ -468,7 +471,7 @@ void initSaver(HWND hwnd){ + + reshape(rect.right, rect.bottom); + #endif +-#ifdef RS_XSCREENSAVER ++#if defined(RS_XSCREENSAVER) || defined(RS_HAIKUSCREENSAVER) + void initSaver(){ + #endif + int i; +@@ -529,7 +532,7 @@ void initSaver(){ + } + + +-#ifdef RS_XSCREENSAVER ++#if defined(RS_XSCREENSAVER) | defined(RS_HAIKUSCREENSAVER) + void cleanUp(){ + // Free memory + delete[] lBugs; +diff --git a/src/Flocks/Makefile b/src/Flocks/Makefile +index c8e926e..b816e29 100644 +--- a/src/Flocks/Makefile ++++ b/src/Flocks/Makefile +@@ -1,6 +1,6 @@ + INCLUDE = -I../../include +-LIBRARY = -lm -lGL -lGLU ../../lib/rsXScreenSaver.a ../../lib/Rgbhsl.a ../../lib/rsText.a +-CFLAGS = -O3 -DRS_XSCREENSAVER $(INCLUDE) ++LIBRARY = -shared -g -lGL -lGLU ../../lib/rsHaikuScreenSaver.a ../../lib/Rgbhsl.a ../../lib/rsText.a # -lm ++CFLAGS = -O3 -g -DRS_HAIKUSCREENSAVER $(INCLUDE) + + OBJECTS = Flocks.o + +diff --git a/src/Flux/Flux.cpp b/src/Flux/Flux.cpp +index 0bff6c1..f297801 100644 +--- a/src/Flux/Flux.cpp ++++ b/src/Flux/Flux.cpp +@@ -32,6 +32,9 @@ + #ifdef RS_XSCREENSAVER + #include + #endif ++#ifdef RS_HAIKUSCREENSAVER ++#include ++#endif + + #include + #include +@@ -82,7 +85,7 @@ int dRotation; + int dWind; + int dInstability; + int dBlur; +-#ifdef RS_XSCREENSAVER ++#if defined(RS_XSCREENSAVER) || defined(RS_HAIKUSCREENSAVER) + #define DEFAULTS1 1 + #define DEFAULTS2 2 + #define DEFAULTS3 3 +@@ -606,7 +609,7 @@ void setDefaults(int which){ + } + + +-#ifdef RS_XSCREENSAVER ++#if defined(RS_XSCREENSAVER) || defined(RS_HAIKUSCREENSAVER) + void handleCommandLine(int argc, char* argv[]){ + int defaults = DEFAULTS1; + setDefaults(defaults); +@@ -654,7 +657,7 @@ void initSaver(HWND hwnd){ + glLoadIdentity(); + gluPerspective(100.0, aspectRatio, 0.01, 200.0); + #endif +-#ifdef RS_XSCREENSAVER ++#if defined(RS_XSCREENSAVER) || defined(RS_HAIKUSCREENSAVER) + void initSaver(){ + #endif + int i, j; +@@ -749,7 +752,7 @@ void initSaver(){ + } + + +-#ifdef RS_XSCREENSAVER ++#if defined(RS_XSCREENSAVER) || defined(RS_HAIKUSCREENSAVER) + void cleanUp(){ + // Free memory + delete[] fluxes; +diff --git a/src/Flux/Makefile b/src/Flux/Makefile +index 903cfd4..0b14ab8 100644 +--- a/src/Flux/Makefile ++++ b/src/Flux/Makefile +@@ -1,6 +1,6 @@ + INCLUDE = -I../../include +-LIBRARY = -L../../lib -lm -lGL -lGLU ../../lib/rsXScreenSaver.a ../../lib/Rgbhsl.a ../../lib/rsText.a +-CFLAGS = -O3 -DRS_XSCREENSAVER $(INCLUDE) ++LIBRARY = -L../../lib -shared -lGL -lGLU ../../lib/rsHaikuScreenSaver.a ../../lib/Rgbhsl.a ../../lib/rsText.a # -lm ++CFLAGS = -O3 -DRS_HAIKUSCREENSAVER $(INCLUDE) + + OBJECTS = Flux.o + +diff --git a/src/Hyperspace/Hyperspace.cpp b/src/Hyperspace/Hyperspace.cpp +index 490db7b..c9998d3 100644 +--- a/src/Hyperspace/Hyperspace.cpp ++++ b/src/Hyperspace/Hyperspace.cpp +@@ -35,6 +35,9 @@ + #ifdef RS_XSCREENSAVER + #include + #endif ++#ifdef RS_HAIKUSCREENSAVER ++#include ++#endif + + #include + #include +@@ -446,7 +449,7 @@ void setDefaults(){ + } + + +-#ifdef RS_XSCREENSAVER ++#if defined(RS_XSCREENSAVER) || defined(RS_HAIKUSCREENSAVER) + void handleCommandLine(int argc, char* argv[]){ + setDefaults(); + getArgumentsValue(argc, argv, std::string("-speed"), dSpeed, 1, 100); +@@ -506,7 +509,7 @@ void initSaver(HWND hwnd){ + + reshape(rect.right, rect.bottom); + #endif +-#ifdef RS_XSCREENSAVER ++#if defined(RS_XSCREENSAVER) || defined(RS_HAIKUSCREENSAVER) + void initSaver(){ + #endif + // Seed random number generator +@@ -630,7 +633,7 @@ void initSaver(){ + } + + +-#ifdef RS_XSCREENSAVER ++#if defined(RS_XSCREENSAVER) || defined(RS_HAIKUSCREENSAVER) + void cleanUp(){ + // Free memory + if(dUseGoo) +diff --git a/src/Hyperspace/Makefile b/src/Hyperspace/Makefile +index 99f26cb..721b982 100644 +--- a/src/Hyperspace/Makefile ++++ b/src/Hyperspace/Makefile +@@ -1,6 +1,6 @@ + INCLUDE = -I. -I../../include +-LIBRARY = -lm -lGL -lGLU ../../lib/rsXScreenSaver.a ../../lib/rsMath.a ../../lib/Implicit.a ../../lib/rsText.a ../../lib/Rgbhsl.a +-CFLAGS = -O3 -DRS_XSCREENSAVER -DGL_GLEXT_PROTOTYPES $(INCLUDE) ++LIBRARY = -shared -lGL -lGLU ../../lib/rsHaikuScreenSaver.a ../../lib/rsMath.a ../../lib/Implicit.a ../../lib/rsText.a ../../lib/Rgbhsl.a # -lm ++CFLAGS = -O3 -DRS_HAIKUSCREENSAVER -DGL_GLEXT_PROTOTYPES $(INCLUDE) + + OBJECTS = Hyperspace.o \ + causticTextures.o \ +diff --git a/src/Implicit/Makefile b/src/Implicit/Makefile +index 8659f8b..3ce93f1 100644 +--- a/src/Implicit/Makefile ++++ b/src/Implicit/Makefile +@@ -1,5 +1,5 @@ + INCLUDE = -I../../include +-COMPILE = gcc $(INCLUDE) -O3 -DGL_GLEXT_PROTOTYPES -msse -mfpmath=sse ++COMPILE = gcc $(INCLUDE) -shared -O3 -DGL_GLEXT_PROTOTYPES # -msse -mfpmath=sse + OBJECTS = impCubeTables.o \ + impCubeVolume.o \ + impSurface.o \ +diff --git a/src/Microcosm/Makefile b/src/Microcosm/Makefile +index ddaade3..2262be1 100644 +--- a/src/Microcosm/Makefile ++++ b/src/Microcosm/Makefile +@@ -1,6 +1,6 @@ + INCLUDE = -I. -I../../include +-LIBRARY = -lm -lGL -lGLU ../../lib/rsXScreenSaver.a ../../lib/rsMath.a ../../lib/Implicit.a ../../lib/Rgbhsl.a ../../lib/rsText.a -pthread +-CFLAGS = -O3 -DRS_XSCREENSAVER -DGL_GLEXT_PROTOTYPES $(INCLUDE) -msse -mfpmath=sse ++LIBRARY = -lGL -lGLU ../../lib/rsHaikuScreenSaver.a ../../lib/rsMath.a ../../lib/Implicit.a ../../lib/Rgbhsl.a ../../lib/rsText.a # -pthread -lm ++CFLAGS = -O3 -shared -DRS_HAIKUSCREENSAVER -DGL_GLEXT_PROTOTYPES $(INCLUDE) # -msse -mfpmath=sse + + OBJECTS = Microcosm.o \ + MirrorBox.o \ +diff --git a/src/Microcosm/Microcosm.cpp b/src/Microcosm/Microcosm.cpp +index 3c6b2be..c05584e 100644 +--- a/src/Microcosm/Microcosm.cpp ++++ b/src/Microcosm/Microcosm.cpp +@@ -31,6 +31,9 @@ + #ifdef RS_XSCREENSAVER + #include + #endif ++#ifdef RS_HAIKUSCREENSAVER ++#include ++#endif + + //#include + #include +@@ -869,7 +872,7 @@ void setDefaults(int which){ + } + + +-#ifdef RS_XSCREENSAVER ++#if defined(RS_XSCREENSAVER) || defined(RS_HAIKUSCREENSAVER) + void handleCommandLine(int argc, char* argv[]){ + setDefaults(0); + getArgumentsValue(argc, argv, std::string("-stime"), dSingleTime, 0, 300); +@@ -921,7 +924,7 @@ void initSaver(HWND hwnd){ + + reshape(rect.right, rect.bottom); + #endif +-#ifdef RS_XSCREENSAVER ++#if defined(RS_XSCREENSAVER) || defined(RS_HAIKUSCREENSAVER) + void initSaver(){ + #endif + srand((unsigned)time(NULL)); +@@ -1132,7 +1135,7 @@ void initSaver(){ + } + + +-#ifdef RS_XSCREENSAVER ++#if defined(RS_XSCREENSAVER) || defined(RS_HAIKUSCREENSAVER) + void cleanUp(){ + // Free memory + } +diff --git a/src/Plasma/Makefile b/src/Plasma/Makefile +index 697ece9..18e152c 100644 +--- a/src/Plasma/Makefile ++++ b/src/Plasma/Makefile +@@ -1,6 +1,6 @@ + INCLUDE = -I../../include +-LIBRARY = -L../../lib -lm -lGL -lGLU ../../lib/rsXScreenSaver.a ../../lib/rsText.a +-CFLAGS = -O3 -DRS_XSCREENSAVER $(INCLUDE) ++LIBRARY = -shared -L../../lib -lGL -lGLU ../../lib/rsHaikuScreenSaver.a ../../lib/rsText.a ++CFLAGS = -O3 -DRS_HAIKUSCREENSAVER $(INCLUDE) + + OBJECTS = Plasma.o + +diff --git a/src/Plasma/Plasma.cpp b/src/Plasma/Plasma.cpp +index 82444e4..6011e6f 100644 +--- a/src/Plasma/Plasma.cpp ++++ b/src/Plasma/Plasma.cpp +@@ -33,6 +33,9 @@ + #ifdef RS_XSCREENSAVER + #include + #endif ++#ifdef RS_HAIKUSCREENSAVER ++#include ++#endif + + #include + #include +@@ -263,7 +266,7 @@ void setDefaults(){ + } + + +-#ifdef RS_XSCREENSAVER ++#if defined(RS_XSCREENSAVER) || defined(RS_HAIKUSCREENSAVER) + void handleCommandLine(int argc, char* argv[]){ + setDefaults(); + getArgumentsValue(argc, argv, std::string("-zoom"), dZoom, 1, 100); +@@ -302,7 +305,7 @@ void initSaver(HWND hwnd){ + glLoadIdentity(); + gluOrtho2D(0.0f, 1.0f, 0.0f, 1.0f); + #endif +-#ifdef RS_XSCREENSAVER ++#ifndef WIN32 + void initSaver(){ + #endif + int i, j; +@@ -339,7 +342,7 @@ void initSaver(){ + } + + +-#ifdef RS_XSCREENSAVER ++#if defined(RS_XSCREENSAVER) || defined(RS_HAIKUSCREENSAVER) + void cleanUp(){ + ; + } +diff --git a/src/rsHaikuScreenSaver/Makefile b/src/rsHaikuScreenSaver/Makefile +new file mode 100644 +index 0000000..5853683 +--- /dev/null ++++ b/src/rsHaikuScreenSaver/Makefile +@@ -0,0 +1,17 @@ ++INCLUDE = -I../../include ++COMPILE = gcc $(INCLUDE) -O3 ++OBJECTS = rsHaikuScreenSaver.o \ ++ ../util/arguments.o ++ ++ ++all: $(OBJECTS) ++ ar cr ../../lib/rsHaikuScreenSaver.a $(OBJECTS) ++ ++clean: ++ rm $(OBJECTS) ++ ++ ++.SUFFIXES: .cpp .o ++ ++.cpp.o: ++ $(COMPILE) -o $@ -c $< +diff --git a/src/rsHaikuScreenSaver/rsHaikuScreenSaver.cpp b/src/rsHaikuScreenSaver/rsHaikuScreenSaver.cpp +new file mode 100644 +index 0000000..521bfe8 +--- /dev/null ++++ b/src/rsHaikuScreenSaver/rsHaikuScreenSaver.cpp +@@ -0,0 +1,173 @@ ++/* ++ * Copyright (C) 2014 Puck Meerburg. ++ * ++ * This file is part of rsHaikuScreenSaver. ++ * ++ * rsHaikuScreenSaver is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published ++ * by the Free Software Foundation; either version 2 of the License, ++ * or (at your option) any later version. ++ * ++ * rsHaikuScreenSaver is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ */ ++ ++#include ++#include ++#include ++#include ++ ++int checkingPassword = 0; ++int isSuspended = 0; ++int doingPreview = 0; ++unsigned int dFrameRateLimit = 0; ++int kStatistics = 0; ++bool useRootWindow = false; ++ ++bool quit = false; ++ ++// Functions that must be implemented by screensaver ++extern void handleCommandLine(int argc, char* argv[]); ++extern void initSaver(); ++extern void cleanUp(); ++extern void idleProc(); ++extern void reshape(int, int); ++ ++class ScreenSaverGLView : public BGLView { ++ public: ++ ScreenSaverGLView(BRect bounds); ++ void FrameResized(float width, float height); ++ void EnableDirectMode(bool enabled); ++ void DrawSaver(); ++ private: ++ bool mConnected; ++ bool mFirst; ++}; ++ ++ScreenSaverGLView::ScreenSaverGLView(BRect bounds) : ++ BGLView(bounds, (const char *)NULL, B_FOLLOW_ALL, ++ B_FRAME_EVENTS | B_WILL_DRAW, ++ BGL_RGB | BGL_ALPHA | BGL_DEPTH | BGL_DOUBLE) { ++ mFirst = true; ++} ++ ++ ++void ++ScreenSaverGLView::DrawSaver() ++{ ++ if (mConnected) { ++ LockGL(); ++ if (mFirst) { ++ char *stuff[2] = { "saver", 0 }; ++ handleCommandLine(1, stuff); ++ initSaver(); ++ reshape((int)Bounds().Width(), (int)Bounds().Height()); ++ mFirst = false; ++ } ++ idleProc(); ++ SwapBuffers(); ++ UnlockGL(); ++ } ++} ++ ++ ++void ++ScreenSaverGLView::EnableDirectMode(bool enabled) ++{ ++ BGLView::EnableDirectMode(enabled); ++ mConnected = enabled; ++} ++ ++ ++void ++ScreenSaverGLView::FrameResized(float width, float height) ++{ ++ if (mConnected) { ++ LockGL(); ++ reshape((int)width, (int)height); ++ UnlockGL(); ++ } ++} ++ ++class rsHaikuScreenSaver : public BScreenSaver ++{ ++ public: ++ rsHaikuScreenSaver(BMessage *archive, image_id); ++ void DirectConnected(direct_buffer_info* info); ++ void Draw(BView *, int32 frame); ++ void StopSaver(); ++ void StartConfig(BView *view); ++ status_t StartSaver(BView *view, bool preview); ++ ++ private: ++ ScreenSaverGLView *fSaverView; ++}; ++ ++ ++BScreenSaver* instantiate_screen_saver(BMessage *msg, image_id image) ++{ ++ return new rsHaikuScreenSaver(msg, image); ++} ++ ++ ++rsHaikuScreenSaver::rsHaikuScreenSaver(BMessage *archive, image_id id) ++ : ++ BScreenSaver(archive, id) ++{ ++} ++ ++ ++void ++rsHaikuScreenSaver::StartConfig(BView *view) ++{ ++} ++ ++ ++status_t ++rsHaikuScreenSaver::StartSaver(BView *view, bool preview) ++{ ++ float viewWidth = view->Bounds().Width(); ++ float viewHeight = view->Bounds().Height(); ++ ++ fSaverView = new ScreenSaverGLView(BRect(0, 0, viewWidth, viewHeight)); ++ ++ view->AddChild(fSaverView); ++ ++ // Set tick size to 50,000 microseconds = 0.05 seconds ++ SetTickSize(50000); ++ ++ return B_OK; ++} ++ ++void ++rsHaikuScreenSaver::Draw(BView *, int32 frame) ++{ ++ fSaverView->DrawSaver(); ++} ++ ++void ++rsHaikuScreenSaver::DirectConnected(direct_buffer_info* info) ++{ ++ if (fSaverView) { ++ fSaverView->DirectConnected(info); ++ fSaverView->EnableDirectMode(true); ++ } ++} ++ ++void ++rsHaikuScreenSaver::StopSaver() ++{ ++ if (fSaverView) ++ fSaverView->EnableDirectMode(false); ++ ++ fSaverView->LockGL(); ++ cleanUp(); ++ fSaverView->UnlockGL(); ++} ++ +-- +1.8.3.4 + diff --git a/haiku-misc/rssavers/rssavers-0.2.recipe b/haiku-misc/rssavers/rssavers-0.2.recipe new file mode 100644 index 000000000..747af004f --- /dev/null +++ b/haiku-misc/rssavers/rssavers-0.2.recipe @@ -0,0 +1,74 @@ +SUMMARY="Really Slick Screen Savers" +DESCRIPTION="The Really Slick Screen Savers are a set of, as the name implies,\ +really slick screen savers! Originally made for Windows, these have been ported\ + to Linux and Haiku too!" +HOMEPAGE="http://reallyslick.com/screensavers/" +SRC_URI="http://downloads.sourceforge.net/rssavers/rssavers-0.2.src.tar.gz" +CHECKSUM_SHA256="be58390ea092ffe4ccecf827b04f5e99a1be5be12eaf5266a415fadb01ea4f24" +PATCHES="rssavers-0.2.patchset" +REVISION="1" +COPYRIGHT="1999-2010 Terence M. Welsh\ +2014 Puck Meerburg (Haiku part)" +LICENSE="GNU GPL v2" +ARCHITECTURES="x86_gcc2 x86 x86_64" +PROVIDES=" + rssavers = $portVersion + addon:Flocks = $portVersion + addon:Flux = $portVersion + addon:Hyperspace = $portVersion + addon:Microcosm = $portVersion + addon:Plasma = $portVersion + " +REQUIRES=" + haiku >= $haikuVersion + lib:libgl + lib:libglu + " +BUILD_PREREQUIRES=" + cmd:gcc + cmd:make + devel:libgl + devel:libglu + " +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + " + +BUILD() +{ + cd src + cd rsHaikuScreenSaver + make + cd ../rsMath + make + cd ../rsText + make + cd ../Rgbhsl + make + cd ../Implicit + make + + cd ../Flocks + make + + cd ../Flux + make + + #cd ../Hyperspace # For some reason this won't run + #make + + cd ../Microcosm + make + + cd ../Plasma + make + + cd .. +} + +INSTALL() +{ + mkdir -p $addOnsDir/Screen\ Savers + cd bin + cp flocks flux microcosm plasma $addOnsDir/Screen\ Savers +} diff --git a/media-fonts/ahem/ahem-1.0.recipe b/media-fonts/ahem/ahem-1.0.recipe new file mode 100644 index 000000000..215eef282 --- /dev/null +++ b/media-fonts/ahem/ahem-1.0.recipe @@ -0,0 +1,46 @@ +SUMMARY="A font developed to help test writers develop predictable tests" +DESCRIPTION="The Ahem font was developed by Todd Fahrner to help test writers \ +develop predictable tests. The font's em square is exactly square. \ +Its ascent and descent is exactly the size of the em square. This \ +means that the font's extent is exactly the same as its line-height, \ +meaning that it can be exactly aligned with padding, borders, margins, \ +and so forth. +The font's alphabetic baseline is 0.2em above its bottom, and 0.8em \ +below its top. The font has an x-height of 0.8em. +The font has four glyphs: + \'X\' U+0058 A square exactly 1em in height and width. + \'p\' U+0070 A rectangle exactly 0.2em high, 1em wide, and aligned so \ + that its top is flush with the baseline. + \'É\' U+00C9 A rectangle exactly 0.8em high, 1em wide, and aligned so \ + that its bottom is flush with the baseline. + \' \' U+0020 A transparent space exactly 1em high and wide. +Most other US-ASCII characters in the font have the same glyph as X." +HOMEPAGE="http://github.com/Kozea/Ahem" +SRC_URI="https://github.com/Kozea/Ahem/archive/1.0.tar.gz" +CHECKSUM_SHA256="bae33954780217ea0e8e517f51e5a84c525ff22b39a508d50ab49e2d5cef7530" +LICENSE="Public Domain" +COPYRIGHT="Late-90s Todd Fahrner" +REVISION="1" +SOURCE_DIR="Ahem-1.0" + +ARCHITECTURES="any" +DISABLE_SOURCE_PACKAGE="yes" + +PROVIDES=" + ahem = $portVersion + " + +REQUIRES="" +BUILD_REQUIRES="" +BUILD_PREREQUIRES="coreutils" + +BUILD() +{ + true +} + +INSTALL() +{ + mkdir -p $fontsDir/ahem + cp Ahem.ttf README $fontsDir/ahem +} diff --git a/media-fonts/lohit/lohit-2.3.8.recipe b/media-fonts/lohit/lohit-2.3.8.recipe index f1da927e3..2ebdbdbfe 100644 --- a/media-fonts/lohit/lohit-2.3.8.recipe +++ b/media-fonts/lohit/lohit-2.3.8.recipe @@ -21,7 +21,9 @@ DISABLE_SOURCE_PACKAGE=yes PROVIDES="lohit = $portVersion" REQUIRES="" BUILD_REQUIRES="" -BUILD_PREREQUIRES="coreutils" +BUILD_PREREQUIRES=" + cmd:find +" SOURCE_DIR="lohit-fonts-2.3.8" diff --git a/media-fonts/paratype/paratype-1.0.recipe b/media-fonts/paratype/paratype-1.0.recipe new file mode 100644 index 000000000..af546807b --- /dev/null +++ b/media-fonts/paratype/paratype-1.0.recipe @@ -0,0 +1,39 @@ +SUMMARY="ParaType font collection for languages of Russia" +DESCRIPTION="ParaType is a font collection designed for use with minority \ +languages of Russia." +HOMEPAGE="http://www.paratype.com/public" +SRC_URI_1="http://www.paratype.com/uni/public/PTSansOFL.zip" +SRC_URI_2="http://www.paratype.com/uni/public/PTSerifOFL.zip" +SRC_URI_3="http://www.paratype.com/uni/public/PTMonoOFL.zip" +CHECKSUM_SHA256_1="57448741b709c5f022127134ffd49506e3925242bd06f73a039e070765d1d637" +CHECKSUM_SHA256_2="e7a2a27ed0481d20973f0d3b589362d055269082e3fc4d96f81dacd58bad8dcc" +CHECKSUM_SHA256_3="e34e729f9509cf85acc52caadf68e96db90457b7164ba45719967d53e7a20dcc" +LICENSE="SIL Open Font License v1.1" +COPYRIGHT="2009 ParaType" +REVISION="1" +SOURCE_DIR="" + +ARCHITECTURES="any" +DISABLE_SOURCE_PACKAGE="yes" + +PROVIDES=" + paratype = $portVersion + " + +REQUIRES="" +BUILD_REQUIRES="" +BUILD_PREREQUIRES="coreutils" + +BUILD() +{ + true +} + +INSTALL() +{ + mkdir -p $fontsDir/paratype + cp *.ttf $fontsDir/paratype + cp ../sources-2/*.ttf $fontsDir/paratype + cp ../sources-3/*.ttf $fontsDir/paratype +} + diff --git a/media-fonts/symbola/symbola-7.18.recipe b/media-fonts/symbola/symbola-7.18.recipe new file mode 100644 index 000000000..ffa56b1af --- /dev/null +++ b/media-fonts/symbola/symbola-7.18.recipe @@ -0,0 +1,30 @@ +SUMMARY="Unicode font for ancient scripts" +DESCRIPTION="Basic Latin, Greek, Cyrillic, and many Symbol blocks of The \ +Unicode Standard, Version 7.0" +HOMEPAGE="http://users.teilar.gr/~g1951d" +SRC_URI="http://users.teilar.gr/~g1951d/Symbola.zip" +CHECKSUM_SHA256="4e98df630002a95da59970916cab05a2229874066871f12f2ad0b547b9c260b6" +LICENSE="Public Domain" +COPYRIGHT="None" +REVISION="1" + +ARCHITECTURES="any" +DISABLE_SOURCE_PACKAGE="yes" + +PROVIDES="symbola = $portVersion" +REQUIRES="" +BUILD_REQUIRES="" +BUILD_PREREQUIRES="coreutils" + +SOURCE_DIR="" + +BUILD() +{ + true +} + +INSTALL() +{ + mkdir -p $fontsDir/ttfonts + cp *.ttf $fontsDir/ttfonts +} diff --git a/media-fonts/vl_gothic/vl_gothic-20141206.recipe b/media-fonts/vl_gothic/vl_gothic-20141206.recipe new file mode 100644 index 000000000..08ba3b550 --- /dev/null +++ b/media-fonts/vl_gothic/vl_gothic-20141206.recipe @@ -0,0 +1,43 @@ +SUMMARY="A modern gothic font including Japanese, as well as Latin and Greek glyphs" +DESCRIPTION="This package includes the VL Gothic (monospace) and VL PGothic \ +(proportional) fonts. Originally developed for the Vine Linux project, they \ +include glyphs suitable for rendering Japanese text, as well as Latin and Greek \ +alphabets. +The fonts are based on the M+ fonts and the Sazanami fonts." +HOMEPAGE="http://vlgothic.dicey.org/" +SRC_URI="http://sourceforge.jp/frs/redir.php?m=jaist&f=%2Fvlgothic%2F62375%2FVLGothic-20141206.tar.xz" +CHECKSUM_SHA256="982040db2f9cb73d7c6ab7d9d163f2ed46d1180f330c9ba2fae303649bf8102d" +LICENSE="BSD (3-clause) + M+ Fonts Project + Sazanami Gothic Font +" +COPYRIGHT="1990-2003 Wada Laboratory, the University of Tokyo. +2003-2004 Electronic Font Open Laboratory (/efont/). +2002-2014 M+ FONTS PROJECT +2006-2014 Daisuke SUZUKI . +2006-2014 Project Vine . +" +REVISION="1" + +ARCHITECTURES="any" +DISABLE_SOURCE_PACKAGE=yes + +PROVIDES="vl_gothic = $portVersion" +REQUIRES="" +BUILD_REQUIRES="" +BUILD_PREREQUIRES="coreutils" + +SOURCE_DIR="VLGothic" + +BUILD() +{ + true +} + +INSTALL() +{ + FONTDIR=$fontsDir/ttfonts/ + mkdir -p ${FONTDIR} + cp VL-Gothic-Regular.ttf ${FONTDIR} + cp VL-PGothic-Regular.ttf ${FONTDIR} +} diff --git a/media-gfx/exiv2/exiv2-0.24.recipe b/media-gfx/exiv2/exiv2-0.24.recipe new file mode 100644 index 000000000..c3a556817 --- /dev/null +++ b/media-gfx/exiv2/exiv2-0.24.recipe @@ -0,0 +1,73 @@ +SUMMARY="Exiv2 is a C++ library and a command line utility to manage image metadata." +DESCRIPTION="Exiv2 provides fast and easy read and write access to the Exif, IPTC and XMP metadata of images \ +in various formats. Exiv2 is available as free software and with a commercial \ +license, and is used in many projects." +HOMEPAGE="http://www.exiv2.org/" +COPYRIGHT=" + 2004-2013 Andreas Huggel + 2009 Brad Schick + " +LICENSE="GNU GPL v2" +SRC_URI="http://www.exiv2.org/exiv2-0.24.tar.gz" +CHECKSUM_SHA256="f4a443e6c7fb9d9f5e787732f76969a64c72c4c04af69b10ed57f949c2dfef8e" +REVISION="1" +ARCHITECTURES="x86" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + ARCHITECTURES="x86_gcc2 $ARCHITECTURES" +else + ARCHITECTURES="!x86_gcc2 $ARCHITECTURES" +fi +SECONDARY_ARCHITECTURES="x86" + +PATCHES="exiv2-0.24.patch" + +PROVIDES=" + exiv2$secondaryArchSuffix = $portVersion + cmd:exiv2$secondaryArchSuffix = $portVersion + lib:libexiv2$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libexpat$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " +BUILD_REQUIRES=" + devel:libexpat$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:gcc$secondaryArchSuffix + cmd:autoconf + cmd:make + cmd:awk # required by configure + cmd:find # required by libtool + " + +BUILD() { + cd config + autoconf + cp configure .. + cd .. + + runConfigure ./configure + make $jobArgs +} + +INSTALL() { + make install + + prepareInstalledDevelLibs libexiv2 + fixPkgconfig + + packageEntries devel \ + $developDir +} + +PROVIDES_devel=" + exiv2${secondaryArchSuffix}_devel = $portVersion + devel:libexiv2${secondaryArchSuffix} = $portVersion + " +REQUIRES_devel=" + exiv2$secondaryArchSuffix == $portVersion base + " diff --git a/media-gfx/exiv2/patches/exiv2-0.24.patch b/media-gfx/exiv2/patches/exiv2-0.24.patch new file mode 100644 index 000000000..3c2cafa2f --- /dev/null +++ b/media-gfx/exiv2/patches/exiv2-0.24.patch @@ -0,0 +1,12 @@ +diff -ur exiv2-0.24-orig/config/configure.ac exiv2-0.24/config/configure.ac +--- exiv2-0.24-orig/config/configure.ac 2013-07-24 02:47:31.008126464 +0000 ++++ exiv2-0.24/config/configure.ac 2014-12-06 10:53:18.091488256 +0000 +@@ -212,6 +212,8 @@ + case "$host_os" in + *mingw* | *cygwin*) + LDFLAGS="$LDFLAGS -no-undefined -lpsapi" ;; ++*beos* | *haiku*) ++ ;; + *) + LDFLAGS="$LDFLAGS -ldl" ;; + esac diff --git a/media-libs/ilmbase/ilmbase-2.2.0.recipe b/media-libs/ilmbase/ilmbase-2.2.0.recipe index 340a7a2c9..eadf7f232 100644 --- a/media-libs/ilmbase/ilmbase-2.2.0.recipe +++ b/media-libs/ilmbase/ilmbase-2.2.0.recipe @@ -26,11 +26,11 @@ SECONDARY_ARCHITECTURES="x86" PROVIDES=" ilmbase$secondaryArchSuffix = $portVersion - lib:libHalf$secondaryArchSuffix = 12.0.0 compat >= 12 - lib:libIex_2_2$secondaryArchSuffix = 12.0.0 compat >= 12 - lib:libIexMath_2_2$secondaryArchSuffix = 12.0.0 compat >= 12 - lib:libIlmThread_2_2$secondaryArchSuffix = 12.0.0 compat >= 12 - lib:libImath_2_2$secondaryArchSuffix = 12.0.0 compat >= 12 + lib:libhalf$secondaryArchSuffix = 12.0.0 compat >= 12 + lib:libiex_2_2$secondaryArchSuffix = 12.0.0 compat >= 12 + lib:libiexmath_2_2$secondaryArchSuffix = 12.0.0 compat >= 12 + lib:libilmthread_2_2$secondaryArchSuffix = 12.0.0 compat >= 12 + lib:libimath_2_2$secondaryArchSuffix = 12.0.0 compat >= 12 " REQUIRES=" @@ -80,15 +80,15 @@ TEST() PROVIDES_devel=" ilmbase${secondaryArchSuffix}_devel = $portVersion - devel:libHalf$secondaryArchSuffix = 12.0.0 compat >= 12 - devel:libIex_2_2$secondaryArchSuffix = 12.0.0 compat >= 12 - devel:libIexMath_2_2$secondaryArchSuffix = 12.0.0 compat >= 12 - devel:libIlmThread_2_2$secondaryArchSuffix = 12.0.0 compat >= 12 - devel:libImath_2_2$secondaryArchSuffix = 12.0.0 compat >= 12 - devel:libIex$secondaryArchSuffix = 12.0.0 compat >= 12 - devel:libIexMath$secondaryArchSuffix = 12.0.0 compat >= 12 - devel:libIlmThread$secondaryArchSuffix = 12.0.0 compat >= 12 - devel:libImath$secondaryArchSuffix = 12.0.0 compat >= 12 + devel:libhalf$secondaryArchSuffix = 12.0.0 compat >= 12 + devel:libiex_2_2$secondaryArchSuffix = 12.0.0 compat >= 12 + devel:libiexmath_2_2$secondaryArchSuffix = 12.0.0 compat >= 12 + devel:libilmthread_2_2$secondaryArchSuffix = 12.0.0 compat >= 12 + devel:libimath_2_2$secondaryArchSuffix = 12.0.0 compat >= 12 + devel:libiex$secondaryArchSuffix = 12.0.0 compat >= 12 + devel:libiexMath$secondaryArchSuffix = 12.0.0 compat >= 12 + devel:libilmthread$secondaryArchSuffix = 12.0.0 compat >= 12 + devel:libimath$secondaryArchSuffix = 12.0.0 compat >= 12 " REQUIRES_devel=" ilmbase$secondaryArchSuffix == $portVersion base diff --git a/media-libs/openexr/openexr-2.2.0.recipe b/media-libs/openexr/openexr-2.2.0.recipe index af325ff8b..4a91bf9e2 100644 --- a/media-libs/openexr/openexr-2.2.0.recipe +++ b/media-libs/openexr/openexr-2.2.0.recipe @@ -27,10 +27,10 @@ SECONDARY_ARCHITECTURES="x86" PROVIDES=" openexr$secondaryArchSuffix = $portVersion - lib:libIlmImf$secondaryArchSuffix = 22.0.0 compat >= 22 - lib:libIlmImf_2_2$secondaryArchSuffix = 22.0.0 compat >= 22 - lib:libIlmImfUtil$secondaryArchSuffix = 22.0.0 compat >= 22 - lib:libIlmImfUtil_2_2$secondaryArchSuffix = 22.0.0 compat >= 22 + lib:libilmimf$secondaryArchSuffix = 22.0.0 compat >= 22 + lib:libilmimf_2_2$secondaryArchSuffix = 22.0.0 compat >= 22 + lib:libilmimfutil$secondaryArchSuffix = 22.0.0 compat >= 22 + lib:libilmimfutil_2_2$secondaryArchSuffix = 22.0.0 compat >= 22 cmd:exrenvmap$secondaryArchSuffix = $portVersion cmd:exrheader$secondaryArchSuffix = $portVersion cmd:exrmakepreview$secondaryArchSuffix = $portVersion @@ -42,22 +42,22 @@ PROVIDES=" REQUIRES=" haiku$secondaryArchSuffix >= $haikuVersion - lib:libHalf$secondaryArchSuffix == 12.0.0 - lib:libIex_2_2$secondaryArchSuffix == 12.0.0 - lib:libIexMath_2_2$secondaryArchSuffix == 12.0.0 - lib:libIlmThread_2_2$secondaryArchSuffix == 12.0.0 - lib:libImath_2_2$secondaryArchSuffix == 12.0.0 + lib:libhalf$secondaryArchSuffix == 12.0.0 + lib:libiex_2_2$secondaryArchSuffix == 12.0.0 + lib:libiexmath_2_2$secondaryArchSuffix == 12.0.0 + lib:libilmthread_2_2$secondaryArchSuffix == 12.0.0 + lib:libimath_2_2$secondaryArchSuffix == 12.0.0 lib:libz$secondaryArchSuffix lib:libstdc++$secondaryArchSuffix " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel >= $haikuVersion ilmbase${secondaryArchSuffix}_devel == $portVersion - devel:libHalf$secondaryArchSuffix == 12.0.0 - devel:libIex$secondaryArchSuffix == 12.0.0 - devel:libIexMath$secondaryArchSuffix == 12.0.0 - devel:libIlmThread$secondaryArchSuffix == 12.0.0 - devel:libImath$secondaryArchSuffix == 12.0.0 + devel:libhalf$secondaryArchSuffix == 12.0.0 + devel:libiex$secondaryArchSuffix == 12.0.0 + devel:libiexMath$secondaryArchSuffix == 12.0.0 + devel:libilmthread$secondaryArchSuffix == 12.0.0 + devel:libimath$secondaryArchSuffix == 12.0.0 devel:libz$secondaryArchSuffix " BUILD_PREREQUIRES=" @@ -119,10 +119,10 @@ TEST() PROVIDES_devel=" openexr${secondaryArchSuffix}_devel = $portVersion - devel:libIlmImf$secondaryArchSuffix = $portVersion - devel:libIlmImf_2_2$secondaryArchSuffix = 12.0.0 compat >= 12 - devel:libIlmImfUtil$secondaryArchSuffix = $portVersion - devel:libIlmImfUtil_2_2$secondaryArchSuffix = 12.0.0 compat >= 12 + devel:libilmimf$secondaryArchSuffix = $portVersion + devel:libilmimf_2_2$secondaryArchSuffix = 12.0.0 compat >= 12 + devel:libilmimfutil$secondaryArchSuffix = $portVersion + devel:libilmimfutil_2_2$secondaryArchSuffix = 12.0.0 compat >= 12 " REQUIRES_devel=" openexr$secondaryArchSuffix == $portVersion base diff --git a/media-libs/sdl2_mixer/sdl2_mixer-2.0.0.recipe b/media-libs/sdl2_mixer/sdl2_mixer-2.0.0.recipe index e5afe5e6b..30f2436d1 100644 --- a/media-libs/sdl2_mixer/sdl2_mixer-2.0.0.recipe +++ b/media-libs/sdl2_mixer/sdl2_mixer-2.0.0.recipe @@ -10,7 +10,7 @@ SRC_URI="http://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.0.tar.g CHECKSUM_SHA256="a8ce0e161793791adeff258ca6214267fdd41b3c073d2581cd5265c8646f725b" LICENSE="Zlib" COPYRIGHT="1997-2012 Sam Lantinga" -REVISION="1" +REVISION="2" ARCHITECTURES="x86_gcc2 x86 x86_64" SECONDARY_ARCHITECTURES="?x86_gcc2 ?x86" @@ -30,7 +30,7 @@ REQUIRES=" lib:libGL$secondaryArchSuffix # No clue, it wants it lib:libSDL2_2.0$secondaryArchSuffix lib:libogg$secondaryArchSuffix - lib:libflac$secondaryArchSuffix + lib:libFLAC$secondaryArchSuffix lib:libfluidsynth$secondaryArchSuffix lib:libmad$secondaryArchSuffix lib:libvorbis$secondaryArchSuffix @@ -42,7 +42,7 @@ BUILD_REQUIRES=" devel:libGL$secondaryArchSuffix devel:libSDL2$secondaryArchSuffix devel:libogg$secondaryArchSuffix - devel:libflac$secondaryArchSuffix + devel:libFLAC$secondaryArchSuffix devel:libfluidsynth$secondaryArchSuffix devel:libmad$secondaryArchSuffix devel:libvorbis$secondaryArchSuffix diff --git a/media-libs/sdl_mixer/sdl_mixer-1.2.12.recipe b/media-libs/sdl_mixer/sdl_mixer-1.2.12.recipe index 675423ad2..3558b0326 100644 --- a/media-libs/sdl_mixer/sdl_mixer-1.2.12.recipe +++ b/media-libs/sdl_mixer/sdl_mixer-1.2.12.recipe @@ -10,7 +10,7 @@ SRC_URI="http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-1.2.12.tar.g CHECKSUM_SHA256="1644308279a975799049e4826af2cfc787cad2abb11aa14562e402521f86992a" LICENSE="Zlib" COPYRIGHT="1997-2012 Sam Lantinga" -REVISION="4" +REVISION="5" ARCHITECTURES="x86_gcc2 x86 x86_64" SECONDARY_ARCHITECTURES="x86_gcc2 x86" @@ -27,7 +27,7 @@ REQUIRES=" haiku$secondaryArchSuffix >= $haikuVersion lib:libSDL$secondaryArchSuffix lib:libSDL_1.2$secondaryArchSuffix - lib:libflac$secondaryArchSuffix + lib:libFLAC$secondaryArchSuffix # lib:libfluidsynth$secondaryArchSuffix lib:libmad$secondaryArchSuffix lib:libvorbis$secondaryArchSuffix @@ -40,7 +40,7 @@ REQUIRES=" BUILD_REQUIRES=" devel:libSDL$secondaryArchSuffix devel:libogg$secondaryArchSuffix - devel:libflac$secondaryArchSuffix + devel:libFLAC$secondaryArchSuffix # devel:libfluidsynth$secondaryArchSuffix devel:libmad$secondaryArchSuffix devel:libvorbis$secondaryArchSuffix diff --git a/media-libs/taglib/taglib-1.7.2.recipe b/media-libs/taglib/taglib-1.7.2.recipe index 7e4c9d3d7..932a6a1f0 100644 --- a/media-libs/taglib/taglib-1.7.2.recipe +++ b/media-libs/taglib/taglib-1.7.2.recipe @@ -20,7 +20,7 @@ PATCHES="taglib-$portVersion.patchset" PROVIDES=" taglib$secondaryArchSuffix = $portVersion - lib:libtag$secondaryArchSuffix = 1.7.2 compat >= 1.7 + lib:libtag$secondaryArchSuffix = 1.7.2 compat >= 1 lib:libtag_c$secondaryArchSuffix = 0.0.0 compat >= 0 " @@ -38,6 +38,8 @@ BUILD_PREREQUIRES=" cmd:gcc$secondaryArchSuffix cmd:cmake cmd:make + cmd:sed + cmd:grep " @@ -75,9 +77,9 @@ INSTALL() PROVIDES_devel=" taglib${secondaryArchSuffix}_devel = $portVersion compat >= 1.7 - devel:libtag$secondaryArchSuffix = 1.7.2 compat >= 1.7 + cmd:taglib_config$secondaryArchSuffix = $portVersion compat >= 1.7 + devel:libtag$secondaryArchSuffix = 1.7.2 compat >= 1 devel:libtag_c$secondaryArchSuffix = 0.0.0 compat >= 0 - cmd:taglib_config$secondaryArchSuffix " REQUIRES_devel=" diff --git a/media-libs/taglib/taglib-1.9.1.recipe b/media-libs/taglib/taglib-1.9.1.recipe index 3012f4cef..af6dfa0bf 100644 --- a/media-libs/taglib/taglib-1.9.1.recipe +++ b/media-libs/taglib/taglib-1.9.1.recipe @@ -22,7 +22,7 @@ SECONDARY_ARCHITECTURES="x86" PROVIDES=" taglib$secondaryArchSuffix = $portVersion cmd:taglib_config$secondaryArchSuffix - lib:libtag$secondaryArchSuffix = 1.9.1 compat >= 1.9 + lib:libtag$secondaryArchSuffix = 1.14.0 compat >= 1 lib:libtag_c$secondaryArchSuffix = 0.0.0 compat >= 0 " @@ -41,6 +41,8 @@ BUILD_PREREQUIRES=" cmd:gcc$secondaryArchSuffix cmd:cmake cmd:make + cmd:sed + cmd:grep " PATCHES="taglib-1.9.1.patchset" @@ -68,8 +70,6 @@ INSTALL() fixDevelopLibDirReferences $binDir/taglib-config sed -i -e "s,\/.*/include,$includeDir," $binDir/taglib-config - exit 1 - # devel package packageEntries devel \ $developDir \ @@ -78,7 +78,8 @@ INSTALL() PROVIDES_devel=" taglib${secondaryArchSuffix}_devel = $portVersion compat >= 1.9 - devel:libtag$secondaryArchSuffix = 1.9.1 compat >= 1.9 + cmd:taglib_config$secondaryArchSuffix = $portVersion compat >= 1.9 + devel:libtag$secondaryArchSuffix = 1.14.0 compat >= 1 devel:libtag_c$secondaryArchSuffix = 0.0.0 compat >= 0 " diff --git a/media-libs/vigra/vigra-1.10.0.recipe b/media-libs/vigra/vigra-1.10.0.recipe index a2605f235..e977acd7c 100644 --- a/media-libs/vigra/vigra-1.10.0.recipe +++ b/media-libs/vigra/vigra-1.10.0.recipe @@ -9,7 +9,7 @@ HOMEPAGE="http://ukoethe.github.io/vigra/" SRC_URI="https://github.com/ukoethe/vigra/archive/Version-1-10-0.tar.gz" SRC_FILENAME="$portName-$portVersion.tar.gz" CHECKSUM_SHA256="406f6fcbcea2e92f681a7b844487c29049d338f5b2b25f8145e67bcb518c7ef8" -REVISION="5" +REVISION="6" ARCHITECTURES="x86 ?x86_gcc2 ?x86_64" SECONDARY_ARCHITECTURES="?x86 ?x86_gcc2" @@ -25,11 +25,11 @@ REQUIRES=" lib:libjpeg$secondaryArchSuffix lib:libpng$secondaryArchSuffix lib:libtiff$secondaryArchSuffix - lib:libHalf$secondaryArchSuffix - lib:libIex_2_2$secondaryArchSuffix - lib:libImath_2_2$secondaryArchSuffix - lib:libIlmThread_2_2$secondaryArchSuffix - lib:libIlmImf_2_2$secondaryArchSuffix + lib:libhalf$secondaryArchSuffix + lib:libiex_2_2$secondaryArchSuffix + lib:libimath_2_2$secondaryArchSuffix + lib:libilmthread_2_2$secondaryArchSuffix + lib:libilmimf_2_2$secondaryArchSuffix lib:libfftw$secondaryArchSuffix lib:libz$secondaryArchSuffix lib:libstdc++$secondaryArchSuffix @@ -38,10 +38,10 @@ BUILD_REQUIRES=" devel:libjpeg$secondaryArchSuffix devel:libpng$secondaryArchSuffix devel:libtiff$secondaryArchSuffix - devel:libHalf$secondaryArchSuffix - devel:libIex$secondaryArchSuffix - devel:libImath$secondaryArchSuffix - devel:libIlmImf$secondaryArchSuffix + devel:libhalf$secondaryArchSuffix + devel:libiex$secondaryArchSuffix + devel:libimath$secondaryArchSuffix + devel:libilmimf$secondaryArchSuffix devel:libfftw$secondaryArchSuffix devel:libz$secondaryArchSuffix " @@ -78,6 +78,10 @@ INSTALL() prepareInstalledDevelLib libvigraimpex + fixDevelopLibDirReferences bin/vigra-config + sed -i "s#/include/#/$relativeIncludeDir/#g" \ + bin/vigra-config + # move CMake scripts... # FIXME: ...which probably won't work mv $libDir/$portName $developLibDir diff --git a/media-sound/fluidsynth/fluidsynth-1.1.6.recipe b/media-sound/fluidsynth/fluidsynth-1.1.6.recipe index a3debec69..0a590c85c 100644 --- a/media-sound/fluidsynth/fluidsynth-1.1.6.recipe +++ b/media-sound/fluidsynth/fluidsynth-1.1.6.recipe @@ -9,7 +9,7 @@ CHECKSUM_SHA256="d28b47dfbf7f8e426902ae7fa2981d821fbf84f41da9e1b85be933d2d748f60 LICENSE="GNU LGPL v2.1" COPYRIGHT="2007-2012 Josh Green, Pedro Lopez-Cabanillas, David Henningsson" -REVISION="3" +REVISION="4" ARCHITECTURES="x86_gcc2 x86 x86_64" SECONDARY_ARCHITECTURES="x86_gcc2 x86" @@ -23,7 +23,7 @@ PROVIDES=" REQUIRES=" haiku${secondaryArchSuffix} >= $haikuVersion - lib:libflac$secondaryArchSuffix + lib:libFLAC$secondaryArchSuffix lib:libglib_2.0$secondaryArchSuffix lib:libiconv$secondaryArchSuffix lib:libintl$secondaryArchSuffix @@ -36,7 +36,7 @@ REQUIRES=" BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel >= $haikuVersion - devel:libflac$secondaryArchSuffix + devel:libFLAC$secondaryArchSuffix devel:libglib_2.0$secondaryArchSuffix devel:libiconv$secondaryArchSuffix devel:libncurses$secondaryArchSuffix diff --git a/media-sound/vorbis_tools/vorbis_tools-1.4.0.recipe b/media-sound/vorbis_tools/vorbis_tools-1.4.0.recipe index a0e9d737a..99b77058b 100644 --- a/media-sound/vorbis_tools/vorbis_tools-1.4.0.recipe +++ b/media-sound/vorbis_tools/vorbis_tools-1.4.0.recipe @@ -5,7 +5,7 @@ vorbis-tools - tools for using the Ogg Vorbis sound file format. HOMEPAGE="http://www.vorbis.com/" SRC_URI="http://downloads.xiph.org/releases/vorbis/vorbis-tools-1.4.0.tar.gz" CHECKSUM_SHA256="a389395baa43f8e5a796c99daf62397e435a7e73531c9f44d9084055a05d22bc" -REVISION="1" +REVISION="2" LICENSE="GNU GPL v2" COPYRIGHT="2000-2005 Michael Smith, Stan Seibert and other contributers" @@ -25,7 +25,7 @@ PROVIDES=" REQUIRES=" haiku$secondaryArchSuffix >= $haikuVersion lib:libvorbis$secondaryArchSuffix - lib:libflac$secondaryArchSuffix + lib:libFLAC$secondaryArchSuffix lib:libspeex$secondaryArchSuffix lib:libao$secondaryArchSuffix lib:libogg$secondaryArchSuffix @@ -40,7 +40,7 @@ REQUIRES=" BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel >= $haikuVersion devel:libvorbis$secondaryArchSuffix - devel:libflac$secondaryArchSuffix + devel:libFLAC$secondaryArchSuffix devel:libspeex$secondaryArchSuffix devel:libao$secondaryArchSuffix devel:libogg$secondaryArchSuffix diff --git a/media-video/vlc/vlc-0.8.6i.recipe b/media-video/vlc/vlc-0.8.6i.recipe index 0167a2d81..14bea855e 100644 --- a/media-video/vlc/vlc-0.8.6i.recipe +++ b/media-video/vlc/vlc-0.8.6i.recipe @@ -54,7 +54,7 @@ BUILD_REQUIRES=" devel:libebml$secondaryArchSuffix devel:libfaac$secondaryArchSuffix devel:libfaad$secondaryArchSuffix - devel:libflac$secondaryArchSuffix + devel:libFLAC$secondaryArchSuffix devel:libfreetype$secondaryArchSuffix devel:libfribidi$secondaryArchSuffix devel:libgcrypt$secondaryArchSuffix diff --git a/net-proxy/privoxy/patches/privoxy-3.0.19.patch b/net-proxy/privoxy/patches/privoxy-3.0.19.patch deleted file mode 100644 index 1be72de1c..000000000 --- a/net-proxy/privoxy/patches/privoxy-3.0.19.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff -Naur privoxy-3.0.19-stable/configure.in privoxy-3.0.19-stable-haiku/configure.in ---- privoxy-3.0.19-stable/configure.in 2012-09-12 20:00:37.292814848 -0400 -+++ privoxy-3.0.19-stable-haiku/configure.in 2012-09-12 22:21:25.287309824 -0400 -@@ -160,7 +160,7 @@ - dnl ================================================================= - - --if test "$EMXOS2" = yes; then -+if test "$EMXOS2" = yes || test "$host_os" = haiku; then - echo "Skipping user and group validity stuff."; - - else -@@ -677,6 +677,26 @@ - AC_SUBST(AMIGAOS_ONLY) - - dnl ================================================================= -+dnl Haiku specific -+dnl ================================================================= -+ -+if test "$host_os" = haiku; then -+ # Omit the "-pthread" flag to gcc, even when building with gcc 2.95 -+ SPECIAL_CFLAGS= -+ -+ # Haiku's pthreads implementation exists in its system library, -+ # libroot, not in a separate pthreads library -+ PTHREAD_LIB= -+ -+ # Networking code exists in libnetwork -+ SOCKET_LIB=-lnetwork -+ -+ # Search Haiku's common-library folder to find its pcre and -+ # pcreposix libraries -+ LIBS="-L/boot/common/lib $LIBS" -+fi -+ -+dnl ================================================================= - dnl Check for standard compiler stuff - dnl ================================================================= - -diff -Naur privoxy-3.0.19-stable/filters.c privoxy-3.0.19-stable-haiku/filters.c ---- privoxy-3.0.19-stable/filters.c 2012-09-12 20:00:37.720371712 -0400 -+++ privoxy-3.0.19-stable-haiku/filters.c 2012-09-12 22:21:28.150470656 -0400 -@@ -1095,6 +1095,11 @@ - char *new_url = NULL; - char *tmp; - -+ char *url_segment = NULL; -+ char **url_segments; -+ size_t max_segments; -+ int segments; -+ - assert(subject); - assert(redirect_mode); - -@@ -1117,14 +1122,13 @@ - * and look for a URL in the decoded result. - * Stop the search after the first match. - */ -- char *url_segment = NULL; -+ - /* - * XXX: This estimate is guaranteed to be high enough as we - * let ssplit() ignore empty fields, but also a bit wasteful. - */ -- size_t max_segments = strlen(subject) / 2; -- char **url_segments = malloc(max_segments * sizeof(char *)); -- int segments; -+ max_segments = strlen(subject) / 2; -+ url_segments = malloc(max_segments * sizeof(char *)); - - if (NULL == url_segments) - { diff --git a/net-proxy/privoxy/privoxy-3.0.19.recipe b/net-proxy/privoxy/privoxy-3.0.19.recipe deleted file mode 100644 index 5696770bb..000000000 --- a/net-proxy/privoxy/privoxy-3.0.19.recipe +++ /dev/null @@ -1,34 +0,0 @@ -DESCRIPTION=" -A web proxy with advanced filtering capabilities for protecting privacy \ -against Internet junk. -" -HOMEPAGE="http://www.privoxy.org/" -SRC_URI="http://sourceforge.net/projects/ijbswa/files/Sources/3.0.19%20%28stable%29/privoxy-3.0.19-stable-src.tar.gz/download" -REVISION="1" -STATUS_HAIKU="stable" -DEPEND="" -CHECKSUM_MD5="57acc79059565cc42eda67982842785d" - -BUILD() -{ - cd privoxy-3.0.19-stable - autoheader - autoconf - ./configure --prefix=`finddir B_COMMON_DIRECTORY` \ - --sbindir=`finddir B_COMMON_BIN_DIRECTORY` \ - --sysconfdir=`finddir B_COMMON_ETC_DIRECTORY`/privoxy \ - --localstatedir=`finddir B_COMMON_VAR_DIRECTORY` \ - --datarootdir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY` \ - --infodir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/info \ - --mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man - make -} - -INSTALL() -{ - cd privoxy-3.0.19-stable - make install -} - -LICENSE="GNU GPL v2" -COPYRIGHT="2001-2011 Privoxy Developers" diff --git a/net-proxy/privoxy/privoxy-3.0.21.recipe b/net-proxy/privoxy/privoxy-3.0.21.recipe new file mode 100644 index 000000000..9021345ae --- /dev/null +++ b/net-proxy/privoxy/privoxy-3.0.21.recipe @@ -0,0 +1,56 @@ +SUMMARY="A web proxy with advanced filtering capabilities for protecting privacy against Internet junk." +DESCRIPTION=" + Privoxy is a non-caching web proxy with advanced filtering + capabilities for enhancing privacy, modifying web page data and + HTTP headers, controlling access, and removing ads and other + obnoxious Internet junk. Privoxy has a flexible configuration and + can be customized to suit individual needs and tastes. It has + application for both stand-alone systems and multi-user + networks. + " +HOMEPAGE="http://www.privoxy.org/" +SRC_URI="http://sourceforge.net/projects/ijbswa/files/Sources/3.0.21%20%28stable%29/privoxy-3.0.21-stable-src.tar.gz" +SOURCE_DIR="privoxy-3.0.21-stable" +REVISION="1" +ARCHITECTURES="x86_gcc2 x86 !ppc" +CHECKSUM_SHA256="5ec7e601948d2bd0ebf0ebe90eed7d49e7663c395ce16d0403e91ea2d459ddb8" + +REQUIRES=" + haiku >= $haikuVersion +" + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion +" + +BUILD_PREREQUIRES=" + cmd:autoheader + cmd:autoconf + cmd:make + cmd:grep + cmd:sed + cmd:g++ + cmd:find +" + +PROVIDES=" + cmd:privoxy = $portVersion + " + +BUILD() +{ + host_os=haiku + autoheader + autoconf + runConfigure ./configure + make +} + +INSTALL() +{ + host_os=haiku + make install USER=privoxy +} + +LICENSE="GNU GPL v2" +COPYRIGHT="2001-2011 Privoxy Developers" diff --git a/sci-astronomy/celestia/celestia-1.6.0.recipe b/sci-astronomy/celestia/celestia-1.6.0.recipe deleted file mode 100644 index f7d34d146..000000000 --- a/sci-astronomy/celestia/celestia-1.6.0.recipe +++ /dev/null @@ -1,26 +0,0 @@ -DESCRIPTION="Celestia - The free space simulation" -HOMEPAGE="http://www.shatters.net/celestia/" -SRC_URI="http://sourceforge.net/projects/celestia/files/Celestia-source/1.6.0/celestia-1.6.0.tar.gz/download" -CHECKSUM_MD5="9b96a8e7666ab5a26f032b9d605e023d" -REVISION="1" -STATUS_HAIKU="unstable" -DEPEND="dev-lang/lua >= 5.1.4 - sys-devel/gettext >= 0.17" - -BUILD() -{ - cd celestia-1.6.0 - libtoolize --force --copy --install - autoreconf -i - ./configure --prefix=/boot/apps/celestia --with-glut - make -} - -INSTALL() -{ - cd celestia-1.6.0 - make install -} - -LICENSE="GNU GPL v2" -COPYRIGHT="2001-2008 Celestia Development Team" diff --git a/sci-astronomy/celestia/celestia-1.6.1.recipe b/sci-astronomy/celestia/celestia-1.6.1.recipe new file mode 100644 index 000000000..f73e260c6 --- /dev/null +++ b/sci-astronomy/celestia/celestia-1.6.1.recipe @@ -0,0 +1,76 @@ +SUMMARY="The free space simulation that lets you explore our universe in three dimensions" +DESCRIPTION="Unlike most planetarium software, Celestia doesn't confine you to \ +the surface of the Earth. You can travel throughout the solar system, to any of \ +over 100,000 stars, or even beyond the galaxy. + +All movement in Celestia is seamless; the exponential zoom feature lets you \ +explore space across a huge range of scales, from galaxy clusters down to \ +spacecraft only a few meters across. A 'point-and-goto' interface makes it \ +simple to navigate through the universe to the object you want to visit. + +Celestia is expandable. Celestia comes with a large catalog of stars, galaxies, \ +planets, moons, asteroids, comets, and spacecraft. If that's not enough, you \ +can download dozens of easy to install add-ons with more objects." +HOMEPAGE="http://celestia.sourceforge.net" +SRC_URI="http://fossies.org/linux/misc/celestia-1.6.1.tar.gz" +CHECKSUM_SHA256="d35570ccb9440fc0bd3e73eb9b4c3e8a4c25f3ae444a13d1175053fa16dc34c4" +SOURCE_DIR="celestia-$portVersion" +REVISION="1" +LICENSE="GNU GPL v2" +COPYRIGHT="2001-2011 Celestia Development Team" + +ARCHITECTURES="x86 ?x86_64" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + # x86_gcc2 is fine as primary target architecture as long as we're building + # for a different secondary architecture. + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +else + ARCHITECTURES="$ARCHITECTURES !x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + celestia$secondaryArchSuffix = $portVersion + app:celestia$secondaryArchSuffix = $portVersion + " + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lua$secondaryArchSuffix + lib:libintl$secondaryArchSuffix + lib:libz$secondaryArchSuffix + lib:libiconv$secondaryArchSuffix + lib:libgl$secondaryArchSuffix + lib:libglu$secondaryArchSuffix + lib:libglut$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + lua${secondaryArchSuffix}_devel + devel:libintl$secondaryArchSuffix + devel:libz$secondaryArchSuffix + devel:libiconv$secondaryArchSuffix + devel:libgl$secondaryArchSuffix + devel:libglu$secondaryArchSuffix + devel:libglut$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:make + cmd:gcc$secondaryArchSuffix + cmd:libtoolize + cmd:gettext + cmd:pkg_config$secondaryArchSuffix + " + +BUILD() +{ + libtoolize -fci + runConfigure ./configure --with-glut + make $jobArgs +} + +INSTALL() +{ + make install +} diff --git a/sci-libs/libsvm/libsvm-v320.recipe b/sci-libs/libsvm/libsvm-v320.recipe new file mode 100644 index 000000000..8fa9e9b65 --- /dev/null +++ b/sci-libs/libsvm/libsvm-v320.recipe @@ -0,0 +1,97 @@ +SUMMARY="Library for Support Vector Machines" +DESCRIPTION=" +Libsvm is a simple, easy-to-use, and efficient software for SVM \ +classification and regression. It solves C-SVM classification, nu-SVM \ +classification, one-class-SVM, epsilon-SVM regression, and nu-SVM \ +regression. It also provides an automatic model selection tool for \ +C-SVM classification." +HOMEPAGE="http://www.csie.ntu.edu.tw/~cjlin/libsvm/" +SRC_URI="git+https://github.com/cjlin1/libsvm#8f3d96e" +REVISION="1" +LICENSE="BSD (3-clause)" +COPYRIGHT="2000-2014 Chih-Chung Chang and Chih-Jen Lin" + +ARCHITECTURES="x86_gcc2 x86 x86_64" + +PROVIDES=" + libsvm = $portVersion + lib:libsvm + " + +REQUIRES=" + haiku >= $haikuVersion + lib:libstdc++ + " + +BUILD_PREREQUIRES=" + haiku >= $haikuVersion + cmd:make + cmd:gcc + cmd:g++ + cmd:sed + " + +BUILD_REQUIRES=" + haiku_devel + " + +PATCH() +{ + sed -e 's/-lm//g' -i Makefile +} + +BUILD() +{ + make lib $jobArgs + make $jobArgs +} + +INSTALL() +{ + mkdir -p $binDir + mkdir -p $libDir + mkdir -p $includeDir + + cp svm-train $binDir/svm-train + cp svm-predict $binDir/svm-predict + cp svm-scale $binDir/svm-scale + cp tools/checkdata.py $binDir/svm-checkdata + cp tools/subset.py $binDir/svm-subset + cp tools/easy.py $binDir/svm-easy + cp tools/grid.py $binDir/svm-grid + packageEntries tools $binDir + + cp libsvm.so.2 $libDir + cp svm.h $includeDir + prepareInstalledDevelLibs libsvm + packageEntries devel $developDir +} + +# ----- devel package ------------------------------------------------------- + +PROVIDES_devel=" + libsvm_devel = $portVersion + devel:libsvm + " + +REQUIRES_devel=" + libsvm == $portVersion base + " +# ----- tools package ------------------------------------------------------- + +PROVIDES_tools=" + libsvm_tools = $portVersion + cmd:svm_train + cmd:svm_predict + cmd:svm_scale + cmd:svm_checkdata + cmd:svm_subset + cmd:svm_easy + cmd:svm_grid + " + +REQUIRES_tools=" + haiku >= $haikuVersion + lib:libstdc++ + cmd:python + " diff --git a/sys-apps/coreutils/coreutils-8.22.recipe b/sys-apps/coreutils/coreutils-8.22.recipe index 3c1c9d407..feadf31d6 100644 --- a/sys-apps/coreutils/coreutils-8.22.recipe +++ b/sys-apps/coreutils/coreutils-8.22.recipe @@ -130,12 +130,15 @@ PROVIDES=" cmd:whoami = $portVersion compat >= 8 cmd:yes = $portVersion compat >= 8 " + REQUIRES=" haiku >= $haikuVersion " + BUILD_PREREQUIRES=" haiku_devel >= $haikuVersion cmd:gcc + cmd:grep cmd:ld cmd:make cmd:awk diff --git a/sys-apps/coreutils/coreutils-8.5.recipe b/sys-apps/coreutils/coreutils-8.5.recipe deleted file mode 100644 index 23abb5040..000000000 --- a/sys-apps/coreutils/coreutils-8.5.recipe +++ /dev/null @@ -1,32 +0,0 @@ -DESCRIPTION="standard GNU file utilities" -HOMEPAGE="http://www.gnu.org/software/coreutils" -SRC_URI="http://ftp.gnu.org/gnu/coreutils/coreutils-8.5.tar.gz" -REVISION="1" -STATUS_HAIKU="stable" -DEPEND="" -CHECKSUM_MD5="c1ffe586d001e87d66cd80c4536ee823" -BUILD() -{ - cd coreutils-8.5 - MANDIR=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man - ./configure --prefix=`finddir B_COMMON_DIRECTORY` \ - --datarootdir=`finddir B_COMMON_DATA_DIRECTORY` \ - --infodir=`finddir B_COMMON_DOCUMENTATION`/info \ - --mandir=`finddir B_COMMON_DOCUMENTATION`/man - make -} - -INSTALL() -{ - cd coreutils-8.5 - make install -} - -TEST() -{ - cd coreutils-8.5 - make check -} - -LICENSE="GNU GPL v3" -COPYRIGHT="1994-1996, 2000-2010 Free Software Foundation, Inc." diff --git a/sys-apps/coreutils/patches/coreutils-6.12.patch b/sys-apps/coreutils/patches/coreutils-6.12.patch deleted file mode 100644 index 27fc67b24..000000000 --- a/sys-apps/coreutils/patches/coreutils-6.12.patch +++ /dev/null @@ -1,457 +0,0 @@ -diff -urN coreutils-6.12.orig/configure coreutils-6.12/configure ---- coreutils-6.12.orig/configure 2008-11-30 21:41:13.000000000 +0000 -+++ coreutils-6.12/configure 2008-11-30 22:05:25.000000000 +0000 -@@ -25272,7 +25272,7 @@ - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ - #include --#if defined __GLIBC__ && !defined __BEOS__ -+#if defined __GLIBC__ && !(defined(__BEOS__) || defined(__HAIKU__)) - Do not use statvfs on systems with GNU libc, because that function stats - all preceding entries in /proc/mounts, and that makes df hang if even - one of the corresponding file systems is hard-mounted, but not available. -diff -urN coreutils-6.12.orig/lib/fcntl.in.h coreutils-6.12/lib/fcntl.in.h ---- coreutils-6.12.orig/lib/fcntl.in.h 2008-11-30 21:40:44.000000000 +0000 -+++ coreutils-6.12/lib/fcntl.in.h 2008-11-30 22:05:25.000000000 +0000 -@@ -104,7 +104,7 @@ - # define O_TEXT _O_TEXT - #endif - --#ifdef __BEOS__ -+#if (defined(__BEOS__) || defined(__HAIKU__)) - /* BeOS 5 has O_BINARY and O_TEXT, but they have no effect. */ - # undef O_BINARY - # undef O_TEXT -diff -urN coreutils-6.12.orig/lib/freadahead.c coreutils-6.12/lib/freadahead.c ---- coreutils-6.12.orig/lib/freadahead.c 2008-11-30 21:40:47.000000000 +0000 -+++ coreutils-6.12/lib/freadahead.c 2008-11-30 20:57:54.000000000 +0000 -@@ -24,7 +24,7 @@ - size_t - freadahead (FILE *fp) - { --#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ -+#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ - if (fp->_IO_write_ptr > fp->_IO_write_base) - return 0; - return (fp->_IO_read_end - fp->_IO_read_ptr) -diff -urN coreutils-6.12.orig/lib/freadptr.c coreutils-6.12/lib/freadptr.c ---- coreutils-6.12.orig/lib/freadptr.c 2008-11-30 21:40:44.000000000 +0000 -+++ coreutils-6.12/lib/freadptr.c 2008-11-30 21:13:58.000000000 +0000 -@@ -29,7 +29,7 @@ - size_t size; - - /* Keep this code in sync with freadahead! */ --#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ -+#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ - if (fp->_IO_write_ptr > fp->_IO_write_base) - return NULL; - size = fp->_IO_read_end - fp->_IO_read_ptr; -diff -urN coreutils-6.12.orig/lib/freadseek.c coreutils-6.12/lib/freadseek.c ---- coreutils-6.12.orig/lib/freadseek.c 2008-11-30 21:40:46.000000000 +0000 -+++ coreutils-6.12/lib/freadseek.c 2008-11-30 21:15:22.000000000 +0000 -@@ -34,7 +34,7 @@ - freadptrinc (FILE *fp, size_t increment) - { - /* Keep this code in sync with freadptr! */ --#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ -+#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ - fp->_IO_read_ptr += increment; - #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ - fp_->_p += increment; -diff -urN coreutils-6.12.orig/lib/fseterr.c coreutils-6.12/lib/fseterr.c ---- coreutils-6.12.orig/lib/fseterr.c 2008-11-30 21:40:48.000000000 +0000 -+++ coreutils-6.12/lib/fseterr.c 2008-11-30 21:16:48.000000000 +0000 -@@ -29,7 +29,7 @@ - /* Most systems provide FILE as a struct and the necessary bitmask in - , because they need it for implementing getc() and putc() as - fast macros. */ --#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ -+#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ - fp->_flags |= _IO_ERR_SEEN; - #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ - fp_->_flags |= __SERR; -diff -urN coreutils-6.12.orig/lib/physmem.c coreutils-6.12/lib/physmem.c ---- coreutils-6.12.orig/lib/physmem.c 2008-11-30 21:40:44.000000000 +0000 -+++ coreutils-6.12/lib/physmem.c 2008-11-30 22:05:25.000000000 +0000 -@@ -17,6 +17,7 @@ - along with this program. If not, see . */ - - /* Written by Paul Eggert. */ -+#undef DEBUG - - #include - -diff -urN coreutils-6.12.orig/src/copy.c coreutils-6.12/src/copy.c ---- coreutils-6.12.orig/src/copy.c 2008-11-30 21:40:58.000000000 +0000 -+++ coreutils-6.12/src/copy.c 2008-11-30 22:05:25.000000000 +0000 -@@ -55,6 +55,10 @@ - #include "areadlink.h" - #include "yesno.h" - -+#if (defined(__BEOS__) || defined(__HAIKU__)) -+# include -+#endif -+ - #ifndef HAVE_FCHOWN - # define HAVE_FCHOWN false - # define fchown(fd, uid, gid) (-1) -@@ -127,6 +131,68 @@ - return false; - } - -+ -+static int -+copy_attributes(int fromFd, int toFd) -+{ -+ struct dirent *dirent; -+ char buffer[65536]; -+ -+ DIR *attributes = fs_fopen_attr_dir(fromFd); -+ if (attributes == NULL) -+ return -1; -+ -+ while ((dirent = fs_read_attr_dir(attributes)) != NULL) { -+ attr_info info; -+ off_t pos = 0; -+ -+ if (fs_stat_attr(fromFd, dirent->d_name, &info) != 0) -+ continue; -+ -+ while (info.size > 0) { -+ ssize_t bytesRead, bytesWritten; -+ -+ bytesRead = fs_read_attr(fromFd, dirent->d_name, info.type, pos, buffer, sizeof(buffer)); -+ if (bytesRead <= 0) -+ break; -+ -+ bytesWritten = fs_write_attr(toFd, dirent->d_name, info.type, pos, buffer, bytesRead); -+ if (bytesWritten != bytesRead) -+ break; -+ -+ pos += bytesWritten; -+ info.size -= bytesWritten; -+ } -+ } -+ -+ fs_close_attr_dir(attributes); -+} -+ -+ -+static int -+copy_attributes_by_name(const char *from, const char *to, int resolveLinks) -+{ -+ int fromFd, toFd, result; -+ -+ fromFd = open(from, O_RDONLY | (resolveLinks ? 0 : O_NOTRAVERSE)); -+ if (fromFd < 0) -+ return -1; -+ -+ toFd = open(to, O_RDONLY | (resolveLinks ? 0 : O_NOTRAVERSE)); -+ if (toFd < 0) { -+ close(fromFd); -+ return -1; -+ } -+ -+ result = copy_attributes(fromFd, toFd); -+ -+ close(fromFd); -+ close(toFd); -+ -+ return result; -+} -+ -+ - /* Read the contents of the directory SRC_NAME_IN, and recursively - copy the contents to DST_NAME_IN. NEW_DST is true if - DST_NAME_IN is a directory that was created previously in the -@@ -154,6 +220,10 @@ - return false; - } - -+ if (x->ignore_attributes == 0 -+ && copy_attributes_by_name(src_name_in, dst_name_in, true) != 0) -+ fprintf(stderr, "%s: could not copy attributes\n", src_name_in); -+ - /* For cp's -H option, dereference command line arguments, but do not - dereference symlinks that are found via recursive traversal. */ - if (x->dereference == DEREF_COMMAND_LINE_ARGUMENTS) -@@ -709,6 +779,11 @@ - } - } - -+ if (x->ignore_attributes == 0 -+ && copy_attributes(source_desc, dest_desc) != 0) -+ fprintf(stderr, "%s: could not copy attributes\n", src_name); -+ -+ - close_src_and_dst_desc: - if (close (dest_desc) < 0) - { -@@ -1516,6 +1591,19 @@ - goto un_backup; - } - -+ if (link_failed) -+ { -+ error (0, errno, _("cannot create hard link %s to %s"), -+ quote_n (0, dst_name), quote_n (1, earlier_file)); -+ goto un_backup; -+ } -+ else -+ { -+ if (x->ignore_attributes == 0 -+ && copy_attributes_by_name(earlier_file, dst_name, false) != 0) -+ fprintf(stderr, "%s: could not copy attributes\n", earlier_file); -+ } -+ - return true; - } - } -diff -urN coreutils-6.12.orig/src/copy.h coreutils-6.12/src/copy.h ---- coreutils-6.12.orig/src/copy.h 2008-11-30 21:40:53.000000000 +0000 -+++ coreutils-6.12/src/copy.h 2008-11-30 22:05:25.000000000 +0000 -@@ -174,6 +174,9 @@ - fail if it is unable to do so. */ - bool require_preserve_context; - -+ /* If nonzero, attributes will be ignored when copying. */ -+ int ignore_attributes; -+ - /* If true, copy directories recursively and copy special files - as themselves rather than copying their contents. */ - bool recursive; -diff -urN coreutils-6.12.orig/src/cp.c coreutils-6.12/src/cp.c ---- coreutils-6.12.orig/src/cp.c 2008-11-30 21:40:59.000000000 +0000 -+++ coreutils-6.12/src/cp.c 2008-11-30 22:05:25.000000000 +0000 -@@ -73,6 +73,7 @@ - enum - { - COPY_CONTENTS_OPTION = CHAR_MAX + 1, -+ IGNORE_ATTRIBUTES, - NO_PRESERVE_ATTRIBUTES_OPTION, - PARENTS_OPTION, - PRESERVE_ATTRIBUTES_OPTION, -@@ -130,6 +131,7 @@ - {"copy-contents", no_argument, NULL, COPY_CONTENTS_OPTION}, - {"dereference", no_argument, NULL, 'L'}, - {"force", no_argument, NULL, 'f'}, -+ {"ignore-attributes", no_argument, NULL, IGNORE_ATTRIBUTES}, - {"interactive", no_argument, NULL, 'i'}, - {"link", no_argument, NULL, 'l'}, - {"no-dereference", no_argument, NULL, 'P'}, -@@ -186,6 +188,7 @@ - fputs (_("\ - -f, --force if an existing destination file cannot be\n\ - opened, remove it and try again\n\ -+ --ignore-attributes do not copy attributes\n\ - -i, --interactive prompt before overwrite\n\ - -H follow command-line symbolic links in SOURCE\n\ - "), stdout); -@@ -779,6 +782,7 @@ - x->require_preserve_context = false; - - x->require_preserve = false; -+ x->ignore_attributes = false; - x->recursive = false; - x->sparse_mode = SPARSE_AUTO; - x->symbolic_link = false; -@@ -956,6 +960,10 @@ - x.dereference = DEREF_COMMAND_LINE_ARGUMENTS; - break; - -+ case IGNORE_ATTRIBUTES: -+ x.ignore_attributes = true; -+ break; -+ - case 'i': - x.interactive = I_ASK_USER; - break; -diff -urN coreutils-6.12.orig/src/ls.c coreutils-6.12/src/ls.c ---- coreutils-6.12.orig/src/ls.c 2008-11-30 21:40:54.000000000 +0000 -+++ coreutils-6.12/src/ls.c 2008-11-30 22:05:25.000000000 +0000 -@@ -635,6 +635,11 @@ - want to mess up the terminal if control chars get sent to it, and some - quoting methods pass through control chars as-is. */ - static bool qmark_funny_chars; -+#if (defined(__BEOS__) || defined(__HAIKU__)) /* Default to show UTF8 chars in BeOS terminal. */ -+#define QMARK_FUNNY_CHARS_TTY 0 -+#else -+#define QMARK_FUNNY_CHARS_TTY 1 -+#endif - - /* Quoting options for file and dir name output. */ - -@@ -1391,7 +1396,7 @@ - /* Record whether there is an option specifying sort type. */ - bool sort_type_specified = false; - -- qmark_funny_chars = false; -+ qmark_funny_chars = QMARK_FUNNY_CHARS_TTY; - - /* initialize all switches to default settings */ - -@@ -3513,6 +3518,7 @@ - p = buf; - } - -+#ifndef __BEOS__ - if (f->stat_ok - && (S_ISCHR (f->stat.st_mode) || S_ISBLK (f->stat.st_mode))) - { -@@ -3529,6 +3535,7 @@ - p += file_size_width + 1; - } - else -+#endif - { - char hbuf[LONGEST_HUMAN_READABLE + 1]; - char const *size = -diff -urN coreutils-6.12.orig/src/mv.c coreutils-6.12/src/mv.c ---- coreutils-6.12.orig/src/mv.c 2008-11-30 21:40:59.000000000 +0000 -+++ coreutils-6.12/src/mv.c 2008-11-30 22:05:25.000000000 +0000 -@@ -142,6 +142,7 @@ - x->preserve_security_context = selinux_enabled; - x->require_preserve = false; /* FIXME: maybe make this an option */ - x->require_preserve_context = false; -+ x->ignore_attributes = false; - x->recursive = true; - x->sparse_mode = SPARSE_AUTO; /* FIXME: maybe make this an option */ - x->symbolic_link = false; -diff -urN coreutils-6.12.orig/src/remove.c coreutils-6.12/src/remove.c ---- coreutils-6.12.orig/src/remove.c 2008-11-30 21:40:59.000000000 +0000 -+++ coreutils-6.12/src/remove.c 2008-11-30 18:25:45.000000000 +0000 -@@ -264,9 +264,10 @@ - { - size_t n_lengths = obstack_object_size (&ds->len_stack) / sizeof (size_t); - size_t *length = obstack_base (&ds->len_stack); -+ size_t top_len; - - assert (n_lengths > 0); -- size_t top_len = length[n_lengths - 1]; -+ top_len = length[n_lengths - 1]; - assert (top_len >= 2); - - /* Pop the specified length of file name. */ -@@ -424,10 +425,11 @@ - static void - AD_stack_pop (Dirstack_state *ds) - { -+ struct AD_ent *top; - assert (0 < AD_stack_height (ds)); - - /* operate on Active_dir. pop and free top entry */ -- struct AD_ent *top = AD_stack_top (ds); -+ top = AD_stack_top (ds); - if (top->unremovable) - hash_free (top->unremovable); - obstack_blank (&ds->Active_dir, -(int) sizeof (struct AD_ent)); -@@ -891,6 +893,7 @@ - break; - } - -+ { - char const *quoted_name = quote (full_filename (filename)); - - if (write_protected < 0) -@@ -930,6 +933,7 @@ - : _("%s: remove %s %s? ")), - program_name, file_type (sbuf), quoted_name); - } -+ } - - if (!yesno ()) - return RM_USER_DECLINED; -@@ -1549,6 +1553,7 @@ - return RM_ERROR; - } - -+ { - struct stat st; - cache_stat_init (&st); - cycle_check_init (&ds->cycle_check_state); -@@ -1571,6 +1576,7 @@ - AD_push_initial (ds); - AD_INIT_OTHER_MEMBERS (); - -+ { - enum RM_status status = remove_entry (AT_FDCWD, ds, filename, - DT_UNKNOWN, &st, x); - if (status == RM_NONEMPTY_DIR) -@@ -1589,6 +1595,8 @@ - ds_clear (ds); - return status; - } -+ } -+} - - /* Remove all files and/or directories specified by N_FILES and FILE. - Apply the options in X. */ -diff -urN coreutils-6.12.orig/src/rm.c coreutils-6.12/src/rm.c ---- coreutils-6.12.orig/src/rm.c 2008-11-30 21:40:58.000000000 +0000 -+++ coreutils-6.12/src/rm.c 2008-11-30 18:25:45.000000000 +0000 -@@ -357,6 +357,7 @@ - quote ("/")); - } - -+ { - size_t n_files = argc - optind; - char const *const *file = (char const *const *) argv + optind; - -@@ -370,7 +371,10 @@ - if (!yesno ()) - exit (EXIT_SUCCESS); - } -+ { - enum RM_status status = rm (n_files, file, &x); - assert (VALID_STATUS (status)); - exit (status == RM_ERROR ? EXIT_FAILURE : EXIT_SUCCESS); -+ } -+ } - } -diff -urN coreutils-6.12.orig/src/seq.c coreutils-6.12/src/seq.c ---- coreutils-6.12.orig/src/seq.c 2008-11-30 21:40:52.000000000 +0000 -+++ coreutils-6.12/src/seq.c 2008-11-30 18:25:45.000000000 +0000 -@@ -166,6 +166,7 @@ - : (decimal_point == arg /* .# -> 0.# */ - || ! ISDIGIT (decimal_point[-1]))); /* -.# -> 0.# */ - } -+ { - char const *e = strchr (arg, 'e'); - if (! e) - e = strchr (arg, 'E'); -@@ -174,6 +175,7 @@ - long exponent = strtol (e + 1, NULL, 10); - ret.precision += exponent < 0 ? -exponent : 0; - } -+ } - } - - return ret; -@@ -349,6 +351,7 @@ - size_t last_width = last.width + (prec - last.precision); - if (last.precision && prec == 0) - last_width--; /* don't include space for '.' */ -+ { - size_t width = MAX (first_width, last_width); - if (width <= INT_MAX) - { -@@ -356,6 +359,7 @@ - sprintf (format_buf, "%%0%d.%dLf", w, prec); - return format_buf; - } -+ } - } - else - { -diff -urN coreutils-6.12.orig/src/shred.c coreutils-6.12/src/shred.c ---- coreutils-6.12.orig/src/shred.c 2008-11-30 21:40:53.000000000 +0000 -+++ coreutils-6.12/src/shred.c 2008-11-30 18:25:45.000000000 +0000 -@@ -461,7 +461,7 @@ - out. Thus, it shouldn't give up on bad blocks. This - code works because lim is always a multiple of - SECTOR_SIZE, except at the end. */ -- verify (sizeof r % SECTOR_SIZE == 0); -+ { verify (sizeof r % SECTOR_SIZE == 0); } - if (errnum == EIO && 0 <= size && (soff | SECTOR_MASK) < lim) - { - size_t soff1 = (soff | SECTOR_MASK) + 1; diff --git a/sys-apps/coreutils/patches/coreutils-8.5.patch b/sys-apps/coreutils/patches/coreutils-8.5.patch deleted file mode 100644 index 4d4be9dad..000000000 --- a/sys-apps/coreutils/patches/coreutils-8.5.patch +++ /dev/null @@ -1,646 +0,0 @@ -diff -urN coreutils-8.5/lib/mbsalign.c coreutils-8.5-gcc2/lib/mbsalign.c ---- coreutils-8.5/lib/mbsalign.c 2010-04-20 19:52:04.018350080 +0000 -+++ coreutils-8.5-gcc2/lib/mbsalign.c 2010-09-24 13:26:41.000000000 +0000 -@@ -140,6 +140,7 @@ - size_t n_cols = src_size - 1; - size_t n_used_bytes = n_cols; /* Not including NUL */ - size_t n_spaces = 0; -+ size_t space_left; - bool conversion = false; - bool wc_enabled = false; - -@@ -238,7 +239,7 @@ - } - - dest = mbs_align_pad (dest, dest_end, start_spaces); -- size_t space_left = dest_end - dest; -+ space_left = dest_end - dest; - dest = mempcpy (dest, str_to_print, MIN (n_used_bytes, space_left)); - mbs_align_pad (dest, dest_end, end_spaces); - } -@@ -262,11 +263,12 @@ - size_t size = *width; /* Start with enough for unibyte mode. */ - size_t req = size; - char *buf = NULL; -+ char *nbuf; - - while (req >= size) - { - size = req + 1; /* Space for NUL. */ -- char *nbuf = realloc (buf, size); -+ nbuf = realloc (buf, size); - if (nbuf == NULL) - { - free (buf); -diff -urN coreutils-8.5/src/chroot.c coreutils-8.5-gcc2/src/chroot.c ---- coreutils-8.5/src/chroot.c 2010-04-20 19:52:04.033030144 +0000 -+++ coreutils-8.5-gcc2/src/chroot.c 2010-09-24 13:39:03.000000000 +0000 -@@ -151,6 +151,7 @@ - int c; - char const *userspec = NULL; - char const *groups = NULL; -+ bool fail; - - initialize_main (&argc, &argv); - set_program_name (argv[0]); -@@ -211,7 +212,7 @@ - argv += optind + 1; - } - -- bool fail = false; -+ fail = false; - - /* Attempt to set all three: supplementary groups, group ID, user ID. - Diagnose any failures. If any have failed, exit before execvp. */ -diff -urN coreutils-8.5/src/copy.c coreutils-8.5-gcc2/src/copy.c ---- coreutils-8.5/src/copy.c 2010-04-20 19:52:04.049807360 +0000 -+++ coreutils-8.5-gcc2/src/copy.c 2010-09-24 13:43:19.000000000 +0000 -@@ -2280,6 +2280,7 @@ - bool nonexistent_dst, const struct cp_options *options, - bool *copy_into_self, bool *rename_succeeded) - { -+ bool first_dir_created_per_command_line_arg = false; - assert (valid_options (options)); - - /* Record the file names: they're used in case of error, when copying -@@ -2292,7 +2293,6 @@ - top_level_src_name = src_name; - top_level_dst_name = dst_name; - -- bool first_dir_created_per_command_line_arg = false; - return copy_internal (src_name, dst_name, nonexistent_dst, 0, NULL, - options, true, - &first_dir_created_per_command_line_arg, -diff -urN coreutils-8.5/src/du.c coreutils-8.5-gcc2/src/du.c ---- coreutils-8.5/src/du.c 2010-01-01 13:06:47.039321600 +0000 -+++ coreutils-8.5-gcc2/src/du.c 2010-09-24 14:00:37.000000000 +0000 -@@ -664,7 +664,9 @@ - bool max_depth_specified = false; - bool ok = true; - char *files_from = NULL; -- -+ struct argv_iterator *ai; -+ static char *temp_argv[] = { NULL, NULL }; -+ - /* Bit flags that control how fts works. */ - int bit_flags = FTS_TIGHT_CYCLE_CHECK | FTS_DEFER_STAT; - -@@ -918,7 +920,6 @@ - } - } - -- struct argv_iterator *ai; - if (files_from) - { - /* When using --files0-from=F, you may not specify any files -@@ -950,7 +951,6 @@ - hash_init (); - - bit_flags |= symlink_deref_bits; -- static char *temp_argv[] = { NULL, NULL }; - - while (true) - { -diff -urN coreutils-8.5/src/expr.c coreutils-8.5-gcc2/src/expr.c ---- coreutils-8.5/src/expr.c 2010-03-13 15:14:09.039845888 +0000 -+++ coreutils-8.5-gcc2/src/expr.c 2010-09-24 14:11:15.000000000 +0000 -@@ -116,8 +116,8 @@ - static char * - mpz_get_str (char const *str, int base, mpz_t z) - { -- (void) str; (void) base; - char buf[INT_BUFSIZE_BOUND (intmax_t)]; -+ (void) str; (void) base; - return xstrdup (imaxtostr (z[0], buf)); - } - static int -@@ -138,8 +138,8 @@ - static int - mpz_out_str (FILE *stream, int base, mpz_t z) - { -- (void) base; - char buf[INT_BUFSIZE_BOUND (intmax_t)]; -+ (void) base; - return fputs (imaxtostr (z[0], buf), stream) != EOF; - } - #endif -diff -urN coreutils-8.5/src/join.c coreutils-8.5-gcc2/src/join.c ---- coreutils-8.5/src/join.c 2010-04-20 19:52:04.033554432 +0000 -+++ coreutils-8.5-gcc2/src/join.c 2010-09-24 14:13:58.000000000 +0000 -@@ -616,7 +616,9 @@ - struct seq seq1, seq2; - int diff; - bool eof1, eof2; -- -+ struct line *line = NULL; -+ bool checktail = false; -+ - /* Read the first line of each file. */ - initseq (&seq1); - getseq (fp1, &seq1, 1); -@@ -711,8 +713,6 @@ - tail ends of both inputs to verify that they are in order. We - skip the rest of the tail once we have issued a warning for that - file, unless we actually need to print the unpairable lines. */ -- struct line *line = NULL; -- bool checktail = false; - - if (check_input_order != CHECK_ORDER_DISABLED - && !(issued_disorder_warning[0] && issued_disorder_warning[1])) -diff -urN coreutils-8.5/src/libstdbuf.c coreutils-8.5-gcc2/src/libstdbuf.c ---- coreutils-8.5/src/libstdbuf.c 2010-03-13 15:14:09.034340864 +0000 -+++ coreutils-8.5-gcc2/src/libstdbuf.c 2010-09-24 15:13:11.000000000 +0000 -@@ -96,7 +96,7 @@ - else - { - setvbuf_mode = _IOFBF; -- verify (SIZE_MAX <= ULONG_MAX); -+ { verify (SIZE_MAX <= ULONG_MAX); } - size = strtoul (mode, NULL, 10); - if (size > 0) - { -diff -urN coreutils-8.5/src/ls.c coreutils-8.5-gcc2/src/ls.c ---- coreutils-8.5/src/ls.c 2010-04-20 19:52:04.038273024 +0000 -+++ coreutils-8.5-gcc2/src/ls.c 2010-09-24 13:54:45.000000000 +0000 -@@ -1039,17 +1039,21 @@ - abmon_init (void) - { - #ifdef HAVE_NL_LANGINFO -- required_mon_width = MAX_MON_WIDTH; -+ int i; -+ size_t width; -+ size_t req; - size_t curr_max_width; -+ required_mon_width = MAX_MON_WIDTH; -+ - do - { - curr_max_width = required_mon_width; - required_mon_width = 0; -- for (int i = 0; i < 12; i++) -+ for (i = 0; i < 12; i++) - { -- size_t width = curr_max_width; -+ width = curr_max_width; - -- size_t req = mbsalign (nl_langinfo (ABMON_1 + i), -+ req = mbsalign (nl_langinfo (ABMON_1 + i), - abmon[i], sizeof (abmon[i]), - &width, MBS_ALIGN_LEFT, 0); - -@@ -3476,6 +3480,7 @@ - the replacement is not done. A malloc here slows ls down by 2% */ - char rpl_fmt[sizeof (abmon[0]) + 100]; - const char *pb; -+ size_t ret; - if (required_mon_width && (pb = strstr (fmt, "%b"))) - { - if (strlen (fmt) < (sizeof (rpl_fmt) - sizeof (abmon[0]) + 2)) -@@ -3488,7 +3493,7 @@ - strcpy (pfmt, pb + 2); - } - } -- size_t ret = nstrftime (buf, size, nfmt, tm, __utc, __ns); -+ ret = nstrftime (buf, size, nfmt, tm, __utc, __ns); - return ret; - } - -@@ -3639,6 +3644,7 @@ - char *p; - struct timespec when_timespec; - struct tm *when_local; -+ size_t w; - - /* Compute the mode string, except remove the trailing space if no - file in this directory has an ACL or SELinux security context. */ -@@ -3825,7 +3831,7 @@ - } - - DIRED_FPUTS (buf, stdout, p - buf); -- size_t w = print_name_with_quoting (f, false, &dired_obstack, p - buf); -+ w = print_name_with_quoting (f, false, &dired_obstack, p - buf); - - if (f->filetype == symbolic_link) - { -@@ -4014,7 +4020,8 @@ - size_t start_col) - { - const char* name = symlink_target ? f->linkname : f->name; -- -+ size_t width; -+ - bool used_color_this_time - = (print_with_color - && (print_color_indicator (f, symlink_target) -@@ -4023,7 +4030,7 @@ - if (stack) - PUSH_CURRENT_DIRED_POS (stack); - -- size_t width = quote_name (stdout, name, filename_quoting_options, NULL); -+ width = quote_name (stdout, name, filename_quoting_options, NULL); - dired_pos += width; - - if (stack) -@@ -4060,6 +4067,7 @@ - static size_t - print_file_name_and_frills (const struct fileinfo *f, size_t start_col) - { -+ size_t width; - char buf[MAX (LONGEST_HUMAN_READABLE + 1, INT_BUFSIZE_BOUND (uintmax_t))]; - - set_normal_color (); -@@ -4077,7 +4085,7 @@ - if (print_scontext) - printf ("%*s ", format == with_commas ? 0 : scontext_width, f->scontext); - -- size_t width = print_name_with_quoting (f, false, NULL, start_col); -+ width = print_name_with_quoting (f, false, NULL, start_col); - - if (indicator_style != none) - width += print_type_indicator (f->stat_ok, f->stat.st_mode, f->filetype); -diff -urN coreutils-8.5/src/nproc.c coreutils-8.5-gcc2/src/nproc.c ---- coreutils-8.5/src/nproc.c 2010-01-01 13:06:47.032505856 +0000 -+++ coreutils-8.5-gcc2/src/nproc.c 2010-09-24 14:41:24.000000000 +0000 -@@ -76,6 +76,7 @@ - main (int argc, char **argv) - { - unsigned long nproc, ignore = 0; -+ enum nproc_query mode; - initialize_main (&argc, &argv); - set_program_name (argv[0]); - setlocale (LC_ALL, ""); -@@ -84,7 +85,7 @@ - - atexit (close_stdout); - -- enum nproc_query mode = NPROC_CURRENT_OVERRIDABLE; -+ mode = NPROC_CURRENT_OVERRIDABLE; - - while (1) - { -diff -urN coreutils-8.5/src/remove.c coreutils-8.5-gcc2/src/remove.c ---- coreutils-8.5/src/remove.c 2010-03-13 15:14:09.049020928 +0000 -+++ coreutils-8.5-gcc2/src/remove.c 2010-09-24 14:39:23.000000000 +0000 -@@ -114,6 +114,7 @@ - char const *full_name, - struct stat *buf) - { -+ size_t file_name_len; - if (can_write_any_file ()) - return 0; - if (cache_fstatat (fd_cwd, file, buf, AT_SYMLINK_NOFOLLOW) != 0) -@@ -180,7 +181,7 @@ - } - - /* This implements #5: */ -- size_t file_name_len = strlen (full_name); -+ file_name_len = strlen (full_name); - - if (MIN (PATH_MAX, 8192) <= file_name_len) - return ! euidaccess_stat (buf, W_OK); -@@ -218,16 +219,21 @@ - { - int fd_cwd = fts->fts_cwd_fd; - char const *full_name = ent->fts_path; -+ char const *quoted_name = quote (full_name); - char const *filename = ent->fts_accpath; -+ struct stat st; -+ struct stat *sbuf = &st; -+ bool is_empty; -+ int dirent_type; -+ int write_protected = 0; -+ int wp_errno = 0; -+ - if (is_empty_p) - *is_empty_p = T_UNKNOWN; - -- struct stat st; -- struct stat *sbuf = &st; - cache_stat_init (sbuf); - -- int dirent_type = is_dir ? DT_DIR : DT_UNKNOWN; -- int write_protected = 0; -+ dirent_type = is_dir ? DT_DIR : DT_UNKNOWN; - - /* When nonzero, this indicates that we failed to remove a child entry, - either because the user declined an interactive prompt, or due to -@@ -238,7 +244,6 @@ - if (x->interactive == RMI_NEVER) - return RM_OK; - -- int wp_errno = 0; - if (!x->ignore_missing_files - && ((x->interactive == RMI_ALWAYS) || x->stdin_tty) - && dirent_type != DT_LNK) -@@ -286,15 +291,12 @@ - break; - } - -- char const *quoted_name = quote (full_name); -- - if (write_protected < 0) - { - error (0, wp_errno, _("cannot remove %s"), quoted_name); - return RM_ERROR; - } - -- bool is_empty; - if (is_empty_p) - { - is_empty = is_empty_dir (fd_cwd, filename); -@@ -473,6 +475,8 @@ - static enum RM_status - rm_fts (FTS *fts, FTSENT *ent, struct rm_options const *x) - { -+ bool is_dir; -+ enum RM_status s; - switch (ent->fts_info) - { - case FTS_D: /* preorder directory */ -@@ -557,8 +561,8 @@ - return RM_ERROR; - } - -- bool is_dir = ent->fts_info == FTS_DP || ent->fts_info == FTS_DNR; -- enum RM_status s = prompt (fts, ent, is_dir, x, PA_REMOVE_DIR, NULL); -+ is_dir = ent->fts_info == FTS_DP || ent->fts_info == FTS_DNR; -+ s = prompt (fts, ent, is_dir, x, PA_REMOVE_DIR, NULL); - if (s != RM_OK) - return s; - return excise (fts, ent, x, is_dir); -@@ -593,6 +597,8 @@ - rm (char *const *file, struct rm_options const *x) - { - enum RM_status rm_status = RM_OK; -+ FTS *fts; -+ enum RM_status s; - - if (*file) - { -@@ -603,7 +609,7 @@ - if (x->one_file_system) - bit_flags |= FTS_XDEV; - -- FTS *fts = xfts_open (file, bit_flags, NULL); -+ fts = xfts_open (file, bit_flags, NULL); - - while (1) - { -@@ -620,7 +626,7 @@ - break; - } - -- enum RM_status s = rm_fts (fts, ent, x); -+ s = rm_fts (fts, ent, x); - - assert (VALID_STATUS (s)); - UPDATE_STATUS (rm_status, s); -diff -urN coreutils-8.5/src/rm.c coreutils-8.5-gcc2/src/rm.c ---- coreutils-8.5/src/rm.c 2010-04-20 19:52:05.032768000 +0000 -+++ coreutils-8.5-gcc2/src/rm.c 2010-09-24 14:46:12.000000000 +0000 -@@ -208,6 +208,9 @@ - struct rm_options x; - bool prompt_once = false; - int c; -+ size_t n_files; -+ char **file; -+ enum RM_status status; - - initialize_main (&argc, &argv); - set_program_name (argv[0]); -@@ -334,8 +337,8 @@ - quote ("/")); - } - -- size_t n_files = argc - optind; -- char **file = argv + optind; -+ n_files = argc - optind; -+ file = argv + optind; - - if (prompt_once && (x.recursive || 3 < n_files)) - { -@@ -348,7 +351,7 @@ - exit (EXIT_SUCCESS); - } - -- enum RM_status status = rm (file, &x); -+ status = rm (file, &x); - assert (VALID_STATUS (status)); - exit (status == RM_ERROR ? EXIT_FAILURE : EXIT_SUCCESS); - } -diff -urN coreutils-8.5/src/seq.c coreutils-8.5-gcc2/src/seq.c ---- coreutils-8.5/src/seq.c 2010-01-01 13:06:47.036175872 +0000 -+++ coreutils-8.5-gcc2/src/seq.c 2010-09-24 14:50:32.000000000 +0000 -@@ -132,6 +132,7 @@ - scan_arg (const char *arg) - { - operand ret; -+ char const *e; - - if (! xstrtold (arg, NULL, &ret.value, c_strtold)) - { -@@ -161,7 +162,7 @@ - : (decimal_point == arg /* .# -> 0.# */ - || ! ISDIGIT (decimal_point[-1]))); /* -.# -> 0.# */ - } -- char const *e = strchr (arg, 'e'); -+ e = strchr (arg, 'e'); - if (! e) - e = strchr (arg, 'E'); - if (e) -@@ -311,6 +312,7 @@ - { - if (equal_width) - { -+ size_t width; - /* increase first_width by any increased precision in step */ - size_t first_width = first.width + (prec - first.precision); - /* adjust last_width to use precision from first/step */ -@@ -319,7 +321,7 @@ - last_width--; /* don't include space for '.' */ - if (last.precision == 0 && prec) - last_width++; /* include space for '.' */ -- size_t width = MAX (first_width, last_width); -+ width = MAX (first_width, last_width); - if (width <= INT_MAX) - { - int w = width; -diff -urN coreutils-8.5/src/shred.c coreutils-8.5-gcc2/src/shred.c ---- coreutils-8.5/src/shred.c 2010-01-01 13:06:47.035651584 +0000 -+++ coreutils-8.5-gcc2/src/shred.c 2010-09-24 14:58:02.000000000 +0000 -@@ -468,7 +468,7 @@ - out. Thus, it shouldn't give up on bad blocks. This - code works because lim is always a multiple of - SECTOR_SIZE, except at the end. */ -- verify (sizeof r % SECTOR_SIZE == 0); -+ { verify (sizeof r % SECTOR_SIZE == 0); } - if (errnum == EIO && 0 <= size && (soff | SECTOR_MASK) < lim) - { - size_t soff1 = (soff | SECTOR_MASK) + 1; -diff -urN coreutils-8.5/src/sort.c coreutils-8.5-gcc2/src/sort.c ---- coreutils-8.5/src/sort.c 2010-04-21 07:06:17.044040192 +0000 -+++ coreutils-8.5-gcc2/src/sort.c 2010-09-24 15:04:51.000000000 +0000 -@@ -1794,6 +1794,7 @@ - - const unsigned char *p = number; - -+ int order; - int sign = 1; - - if (*p == '-') -@@ -1818,7 +1819,7 @@ - p += 2; - } - -- int order = orders[*p]; -+ order = orders[*p]; - - /* For valid units check for MiB vs MB etc. */ - if (order) -@@ -1835,13 +1836,16 @@ - static int - human_numcompare (const char *a, const char *b, struct keyfield *key) - { -+ int order_a; -+ int order_b; -+ - while (blanks[to_uchar (*a)]) - a++; - while (blanks[to_uchar (*b)]) - b++; - -- int order_a = find_unit_order (a, key); -- int order_b = find_unit_order (b, key); -+ order_a = find_unit_order (a, key); -+ order_b = find_unit_order (b, key); - - return (order_a > order_b ? 1 - : order_a < order_b ? -1 -@@ -2081,6 +2085,8 @@ - - for (;;) - { -+ size_t lena; -+ size_t lenb; - char const *translate = key->translate; - bool const *ignore = key->ignore; - -@@ -2089,8 +2095,8 @@ - limb = MAX (textb, limb); - - /* Find the lengths. */ -- size_t lena = lima - texta; -- size_t lenb = limb - textb; -+ lena = lima - texta; -+ lenb = limb - textb; - - /* Actually compare the fields. */ - -@@ -2879,6 +2885,9 @@ - { - /* Merge directly into the output file if possible. */ - FILE **fps; -+ FILE *tfp; -+ pid_t pid; -+ char *temp; - size_t nopened = open_input_files (files, nfiles, &fps); - - if (nopened == nfiles) -@@ -2900,9 +2909,6 @@ - file with our spare file descriptor. Retry if that failed - (e.g., some other process could open a file between the time - we closed and tried to create). */ -- FILE *tfp; -- pid_t pid; -- char *temp; - do - { - nopened--; -diff -urN coreutils-8.5/src/system.h coreutils-8.5-gcc2/src/system.h ---- coreutils-8.5/src/system.h 2010-04-20 19:52:05.040108032 +0000 -+++ coreutils-8.5-gcc2/src/system.h 2010-09-24 13:37:18.000000000 +0000 -@@ -585,6 +585,7 @@ - static inline void - emit_ancillary_info (void) - { -+ const char *lc_messages; - printf (_("\nReport %s bugs to %s\n"), last_component (program_name), - PACKAGE_BUGREPORT); - /* FIXME 2010: use AC_PACKAGE_URL once we require autoconf-2.64 */ -@@ -594,7 +595,7 @@ - stdout); - /* Don't output this redundant message for English locales. - Note we still output for 'C' so that it gets included in the man page. */ -- const char *lc_messages = setlocale (LC_MESSAGES, NULL); -+ lc_messages = setlocale (LC_MESSAGES, NULL); - if (lc_messages && strncmp (lc_messages, "en_", 3)) - { - /* TRANSLATORS: Replace LANG_CODE in this URL with your language code -diff -urN coreutils-8.5/src/tac.c coreutils-8.5-gcc2/src/tac.c ---- coreutils-8.5/src/tac.c 2010-03-13 15:14:09.040632320 +0000 -+++ coreutils-8.5-gcc2/src/tac.c 2010-09-24 15:06:41.000000000 +0000 -@@ -572,6 +572,7 @@ - were specified on the command line. */ - static char const *const default_file_list[] = {"-", NULL}; - char const *const *file; -+ void *buf; - - initialize_main (&argc, &argv); - set_program_name (argv[0]); -@@ -633,7 +634,7 @@ - if (! (read_size < half_buffer_size && half_buffer_size < G_buffer_size)) - xalloc_die (); - G_buffer = xmalloc (G_buffer_size); -- void *buf = G_buffer; -+ buf = G_buffer; - if (sentinel_length) - { - strcpy (G_buffer, separator); -diff -urN coreutils-8.5/src/wc.c coreutils-8.5-gcc2/src/wc.c ---- coreutils-8.5/src/wc.c 2010-04-20 19:52:05.035127296 +0000 -+++ coreutils-8.5-gcc2/src/wc.c 2010-09-24 15:11:46.000000000 +0000 -@@ -584,12 +584,15 @@ - main (int argc, char **argv) - { - bool ok; -+ int i; - int optc; - int nfiles; - char **files; - char *files_from = NULL; - struct fstatus *fstatus; - struct Tokens tok; -+ bool read_tokens = false; -+ struct argv_iterator *ai; - - initialize_main (&argc, &argv); - set_program_name (argv[0]); -@@ -646,11 +649,10 @@ - || print_linelength)) - print_lines = print_words = print_bytes = true; - -- bool read_tokens = false; -- struct argv_iterator *ai; - if (files_from) - { - FILE *stream; -+ struct stat st; - - /* When using --files0-from=F, you may not specify any files - on the command-line. */ -@@ -674,7 +676,6 @@ - - /* Read the file list into RAM if we can detect its size and that - size is reasonable. Otherwise, we'll read a name at a time. */ -- struct stat st; - if (fstat (fileno (stream), &st) == 0 - && S_ISREG (st.st_mode) - && st.st_size <= MIN (10 * 1024 * 1024, physmem_available () / 2)) -@@ -706,7 +707,6 @@ - fstatus = get_input_fstatus (nfiles, files); - number_width = compute_number_width (nfiles, fstatus); - -- int i; - ok = true; - for (i = 0; /* */; i++) - { diff --git a/sys-apps/diffutils/diffutils-3.3.recipe b/sys-apps/diffutils/diffutils-3.3.recipe index 241b5b983..3bf416a26 100644 --- a/sys-apps/diffutils/diffutils-3.3.recipe +++ b/sys-apps/diffutils/diffutils-3.3.recipe @@ -40,6 +40,7 @@ BUILD_PREREQUIRES=" cmd:gcc cmd:awk cmd:sed + cmd:grep " PATCHES="diffutils-3.3.patchset" diff --git a/sys-apps/findutils/findutils-4.4.2.recipe b/sys-apps/findutils/findutils-4.4.2.recipe index 0cc92166a..129b86948 100644 --- a/sys-apps/findutils/findutils-4.4.2.recipe +++ b/sys-apps/findutils/findutils-4.4.2.recipe @@ -14,7 +14,7 @@ COPYRIGHT="1994-2011 Free Software Foundation, Inc." LICENSE="GNU GPL v3" SRC_URI="http://ftp.gnu.org/gnu/findutils/findutils-4.4.2.tar.gz" CHECKSUM_SHA256="434f32d171cbc0a5e72cfc5372c6fc4cb0e681f8dce566a0de5b6fccd702b62a" -REVISION="1" +REVISION="2" ARCHITECTURES="x86_gcc2 x86 x86_64 arm" PROVIDES=" @@ -29,9 +29,10 @@ REQUIRES=" " BUILD_PREREQUIRES=" haiku_devel >= $haikuVersion - cmd:gcc - cmd:ld + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix cmd:make + cmd:sed " defineDebugInfoPackage findutils \ diff --git a/sys-apps/grep/grep-2.21.recipe b/sys-apps/grep/grep-2.21.recipe new file mode 100644 index 000000000..170d6b942 --- /dev/null +++ b/sys-apps/grep/grep-2.21.recipe @@ -0,0 +1,71 @@ +SUMMARY="GNU regular expression matcher" +DESCRIPTION=" +The grep command searches one or more input files for lines containing a match \ +to a specified pattern. By default, grep prints the matching lines. +" +HOMEPAGE="http://www.gnu.org/software/grep/" +LICENSE="GNU GPL v3" +COPYRIGHT="1992-2014 Free Software Foundation, Inc." +SRC_URI="http://ftp.gnu.org/gnu/grep/grep-2.21.tar.xz" +CHECKSUM_SHA256="5244a11c00dee8e7e5e714b9aaa053ac6cbfa27e104abee20d3c778e4bb0e5de" +REVISION="1" +ARCHITECTURES="x86_gcc2 x86 x86_64 arm" + +PATCHES="grep-2.21.patchset" + +PROVIDES=" + grep = $portVersion compat >= 2 + cmd:egrep = $portVersion compat >= 2 + cmd:fgrep = $portVersion compat >= 2 + cmd:grep = $portVersion compat >= 2 + " +REQUIRES=" + haiku >= $haikuVersion + lib:libiconv + lib:libintl + " +BUILD_REQUIRES=" + devel:libiconv + devel:libintl + " +BUILD_PREREQUIRES=" + haiku_devel >= $haikuVersion + cmd:aclocal + cmd:autoconf + cmd:automake + cmd:gcc + cmd:gettext + cmd:grep + cmd:ld + cmd:libtoolize + cmd:make + cmd:makeinfo + cmd:sed + " + +defineDebugInfoPackage grep \ + $binDir/grep + + +BUILD() +{ + libtoolize --force --copy --install + aclocal -I m4 + autoconf + runConfigure ./configure \ + --disable-perl-regexp --disable-gcc-warnings + make $jobArgs +} + +INSTALL() +{ + make install + + rm $libDir/charset.alias + rmdir $libDir +} + +TEST() +{ + make check +} diff --git a/sys-apps/grep/patches/grep-2.21.patchset b/sys-apps/grep/patches/grep-2.21.patchset new file mode 100644 index 000000000..db0115694 --- /dev/null +++ b/sys-apps/grep/patches/grep-2.21.patchset @@ -0,0 +1,471 @@ +From d2e48169bd6f0f4ff6f1bceb951061dfd98b2e62 Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Wed, 4 Jun 2014 19:20:57 +0000 +Subject: [PATCH] gcc2 patch + +[cdesai: update for v2.21] +--- + src/dfasearch.c | 21 ++++++++++++++------- + src/dosbuf.c | 10 +++++----- + src/grep.c | 37 ++++++++++++++++++++++++------------- + src/kwsearch.c | 8 +++++--- + src/kwset.c | 37 ++++++++++++++++++++++--------------- + src/searchutils.c | 3 ++- + 6 files changed, 72 insertions(+), 44 deletions(-) + +diff --git a/src/dfasearch.c b/src/dfasearch.c +index 77b4e3ecaf..076f49ca18 100644 +--- a/src/dfasearch.c ++++ b/src/dfasearch.c +@@ -95,13 +95,17 @@ kwsmusts (void) + of the matching string that it chooses. */ + for (; dm; dm = dm->next) + { ++ char *must; ++ char *mp; ++ size_t old_len; ++ size_t new_len; + if (!dm->exact) + continue; + ++kwset_exact_matches; +- size_t old_len = strlen (dm->must); +- size_t new_len = old_len + dm->begline + dm->endline; +- char *must = xmalloc (new_len); +- char *mp = must; ++ old_len = strlen (dm->must); ++ new_len = old_len + dm->begline + dm->endline; ++ must = xmalloc (new_len); ++ mp = must; + *mp = eolbyte; + mp += dm->begline; + begline |= dm->begline; +@@ -126,6 +130,7 @@ kwsmusts (void) + void + GEAcompile (char const *pattern, size_t size, reg_syntax_t syntax_bits) + { ++ char const *p; + size_t total = size; + char *motif; + +@@ -138,9 +143,10 @@ GEAcompile (char const *pattern, size_t size, reg_syntax_t syntax_bits) + "[\nallo\n]\n", where the patterns are "[", "allo" and "]", and + this should be a syntax error. The same for backref, where the + backref should be local to each pattern. */ +- char const *p = pattern; ++ p = pattern; + do + { ++ char const *err; + size_t len; + char const *sep = memchr (p, '\n', total); + if (sep) +@@ -158,7 +164,7 @@ GEAcompile (char const *pattern, size_t size, reg_syntax_t syntax_bits) + patterns = xnrealloc (patterns, pcount + 1, sizeof *patterns); + patterns[pcount] = patterns0; + +- char const *err = re_compile_pattern (p, len, ++ err = re_compile_pattern (p, len, + &(patterns[pcount].regexbuf)); + if (err) + error (EXIT_TROUBLE, 0, "%s", err); +@@ -218,6 +224,7 @@ EGexecute (char const *buf, size_t size, size_t *match_size, + size_t i; + struct dfa *superset = dfasuperset (dfa); + bool dfafast = dfaisfast (dfa); ++ size_t off; + + mb_start = buf; + buflim = buf + size; +@@ -448,7 +455,7 @@ EGexecute (char const *buf, size_t size, size_t *match_size, + success: + len = end - beg; + success_in_len:; +- size_t off = beg - buf; ++ off = beg - buf; + *match_size = len; + return off; + } +diff --git a/src/dosbuf.c b/src/dosbuf.c +index 3b4052ac4a..f9f26a7685 100644 +--- a/src/dosbuf.c ++++ b/src/dosbuf.c +@@ -95,11 +95,11 @@ guess_type (char *buf, size_t buflen) + static size_t + undossify_input (char *buf, size_t buflen) + { ++ size_t bytes_left = 0; ++ + if (! O_BINARY) + return buflen; + +- size_t bytes_left = 0; +- + if (totalcc == 0) + { + /* New file: forget everything we knew about character +@@ -186,12 +186,12 @@ undossify_input (char *buf, size_t buflen) + static off_t + dossified_pos (off_t byteno) + { +- if (! O_BINARY) +- return byteno; +- + off_t pos_lo; + off_t pos_hi; + ++ if (! O_BINARY) ++ return byteno; ++ + if (dos_file_type != DOS_TEXT || dos_report_unix_offset) + return byteno; + +diff --git a/src/grep.c b/src/grep.c +index 8dbf86ec94..52dbcf8f54 100644 +--- a/src/grep.c ++++ b/src/grep.c +@@ -463,8 +463,9 @@ static bool easy_encoding; + static void + init_easy_encoding (void) + { ++ int i; + easy_encoding = true; +- for (int i = 0; i < HIBYTE; i++) ++ for (i = 0; i < HIBYTE; i++) + easy_encoding &= mbclen_cache[i] == 1; + } + +@@ -493,20 +494,23 @@ typedef uintmax_t uword; + static char const * _GL_ATTRIBUTE_PURE + skip_easy_bytes (char const *buf) + { ++ uword uword_max; ++ uword hibyte_mask; ++ char const *p; ++ uword const *s; ++ + if (!easy_encoding) + return buf; + +- uword uword_max = -1; ++ uword_max = -1; + + /* 0x8080..., extended to be wide enough for uword. */ +- uword hibyte_mask = uword_max / UCHAR_MAX * HIBYTE; ++ hibyte_mask = uword_max / UCHAR_MAX * HIBYTE; + + /* Search a byte at a time until the pointer is aligned, then a + uword at a time until a match is found, then a byte at a time to + identify the exact byte. The uword search may go slightly past + the buffer end, but that's benign. */ +- char const *p; +- uword const *s; + for (p = buf; (uintptr_t) p % sizeof (uword) != 0; p++) + if (*p & HIBYTE) + return p; +@@ -563,6 +567,7 @@ file_textbin (char *buf, size_t size, int fd, struct stat const *st) + /* If the file has holes, it must contain a null byte somewhere. */ + if (SEEK_HOLE != SEEK_SET && eolbyte) + { ++ off_t hole_start; + off_t cur = size; + if (O_BINARY || fd == STDIN_FILENO) + { +@@ -572,7 +577,7 @@ file_textbin (char *buf, size_t size, int fd, struct stat const *st) + } + + /* Look for a hole after the current location. */ +- off_t hole_start = lseek (fd, cur, SEEK_HOLE); ++ hole_start = lseek (fd, cur, SEEK_HOLE); + if (0 <= hole_start) + { + if (lseek (fd, cur, SEEK_SET) < 0) +@@ -663,7 +668,8 @@ add_count (uintmax_t a, uintmax_t b) + static bool + all_zeros (char const *buf, size_t size) + { +- for (char const *p = buf; p < buf + size; p++) ++ char const *p; ++ for (p = buf; p < buf + size; p++) + if (*p) + return false; + return true; +@@ -1130,11 +1136,13 @@ prtext (char const *beg, char const *lim) + { + static bool used; /* Avoid printing SEP_STR_GROUP before any output. */ + char eol = eolbyte; ++ char const *p; ++ intmax_t n; + + if (!out_quiet && pending > 0) + prpending (beg); + +- char const *p = beg; ++ p = beg; + + if (!out_quiet) + { +@@ -1167,7 +1175,6 @@ prtext (char const *beg, char const *lim) + } + } + +- intmax_t n; + if (out_invert) + { + /* One or more lines are output. */ +@@ -1228,6 +1235,7 @@ grepbuf (char const *beg, char const *lim) + + for (p = beg; p < lim; p = endp) + { ++ char const *b; + size_t match_size; + size_t match_offset = execute (p, lim - p, &match_size, NULL); + if (match_offset == (size_t) -1) +@@ -1237,7 +1245,7 @@ grepbuf (char const *beg, char const *lim) + match_offset = lim - p; + match_size = 0; + } +- char const *b = p + match_offset; ++ b = p + match_offset; + endp = b + match_size; + /* Avoid matching the empty line at the end of the buffer. */ + if (!out_invert && b == lim) +@@ -2118,6 +2126,9 @@ main (int argc, char **argv) + int fread_errno; + intmax_t default_context; + FILE *fp; ++ struct stat tmp_stat; ++ char eolbytes[3]; ++ size_t match_size; + exit_failure = EXIT_TROUBLE; + initialize_main (&argc, &argv); + set_program_name (argv[0]); +@@ -2478,7 +2489,6 @@ main (int argc, char **argv) + if (show_help) + usage (EXIT_SUCCESS); + +- struct stat tmp_stat; + if (fstat (STDOUT_FILENO, &tmp_stat) == 0 && S_ISREG (tmp_stat.st_mode)) + out_stat = tmp_stat; + +@@ -2526,8 +2536,9 @@ main (int argc, char **argv) + compile (keys, keycc); + free (keys); + /* We need one byte prior and one after. */ +- char eolbytes[3] = { 0, eolbyte, 0 }; +- size_t match_size; ++ eolbytes[0] = 0; ++ eolbytes[1] = eolbyte; ++ eolbytes[2] = 0; + skip_empty_lines = ((execute (eolbytes + 1, 1, &match_size, NULL) == 0) + == out_invert); + +diff --git a/src/kwsearch.c b/src/kwsearch.c +index 1335a269cc..eddb01b520 100644 +--- a/src/kwsearch.c ++++ b/src/kwsearch.c +@@ -38,16 +38,18 @@ Fcompile (char const *pattern, size_t size) + { + size_t total = size; + mb_len_map_t *map = NULL; ++ char const *p; + char const *pat = (match_icase && MB_CUR_MAX > 1 + ? mbtoupper (pattern, &total, &map) + : pattern); + + kwsinit (&kwset); + +- char const *p = pat; ++ p = pat; + do + { + size_t len; ++ char *buf = NULL; + char const *sep = memchr (p, '\n', total); + if (sep) + { +@@ -61,7 +63,6 @@ Fcompile (char const *pattern, size_t size) + total = 0; + } + +- char *buf = NULL; + if (match_lines) + { + buf = xmalloc (len + 2); +@@ -110,6 +111,7 @@ Fexecute (char const *buf, size_t size, size_t *match_size, + char eol = eolbyte; + struct kwsmatch kwsmatch; + size_t ret_val; ++ size_t off; + mb_len_map_t *map = NULL; + + if (MB_CUR_MAX > 1) +@@ -193,7 +195,7 @@ Fexecute (char const *buf, size_t size, size_t *match_size, + --beg; + len = end - beg; + success_in_beg_and_len:; +- size_t off = beg - buf; ++ off = beg - buf; + mb_case_map_apply (map, &off, &len); + + *match_size = len; +diff --git a/src/kwset.c b/src/kwset.c +index 6d218938e7..8df7cd4fe2 100644 +--- a/src/kwset.c ++++ b/src/kwset.c +@@ -162,6 +162,7 @@ kwsincr (kwset_t kwset, char const *text, size_t len) + installing new nodes when necessary. */ + while (len--) + { ++ int depth = 1; + unsigned char uc = *--text; + unsigned char label = trans ? trans[uc] : uc; + +@@ -173,8 +174,7 @@ kwsincr (kwset_t kwset, char const *text, size_t len) + enum { L, R } dirs[DEPTH_SIZE]; + links[0] = (struct tree *) &trie->links; + dirs[0] = L; +- int depth = 1; +- ++ + while (link && label != link->label) + { + links[depth] = link; +@@ -392,10 +392,13 @@ treenext (struct tree const *tree, struct trie *next[]) + void + kwsprep (kwset_t kwset) + { ++ struct trie *curr, *last; + char const *trans = kwset->trans; + int i; + unsigned char deltabuf[NCHAR]; + unsigned char *delta = trans ? deltabuf : kwset->delta; ++ struct trie *nextbuf[NCHAR]; ++ struct trie **next; + + /* Initial values for the delta table; will be changed later. The + delta entry for a given character is the smallest depth of any +@@ -404,9 +407,10 @@ kwsprep (kwset_t kwset) + + /* Traverse the nodes of the trie in level order, simultaneously + computing the delta table, failure function, and shift function. */ +- struct trie *curr, *last; + for (curr = last = kwset->trie; curr; curr = curr->next) + { ++ struct trie *fail; ++ + /* Enqueue the immediate descendants in the level order queue. */ + enqueue (curr->links, &last); + +@@ -421,7 +425,6 @@ kwsprep (kwset_t kwset) + + /* Update the shifts at each node in the current node's chain + of fails back to the root. */ +- struct trie *fail; + for (fail = curr->fail; fail; fail = fail->fail) + { + /* If the current node has some outgoing edge that the fail +@@ -451,8 +454,7 @@ kwsprep (kwset_t kwset) + + /* Create a vector, indexed by character code, of the outgoing links + from the root node. */ +- struct trie *nextbuf[NCHAR]; +- struct trie **next = trans ? nextbuf : kwset->next; ++ next = trans ? nextbuf : kwset->next; + memset (next, 0, sizeof nextbuf); + treenext (kwset->trie->links, next); + if (trans) +@@ -463,6 +465,8 @@ kwsprep (kwset_t kwset) + of the hairy commentz-walter algorithm. */ + if (kwset->words == 1) + { ++ char gc1; ++ int gc1help = -1; + /* Looking for just one string. Extract it from the trie. */ + kwset->target = obstack_alloc (&kwset->obstack, kwset->mind); + for (i = kwset->mind - 1, curr = kwset->trie; i >= 0; --i) +@@ -484,11 +488,10 @@ kwsprep (kwset_t kwset) + } + } + +- char gc1 = tr (trans, kwset->target[kwset->mind - 1]); ++ gc1 = tr (trans, kwset->target[kwset->mind - 1]); + + /* Set GC1HELP according to whether exactly one, exactly two, or + three-or-more characters match GC1. */ +- int gc1help = -1; + if (trans) + { + char const *equiv1 = memchr (trans, gc1, NCHAR); +@@ -570,13 +573,16 @@ bm_delta2_search (char const **tpp, char const *ep, char const *sp, int len, + static char const * + memchr_kwset (char const *s, size_t n, kwset_t kwset) + { ++ int small_heuristic = 2; ++ int small; ++ size_t ntrans; ++ char const *slim; + if (kwset->gc1help < 0) + return memchr (s, kwset->gc1, n); +- int small_heuristic = 2; +- int small = (- (uintptr_t) s % sizeof (long) ++ small = (- (uintptr_t) s % sizeof (long) + + small_heuristic * sizeof (long)); +- size_t ntrans = kwset->gc1help < NCHAR && small < n ? small : n; +- char const *slim = s + ntrans; ++ ntrans = kwset->gc1help < NCHAR && small < n ? small : n; ++ slim = s + ntrans; + for (; s < slim; s++) + if (kwset->trans[U(*s)] == kwset->gc1) + return s; +@@ -593,6 +599,7 @@ bmexec_trans (kwset_t kwset, char const *text, size_t size) + int d; + int len = kwset->mind; + char const *trans = kwset->trans; ++ char gc1, gc2; + + if (len == 0) + return 0; +@@ -607,8 +614,8 @@ bmexec_trans (kwset_t kwset, char const *text, size_t size) + d1 = kwset->delta; + sp = kwset->target + len; + tp = text + len; +- char gc1 = kwset->gc1; +- char gc2 = kwset->gc2; ++ gc1 = kwset->gc1; ++ gc2 = kwset->gc2; + + /* Significance of 12: 1 (initial offset) + 10 (skip loop) + 1 (md2). */ + if (size > 12 * len) +@@ -630,12 +637,12 @@ bmexec_trans (kwset_t kwset, char const *text, size_t size) + d = d1[U(tp[-1])], tp += d; + if (d != 0) + { ++ int advance_heuristic = 16 * sizeof (long); + d = d1[U(tp[-1])], tp += d; + d = d1[U(tp[-1])], tp += d; + + /* As a heuristic, prefer memchr to seeking by + delta1 when the latter doesn't advance much. */ +- int advance_heuristic = 16 * sizeof (long); + if (advance_heuristic <= tp - tp0) + goto big_advance; + tp--; +diff --git a/src/searchutils.c b/src/searchutils.c +index 9edc7855cd..bdb006386c 100644 +--- a/src/searchutils.c ++++ b/src/searchutils.c +@@ -272,9 +272,10 @@ mb_goback (char const **mb_start, char const *cur, char const *end) + wint_t + mb_prev_wc (char const *buf, char const *cur, char const *end) + { ++ char const *p; + if (cur == buf) + return WEOF; +- char const *p = buf; ++ p = buf; + cur--; + cur -= mb_goback (&p, cur, end); + return mb_next_wc (cur, end); +-- +1.8.3.4 + diff --git a/sys-apps/sed/patches/sed-4.2.1.patchset b/sys-apps/sed/patches/sed-4.2.1.patchset index 243da1404..8055cbfc8 100644 --- a/sys-apps/sed/patches/sed-4.2.1.patchset +++ b/sys-apps/sed/patches/sed-4.2.1.patchset @@ -40,3 +40,28 @@ index af57f41..89638a0 100755 -- 1.7.10.2 +From 37775f6c688e2c19dec837edb41a6e9fbeaebc32 Mon Sep 17 00:00:00 2001 +From: Alexander von Gluck IV +Date: Wed, 3 Dec 2014 20:52:57 +0000 +Subject: [PATCH] bootstrap: add missing COPYRIGHT_YEAR + +--- + bootstrap.sh | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/bootstrap.sh b/bootstrap.sh +index 091f57c..882b9cf 100755 +--- a/bootstrap.sh ++++ b/bootstrap.sh +@@ -37,6 +37,8 @@ if test -f config.h; then :; else + #define HAVE_WCHAR_H 1 + #define HAVE_MBRTOWC 1 + ++#define COPYRIGHT_YEAR 2000 ++ + /* Toggle if you encounter errors in lib/mkstemp.c. */ + #define HAVE_UNISTD_H 1 + #define HAVE_FCNTL_H 1 +-- +1.8.3.4 + diff --git a/sys-apps/sed/sed-4.2.1.recipe b/sys-apps/sed/sed-4.2.1.recipe index 69ce16c5b..b8e8c58d7 100644 --- a/sys-apps/sed/sed-4.2.1.recipe +++ b/sys-apps/sed/sed-4.2.1.recipe @@ -29,8 +29,8 @@ BUILD_PREREQUIRES=" cmd:gcc cmd:ld cmd:make - cmd:perl - cmd:sed + cmd:awk + cmd:grep " defineDebugInfoPackage sed \ @@ -39,6 +39,11 @@ defineDebugInfoPackage sed \ BUILD() { + # First we bootstrap to generate a really boring sed + ./bootstrap.sh + export PATH="${sourceDir}/sed/:${PATH}" + echo $PATH + runConfigure ./configure \ --enable-regex-tests --without-included-regex \ --disable-rpath --with-gnu-ld @@ -47,6 +52,9 @@ BUILD() INSTALL() { + # Use our generated sed for make + export PATH="${sourceDir}/sed/:${PATH}" + make install rm $libDir/charset.alias rmdir $libDir diff --git a/sys-apps/texinfo/texinfo-4.13a.recipe b/sys-apps/texinfo/texinfo-4.13a.recipe index eabd45d6b..bed916683 100644 --- a/sys-apps/texinfo/texinfo-4.13a.recipe +++ b/sys-apps/texinfo/texinfo-4.13a.recipe @@ -35,6 +35,7 @@ BUILD_PREREQUIRES=" cmd:ld cmd:libtoolize cmd:make + cmd:grep cmd:sed " diff --git a/sys-apps/which/which-2.20.recipe b/sys-apps/which/which-2.20.recipe index 3eb419671..ec6bf8492 100644 --- a/sys-apps/which/which-2.20.recipe +++ b/sys-apps/which/which-2.20.recipe @@ -22,6 +22,8 @@ BUILD_PREREQUIRES=" haiku_devel >= $haikuVersion cmd:gcc cmd:make + cmd:sed + cmd:grep " BUILD() diff --git a/sys-devel/arm_none_eabi_gcc/arm_none_eabi_gcc-4.8.2_2014_03_20.recipe b/sys-devel/arm_none_eabi_gcc/arm_none_eabi_gcc-4.8.4.recipe similarity index 92% rename from sys-devel/arm_none_eabi_gcc/arm_none_eabi_gcc-4.8.2_2014_03_20.recipe rename to sys-devel/arm_none_eabi_gcc/arm_none_eabi_gcc-4.8.4.recipe index 34695a5f5..bee70d846 100644 --- a/sys-devel/arm_none_eabi_gcc/arm_none_eabi_gcc-4.8.2_2014_03_20.recipe +++ b/sys-devel/arm_none_eabi_gcc/arm_none_eabi_gcc-4.8.4.recipe @@ -4,11 +4,10 @@ Compiler for ARM processors. " HOMEPAGE="http://gcc.gnu.org" -srcGitRev="c20a732df8f8b6d0f32c872817f3a0498a5c4761" -SRC_URI="https://github.com/haiku/buildtools/archive/$srcGitRev.tar.gz" -CHECKSUM_SHA256="6d3b677cd8ef777bf6fb3186a15b5122e46345595a996370325c758b3d8a4ab6" +SRC_URI="svn://gcc.gnu.org/svn/gcc/branches/ARM/embedded-4_8-branch" SRC_FILENAME="$portVersionedName.tar.gz" -REVISION="2" +PATCHES="arm_none_eabi_gcc-$portVersion.patchset" +REVISION="1" LICENSE=" GNU GPL v2 GNU LGPL v2 @@ -47,6 +46,9 @@ REQUIRES=" BUILD_REQUIRES=" cmd:${targetU}_as$secondaryArchSuffix ${targetU}_newlib$secondaryArchSuffix + devel:libgmp$secondaryArchSuffix + devel:libmpfr$secondaryArchSuffix + devel:libmpc$secondaryArchSuffix " BUILD_PREREQUIRES=" haiku${secondaryArchSuffix}_devel >= $haikuVersion @@ -65,8 +67,6 @@ BUILD_PREREQUIRES=" cmd:xargs " -SOURCE_DIR="buildtools-$srcGitRev/gcc" - sourceDir=$(pwd) relativeInstallDir="develop/tools/${targetArch}" installDir="$prefix/$relativeInstallDir" @@ -97,6 +97,7 @@ BUILD() --docdir=$docDir --disable-nls --disable-libssp --with-gnu-ld \ --enable-languages=c,c++ --enable-lto --enable-frame-pointer \ --enable-multilib --disable-shared \ + --with-multilib-list=armv6-m,armv7-m,armv7e-m,armv7-r \ --with-newlib --with-sysroot=$installDir \ --with-native-system-header-dir=/include \ --with-pkgversion=$(echo $portVersion | cut -c 7-) --target=$targetArch diff --git a/sys-devel/arm_none_eabi_gcc/patches/arm_none_eabi_gcc-4.8.4.patchset b/sys-devel/arm_none_eabi_gcc/patches/arm_none_eabi_gcc-4.8.4.patchset new file mode 100644 index 000000000..11b29c31a --- /dev/null +++ b/sys-devel/arm_none_eabi_gcc/patches/arm_none_eabi_gcc-4.8.4.patchset @@ -0,0 +1,22 @@ +From e0f435a01b68a41b06602dcf4b302d7ad7f3974f Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Fri, 5 Dec 2014 18:05:55 +0100 +Subject: Hardcoded -lm. + + +diff --git a/gcc/Makefile.in b/gcc/Makefile.in +index 56b7baa..c9eedf6 100644 +--- a/gcc/Makefile.in ++++ b/gcc/Makefile.in +@@ -3969,7 +3969,7 @@ $(genprogerr:%=build/gen%$(build_exeext)): $(BUILD_ERRORS) + genprog = $(genprogerr) check checksum condmd + + # These programs need libs over and above what they get from the above list. +-build/genautomata$(build_exeext) : BUILD_LIBS += -lm ++#build/genautomata$(build_exeext) : BUILD_LIBS += -lm + + # These programs are not linked with the MD reader. + build/gengtype$(build_exeext) : build/gengtype-lex.o build/gengtype-parse.o \ +-- +1.8.3.4 + diff --git a/sys-devel/arm_none_eabi_gcc_nolibc/arm_none_eabi_gcc_nolibc-4.8.2_2014_03_20.recipe b/sys-devel/arm_none_eabi_gcc_nolibc/arm_none_eabi_gcc_nolibc-4.8.4.recipe similarity index 90% rename from sys-devel/arm_none_eabi_gcc_nolibc/arm_none_eabi_gcc_nolibc-4.8.2_2014_03_20.recipe rename to sys-devel/arm_none_eabi_gcc_nolibc/arm_none_eabi_gcc_nolibc-4.8.4.recipe index a297b698a..6d61d526e 100644 --- a/sys-devel/arm_none_eabi_gcc_nolibc/arm_none_eabi_gcc_nolibc-4.8.2_2014_03_20.recipe +++ b/sys-devel/arm_none_eabi_gcc_nolibc/arm_none_eabi_gcc_nolibc-4.8.4.recipe @@ -4,10 +4,9 @@ Compiler for ARM processors. " HOMEPAGE="http://gcc.gnu.org" -srcGitRev="c20a732df8f8b6d0f32c872817f3a0498a5c4761" -SRC_URI="https://github.com/haiku/buildtools/archive/$srcGitRev.tar.gz" -CHECKSUM_SHA256="6d3b677cd8ef777bf6fb3186a15b5122e46345595a996370325c758b3d8a4ab6" +SRC_URI="svn://gcc.gnu.org/svn/gcc/branches/ARM/embedded-4_8-branch" SRC_FILENAME="$portVersionedName.tar.gz" +PATCHES="arm_none_eabi_gcc_nolibc-$portVersion.patchset" REVISION="1" LICENSE=" GNU GPL v2 @@ -43,9 +42,15 @@ REQUIRES=" haiku$secondaryArchSuffix >= $haikuVersion cmd:${targetU}_as$secondaryArchSuffix lib:libstdc++$secondaryArchSuffix + lib:libgmp$secondaryArchSuffix + lib:libmpfr$secondaryArchSuffix + lib:libmpc$secondaryArchSuffix " BUILD_REQUIRES=" cmd:${targetU}_as$secondaryArchSuffix + devel:libgmp$secondaryArchSuffix + devel:libmpfr$secondaryArchSuffix + devel:libmpc$secondaryArchSuffix " BUILD_PREREQUIRES=" haiku${secondaryArchSuffix}_devel >= $haikuVersion @@ -64,8 +69,6 @@ BUILD_PREREQUIRES=" cmd:xargs " -SOURCE_DIR="buildtools-$srcGitRev/gcc" - sourceDir=$(pwd) relativeInstallDir="develop/tools/${targetArch}" installDir="$prefix/$relativeInstallDir" @@ -96,6 +99,7 @@ BUILD() --docdir=$docDir --disable-nls --disable-libssp --with-gnu-ld \ --enable-languages=c,c++ --enable-lto --enable-frame-pointer \ --enable-multilib --disable-shared \ + --with-multilib-list=armv6-m,armv7-m,armv7e-m,armv7-r \ --without-headers --with-newlib \ --with-sysroot=$installDir \ --with-native-system-header-dir=/include \ diff --git a/sys-devel/arm_none_eabi_gcc_nolibc/patches/arm_none_eabi_gcc_nolibc-4.8.2_2014_03_20.patchset b/sys-devel/arm_none_eabi_gcc_nolibc/patches/arm_none_eabi_gcc_nolibc-4.8.2_2014_03_20.patchset new file mode 100644 index 000000000..11b29c31a --- /dev/null +++ b/sys-devel/arm_none_eabi_gcc_nolibc/patches/arm_none_eabi_gcc_nolibc-4.8.2_2014_03_20.patchset @@ -0,0 +1,22 @@ +From e0f435a01b68a41b06602dcf4b302d7ad7f3974f Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Fri, 5 Dec 2014 18:05:55 +0100 +Subject: Hardcoded -lm. + + +diff --git a/gcc/Makefile.in b/gcc/Makefile.in +index 56b7baa..c9eedf6 100644 +--- a/gcc/Makefile.in ++++ b/gcc/Makefile.in +@@ -3969,7 +3969,7 @@ $(genprogerr:%=build/gen%$(build_exeext)): $(BUILD_ERRORS) + genprog = $(genprogerr) check checksum condmd + + # These programs need libs over and above what they get from the above list. +-build/genautomata$(build_exeext) : BUILD_LIBS += -lm ++#build/genautomata$(build_exeext) : BUILD_LIBS += -lm + + # These programs are not linked with the MD reader. + build/gengtype$(build_exeext) : build/gengtype-lex.o build/gengtype-parse.o \ +-- +1.8.3.4 + diff --git a/sys-devel/autoconf213/autoconf213-2.13.recipe b/sys-devel/autoconf213/autoconf213-2.13.recipe new file mode 100644 index 000000000..3c9e90005 --- /dev/null +++ b/sys-devel/autoconf213/autoconf213-2.13.recipe @@ -0,0 +1,57 @@ +SUMMARY="A tool for automatically configuring source code" +DESCRIPTION="GNU Autoconf is a tool for configuring source code and makefiles. Using \ +autoconf, programmers can create portable and configurable packages, because \ +the person building the package is allowed to specify various configuration \ +options." +HOMEPAGE="http://www.gnu.org/software/autoconf/" +SRC_URI="http://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz" +CHECKSUM_SHA256="f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e" +REVISION="1" + +SOURCE_DIR="autoconf-2.13" + +LICENSE="GNU GPL v2" +COPYRIGHT="1992-1998 Free Software Foundation, Inc." + +ARCHITECTURES="x86_gcc2 x86 arm" +SECONDARY_ARCHITECTURES="x86_gcc2 x86 arm" + +PROVIDES=" + autoconf_2.13$secondaryArchSuffix = $portVersion + cmd:autoconf_2.13$secondaryArchSuffix = $portVersion + cmd:autoheader_2.13$secondaryArchSuffix = $portVersion + cmd:autoreconf_2.13$secondaryArchSuffix = $portVersion + cmd:autoscan_2.13$secondaryArchSuffix = $portVersion + cmd:autoupdate_2.13$secondaryArchSuffix = $portVersion + cmd:ifnames_2.13$secondaryArchSuffix = $portVersion + " + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + " + +BUILD_REQUIRES=" + " + +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:gcc$secondaryArchSuffix + cmd:make + cmd:autoconf + " + +BUILD() +{ + autoconf + runConfigure ./configure + make $jobArgs +} + +INSTALL() +{ + make install + + for bin in $(ls $binDir); do + mv $binDir/$bin $binDir/${bin}-2.13 + done +} diff --git a/sys-devel/binutils/binutils-2.17_2013_04_21.recipe b/sys-devel/binutils/binutils-2.17_2013_04_21.recipe index 9869f3fd2..301bf5b90 100644 --- a/sys-devel/binutils/binutils-2.17_2013_04_21.recipe +++ b/sys-devel/binutils/binutils-2.17_2013_04_21.recipe @@ -41,6 +41,7 @@ BUILD_REQUIRES=" BUILD_PREREQUIRES=" haiku${secondaryArchSuffix}_devel >= $haikuVersion cmd:autoconf + cmd:find cmd:flex cmd:gcc$secondaryArchSuffix cmd:ld$secondaryArchSuffix @@ -48,6 +49,7 @@ BUILD_PREREQUIRES=" cmd:makeinfo cmd:sed cmd:tar + cmd:xargs " SOURCE_DIR="binutils-$portVersion/legacy/binutils" diff --git a/sys-devel/gcc/gcc-2.95.3_2014_10_14.recipe b/sys-devel/gcc/gcc-2.95.3_2014_10_14.recipe index c7c31b985..0d873ad8e 100644 --- a/sys-devel/gcc/gcc-2.95.3_2014_10_14.recipe +++ b/sys-devel/gcc/gcc-2.95.3_2014_10_14.recipe @@ -8,6 +8,7 @@ LICENSE=" GNU LGPL v2 " COPYRIGHT="1988-2000 Free Software Foundation, Inc." +CHECKSUM_SHA256="9eef41dcd1582b84e677f3dcb14faa2dd42707352556d05860470e2a99b7e505" srcGitRev="d86116d57a09505802ed6a38adc43ef294f7f364" SRC_URI="https://github.com/haiku/buildtools/archive/$srcGitRev.tar.gz" SRC_FILENAME="gcc-$portVersion.tar.gz" diff --git a/sys-devel/m4/m4-1.4.16.recipe b/sys-devel/m4/m4-1.4.16.recipe index d30f48c86..fc3888bd4 100644 --- a/sys-devel/m4/m4-1.4.16.recipe +++ b/sys-devel/m4/m4-1.4.16.recipe @@ -32,10 +32,13 @@ BUILD_REQUIRES=" " BUILD_PREREQUIRES=" haiku_devel >= $haikuVersion + cmd:awk cmd:gcc cmd:ld cmd:make + cmd:awk cmd:sed + cmd:grep " diff --git a/sys-devel/make/make-3.82.recipe b/sys-devel/make/make-3.82.recipe index 0d0cd17d2..d6a66d9a6 100644 --- a/sys-devel/make/make-3.82.recipe +++ b/sys-devel/make/make-3.82.recipe @@ -32,6 +32,7 @@ BUILD_PREREQUIRES=" cmd:ld cmd:libtoolize cmd:sed + cmd:grep " diff --git a/sys-libs/arm_none_eabi_newlib/arm_none_eabi_newlib-2.1.0.recipe b/sys-libs/arm_none_eabi_newlib/arm_none_eabi_newlib-2.1.0.recipe index 5d11ea2a2..ba683bc56 100644 --- a/sys-libs/arm_none_eabi_newlib/arm_none_eabi_newlib-2.1.0.recipe +++ b/sys-libs/arm_none_eabi_newlib/arm_none_eabi_newlib-2.1.0.recipe @@ -35,7 +35,7 @@ COPYRIGHT=" 2009 ARM Ltd 2008 Ed Schouten " -REVISION="1" +REVISION="2" ARCHITECTURES="" if [ $effectiveTargetArchitecture != x86_gcc2 ]; then @@ -77,7 +77,7 @@ BUILD() cd $objectsDir runConfigure $sourceDir/configure --target=arm-none-eabi \ - --prefix=$installDir + --prefix=$installDir --disable-newlib-supplied-syscalls make }