diff --git a/app-arch/cpio/cpio-2.11.recipe b/app-arch/cpio/cpio-2.11.recipe index 999e30367..afc29c228 100644 --- a/app-arch/cpio/cpio-2.11.recipe +++ b/app-arch/cpio/cpio-2.11.recipe @@ -12,31 +12,55 @@ recognizes which kind of archive it is reading and can read archives created \ on machines with a different byte-order. " HOMEPAGE="http://www.gnu.org/software/cpio/cpio.html" -SRC_URI="http://ftp.gnu.org/gnu/cpio/cpio-2.11.tar.gz" -CHECKSUM_MD5="1112bb6c45863468b5496ba128792f6c" REVISION="1" -STATUS_HAIKU="broken" -DEPEND="" +ARCHITECTURES="x86_gcc2" + +SRC_URI="http://ftp.gnu.org/gnu/cpio/cpio-2.11.tar.gz" +CHECKSUM_SHA256="601b1d774cd6e4cd39416203c91ec59dbd65dd27d79d75e1a9b89497ea643978" +PATCHES="cpio-$portVersion.patchset" + +PROVIDES=" + cpio = $portVersion + cmd:cpio +" + +REQUIRES=" + haiku >= $haikuVersion +" + +BUILD_REQUIRES=" + devel:libiconv +" + +BUILD_PREREQUIRES=" + haiku_devel >= $haikuVersion + cmd:aclocal + cmd:autoconf + cmd:awk + cmd:bison + cmd:find + cmd:gcc + cmd:make + cmd:sh + cmd:yacc +" + BUILD() { - cd cpio-2.11 -# sed -i 's/restrict//g' gnu/string.in.h - ./configure --prefix=`finddir B_COMMON_DIRECTORY` \ - infodir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/info \ - mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man \ - localedir=`finddir B_COMMON_DATA_DIRECTORY`/locale - make + aclocal + autoreconf + autoconf + runConfigure ./configure + make $jobArgs } INSTALL() { - cd cpio-2.11 make install } TEST() { - cd cpio-2.11 make check } diff --git a/app-arch/cpio/patches/cpio-2.11.patch b/app-arch/cpio/patches/cpio-2.11.patch deleted file mode 100644 index 09ec2d50d..000000000 --- a/app-arch/cpio/patches/cpio-2.11.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff -urN cpio-2.11/configure.ac cpio-2.11-haiku/configure.ac ---- cpio-2.11/configure.ac 2010-03-10 04:59:16.008126464 -0800 -+++ cpio-2.11-haiku/configure.ac 2013-03-12 15:18:23.338165760 -0700 -@@ -47,6 +47,8 @@ - AC_HEADER_STDC - AC_HEADER_DIRENT - -+AC_SEARCH_LIBS(gethostbyname, [socket, network]) -+ - AC_CHECK_FUNCS([fchmod fchown]) - # This is needed for mingw build - AC_CHECK_FUNCS([setmode getpwuid getpwnam getgrgid getgrnam pipe fork getuid geteuid]) -diff -urN cpio-2.11/src/makepath.c cpio-2.11-haiku/src/makepath.c ---- cpio-2.11/src/makepath.c 2010-02-12 02:19:23.043778048 -0800 -+++ cpio-2.11-haiku/src/makepath.c 2013-03-12 15:18:30.096993280 -0700 -@@ -56,6 +56,7 @@ - char *dirpath; /* A copy we can scribble NULs on. */ - struct stat stats; - int retval = 0; -+ char *slash; - mode_t tmpmode; - mode_t invert_permissions; - int we_are_root = getuid () == 0; -@@ -68,7 +69,7 @@ - tmpmode = MODE_RWX & ~ newdir_umask; - invert_permissions = we_are_root ? 0 : MODE_WXUSR & ~ tmpmode; - -- char *slash = dirpath; -+ slash = dirpath; - while (*slash == '/') - slash++; - while ((slash = strchr (slash, '/'))) diff --git a/app-arch/cpio/patches/cpio-2.11.patchset b/app-arch/cpio/patches/cpio-2.11.patchset new file mode 100644 index 000000000..8f6add5bf --- /dev/null +++ b/app-arch/cpio/patches/cpio-2.11.patchset @@ -0,0 +1,70 @@ +From 849e148bbad050d073c062b31f353fc66e277e23 Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Tue, 14 Oct 2014 14:38:24 +0200 +Subject: Search for gethostbyname in libnetwork. + + +diff --git a/configure.ac b/configure.ac +index b4507eb..448fa6d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -47,6 +47,8 @@ AC_CHECK_TYPE(gid_t, int) + AC_HEADER_STDC + AC_HEADER_DIRENT + ++AC_SEARCH_LIBS(gethostbyname, [socket, network]) ++ + AC_CHECK_FUNCS([fchmod fchown]) + # This is needed for mingw build + AC_CHECK_FUNCS([setmode getpwuid getpwnam getgrgid getgrnam pipe fork getuid geteuid]) +-- +1.8.3.4 + + +From d73864ea6ac27a18ef7897a036791746e2c3a883 Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Tue, 14 Oct 2014 14:38:58 +0200 +Subject: gcc2 fixes. + + +diff --git a/gnu/inttostr.c b/gnu/inttostr.c +index d4f99cc..c7636d5 100644 +--- a/gnu/inttostr.c ++++ b/gnu/inttostr.c +@@ -34,7 +34,6 @@ inttostr (inttype i, char *buf) + char *p = buf + INT_STRLEN_BOUND (inttype); + *p = 0; + +- verify (TYPE_SIGNED (inttype) == inttype_is_signed); + #if inttype_is_signed + if (i < 0) + { +diff --git a/src/filetypes.h b/src/filetypes.h +index f80faab..81f0c32 100644 +--- a/src/filetypes.h ++++ b/src/filetypes.h +@@ -81,5 +81,3 @@ + #ifndef S_ISLNK + #define lstat stat + #endif +-int lstat (); +-int stat (); +diff --git a/src/makepath.c b/src/makepath.c +index 7631772..83f9c25 100644 +--- a/src/makepath.c ++++ b/src/makepath.c +@@ -65,10 +65,10 @@ make_path (char *argpath, + + if (stat (dirpath, &stats)) + { ++ char *slash = dirpath; + tmpmode = MODE_RWX & ~ newdir_umask; + invert_permissions = we_are_root ? 0 : MODE_WXUSR & ~ tmpmode; + +- char *slash = dirpath; + while (*slash == '/') + slash++; + while ((slash = strchr (slash, '/'))) +-- +1.8.3.4 + diff --git a/app-arch/ncompress/ncompress-4.2.4.4.recipe b/app-arch/ncompress/ncompress-4.2.4.4.recipe new file mode 100644 index 000000000..7fb17a28d --- /dev/null +++ b/app-arch/ncompress/ncompress-4.2.4.4.recipe @@ -0,0 +1,53 @@ +SUMMARY="A fast, simple LZW file compressor." +DESCRIPTION="Compress is a fast, simple LZW file compressor. Compress does not \ +have the highest compression rate, but it is one of the fastest programs to \ +compress data. Compress is the defacto standard in the UNIX community for \ +compressing files." +LICENSE="Public Domain" +COPYRIGHT="Mike Frysinger + Spencer W. Thomas + Jim McKie + Steve Davies + Ken Turkowski + James A. Woods + Joe Orost + Dave Mack + Peter Jannesen" +HOMEPAGE="http://ncompress.sourceforge.net/" +ARCHITECTURES="x86_gcc2" +REVISION="1" + +SRC_URI="http://sourceforge.net/projects/ncompress/files/ncompress-4.2.4.4.tar.gz" +CHECKSUM_SHA256="b00ba28d3f332b38aa75478a15c1b789957aa6c02d6453471f452c0ec3e6517a" +PATCHES="ncompress-$portVersion.patchset" + +PROVIDES=" + ncompress = $portVersion + cmd:compress + cmd:zcat + cmd:zmore +" + +BUILD_PREREQUIRES=" + haiku_devel >= $haikuVersion + cmd:awk + cmd:cpio + cmd:find + cmd:gcc + cmd:sh +" + +BUILD() +{ + echo -e "1\n$binDir\n$manDir\n7\n-DNOFUNCDEF=1\nc\n\nq"|sh build +} + +INSTALL() +{ + echo -e "1\n$binDir\n$manDir\n7\n-DNOFUNCDEF=1\ni\n\n\nq"|sh build +} + +TEST() +{ + echo -e "1\n$binDir\n$manDir\n7\n-DNOFUNCDEF=1\nt\n\n\nq"|sh build +} diff --git a/app-arch/ncompress/patches/ncompress-4.2.4.4.patchset b/app-arch/ncompress/patches/ncompress-4.2.4.4.patchset new file mode 100644 index 000000000..f53f89552 --- /dev/null +++ b/app-arch/ncompress/patches/ncompress-4.2.4.4.patchset @@ -0,0 +1,113 @@ +From a5cc6167a1fc7195f43828613970826658fc35f8 Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Tue, 14 Oct 2014 14:42:10 +0200 +Subject: Make build script work on haiku + +* Compiler default output is not a.out +* Include dir is not /usr/include + +diff --git a/build b/build +index 647373d..d00cbf9 100755 +--- a/build ++++ b/build +@@ -275,9 +275,9 @@ do + CCOPT='-O' + LBOPT= + EXTRA= +- [ -f /usr/include/sys/dir.h ] && { SYSDIR=yes; } +- [ -f /usr/include/dirent.h ] && { DIRENT=yes; } +- [ -f /usr/include/utime.h ] && { UTIME_H=yes; } ++ [ -f `finddir B_SYSTEM_HEADERS_DIRECTORY`/posix/sys/dir.h ] && { SYSDIR=yes; } ++ [ -f `finddir B_SYSTEM_HEADERS_DIRECTORY`/posix/dirent.h ] && { DIRENT=yes; } ++ [ -f `finddir B_SYSTEM_HEADERS_DIRECTORY`/posix/utime.h ] && { UTIME_H=yes; } + [ -d /usr/local/bin ] && { BINDIR=/usr/local/bin; } + [ -d /usr/local/man ] && { BINDIR=/usr/local/man/man1; } + [ -f /usr/bin/compress ] && { BINDIR=/usr/bin; } +@@ -322,7 +322,7 @@ do + return 0; + } + ! +- ${CC} /tmp/sh$$.c && IBUFSIZ=`./a.out` ++ ${CC} -o a.out /tmp/sh$$.c && IBUFSIZ=`./a.out` + rm -f /tmp/sh$$.c a.out + OBUFSIZ=${IBUFSIZ} + echo "${IBUFSIZ}" +@@ -339,7 +339,7 @@ do + return 0; + } + ! +- ${CC} /tmp/sh$$.c && BYTEORDER=`./a.out` ++ ${CC} -o a.out /tmp/sh$$.c && BYTEORDER=`./a.out` + BYTEORDER="${BYTEORDER:-0000}" + echo ${BYTEORDER} + rm -f /tmp/sh$$.c a.out +@@ -374,7 +374,7 @@ do + return 0; + } + ! +- ${CC} /tmp/sh$$.c && NOALLIGN=`( ./a.out ) 2>/dev/null` ++ ${CC} -o a.out /tmp/sh$$.c && NOALLIGN=`( ./a.out ) 2>/dev/null` + NOALLIGN="${NOALLIGN:-yes}" + echo ${NOALLIGN} + rm -f /tmp/sh$$.c a.out core +@@ -410,7 +410,7 @@ do + exit(0); + } + ! +- cc /tmp/sh$$.c && REGISTERS=`./a.out` ++ cc -o a.out /tmp/sh$$.c && REGISTERS=`./a.out` + REGISTERS=${REGISTERS:-2}; + echo ${REGISTERS} + rm -f a.out /tmp/sh$$.c +@@ -424,7 +424,7 @@ do + return errno; + } + ! +- if cc /tmp/sh$$.c ++ if cc -o a.out /tmp/sh$$.c + then + echo "Yes" + else +@@ -443,11 +443,11 @@ do + } + ! + LSTAT=no +- ${CC} /tmp/sh$$.c >/dev/null 2>&1 && LSTAT=yes ++ ${CC} -o a.out /tmp/sh$$.c >/dev/null 2>&1 && LSTAT=yes + echo "${LSTAT}" + rm -f a.out /tmp/sh$$.c + +- echo ${n} "Test availble memory${c}" ++ echo ${n} "Test available memory${c}" + for size in 75000 130000 230000 440000 800000 + do + cat >/tmp/sh$$.c </dev/null 2>&1 || break ++ ${CC} -o a.out /tmp/sh$$.c >/dev/null 2>&1 || break + ./a.out || break + rm a.out /tmp/sh$$.c + USERMEM=${size} + echo ${n} " ${size}${c}" + done + +- rm a.out /tmp/sh$$.c ++ rm -f a.out /tmp/sh$$.c + + echo "" + +@@ -509,7 +509,7 @@ do + main() {return 0;} + ! + rm -f ./a.out +- if ${CC} /tmp/sh$$.c >/dev/null 2>&1 ++ if ${CC} -o a.out /tmp/sh$$.c >/dev/null 2>&1 + then + : + else +-- +1.8.3.4 + diff --git a/app-arch/unzip/patches/unzip-6.10c11.patchset b/app-arch/unzip/patches/unzip-6.10c11.patchset new file mode 100644 index 000000000..e5fe6ef97 --- /dev/null +++ b/app-arch/unzip/patches/unzip-6.10c11.patchset @@ -0,0 +1,83 @@ +From 9f375ee32a8c453386ee463f26604d445fe68dfc Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Tue, 14 Oct 2014 20:22:25 +0200 +Subject: Make it build on Haiku again + +* Fix installation dir for binaries and docs +* Define UNICODE_SUPPORT +* Fix source dir for docs and manpages + +diff --git a/beos/Makefile b/beos/Makefile +index 9e86a3d..7f674ac 100644 +--- a/beos/Makefile ++++ b/beos/Makefile +@@ -91,18 +91,18 @@ UNZIP_H = unzip.h unzpriv.h globals.h $(OSDEP_H) + INSTALL = install + # on some systems, manext=l and MANDIR=/usr/man/man$(manext) may be appropriate + manext = 1 +-prefix = /boot/home/config +-BINDIR = $(prefix)/bin# where to install executables +-MANDIR = $(prefix)/man/man$(manext)# where to install man pages ++prefix ?= /boot/home/config ++BINDIR ?= $(prefix)/bin# where to install executables ++MANDIR ?= $(prefix)/man/ # where to install man pages + INSTALLEDBIN = $(BINDIR)/funzip$E $(BINDIR)/zipinfo$E $(BINDIR)/unzipsfx$E \ + $(BINDIR)/unzip$E +-INSTALLEDMAN = $(MANDIR)/unzip.$(manext) $(MANDIR)/funzip.$(manext) \ +- $(MANDIR)/unzipsfx.$(manext) $(MANDIR)/zipinfo.$(manext) ++INSTALLEDMAN = $(MANDIR)/man1/unzip.$(manext) $(MANDIR)/man1/funzip.$(manext) \ ++ $(MANDIR)/man1/unzipsfx.$(manext) $(MANDIR)/man1/zipinfo.$(manext) + # + UNZIPS = unzip$E funzip$E unzipsfx$E zipinfo$E + # this is a little ugly...well, no, it's a lot ugly: +-MANS = man/unzip.1 man/unzipsfx.1 man/zipinfo.1 man/funzip.1 man/zipgrep.1 +-DOCS = unzip.txt unzipsfx.txt zipinfo.txt funzip.txt zipgrep.txt ++MANS = man/man1/unzip.1 man/man1/unzipsfx.1 man/man1/zipinfo.1 man/man1/funzip.1 man/man1/zipgrep.1 ++DOCS = docs/unzip.txt docs/unzipsfx.txt docs/zipinfo.txt docs/funzip.txt docs/zipgrep.txt + + ###################################################################### + # Things that change: +@@ -371,11 +371,11 @@ install: all + $(LN) unzip$E $(BINDIR)/zipinfo$E + $(RM) $(BINDIR)/zipgrep$E + $(INSTALL) -m 755 unix/zipgrep $(BINDIR)/zipgrep$E +- $(INSTALL) -m 644 man/unzip.1 $(MANDIR)/unzip.$(manext) +- $(INSTALL) -m 644 man/unzipsfx.1 $(MANDIR)/unzipsfx.$(manext) +- $(INSTALL) -m 644 man/zipinfo.1 $(MANDIR)/zipinfo.$(manext) +- $(INSTALL) -m 644 man/funzip.1 $(MANDIR)/funzip.$(manext) +- $(INSTALL) -m 644 man/zipgrep.1 $(MANDIR)/zipgrep.$(manext) ++ $(INSTALL) -m 644 man/man1/unzip.1 $(MANDIR)/man1/unzip.$(manext) ++ $(INSTALL) -m 644 man/man1/unzipsfx.1 $(MANDIR)/man1/unzipsfx.$(manext) ++ $(INSTALL) -m 644 man/man1/zipinfo.1 $(MANDIR)/man1/zipinfo.$(manext) ++ $(INSTALL) -m 644 man/man1/funzip.1 $(MANDIR)/man1/funzip.$(manext) ++ $(INSTALL) -m 644 man/man1/zipgrep.1 $(MANDIR)/man1/zipgrep.$(manext) + $(INSTALL) -m 644 $(DOCS) $(MANDIR) + + # alternatively, could use zip method: -cd $(BINDIR); rm -f $(UNZIPS) [etc.] +diff --git a/beos/beocfg.h b/beos/beocfg.h +index 68584ed..02744c4 100644 +--- a/beos/beocfg.h ++++ b/beos/beocfg.h +@@ -68,6 +68,7 @@ + + /* ISO/OEM (iconv) character conversion. */ + ++#define UNICODE_SUPPORT + #define ICONV_MAPPING /* part of vanilla Haiku distribution */ + + #ifdef ICONV_MAPPING +diff --git a/fileio.c b/fileio.c +index 3884ee2..0e17e54 100644 +--- a/fileio.c ++++ b/fileio.c +@@ -62,6 +62,7 @@ + #define __FILEIO_C /* identifies this source module */ + #define UNZIP_INTERNAL + #include "unzip.h" ++ + #ifdef DLL + # include "api.h" + #endif /* def DLL */ +-- +1.8.3.4 + diff --git a/app-arch/unzip/unzip-6.10c11.recipe b/app-arch/unzip/unzip-6.10c11.recipe new file mode 100644 index 000000000..c7f8c1047 --- /dev/null +++ b/app-arch/unzip/unzip-6.10c11.recipe @@ -0,0 +1,56 @@ +SUMMARY="Extraction utility for zip archives." +DESCRIPTION=" +UnZip is an extraction utility for archives compressed in \ +.zip format (zipfiles). UnZip can list or extract files from an archive \ +or test its integrity. +" +HOMEPAGE="http://www.info-zip.org/UnZip.html" +REVISION="1" +ARCHITECTURES="x86_gcc2" + +SRC_URI="http://antinode.info/ftp/info-zip/unzip610c11.zip" +CHECKSUM_SHA256="13d92580d89e7c4199ba9a883957cc3676f0235dcac6f701f8f951b015c8d4c8" +SOURCE_DIR="unzip610c11" +PATCHES="unzip-$portVersion.patchset" + +PROVIDES=" + unzip = $portVersion + cmd:funzip + cmd:unzip + cmd:unzipsfx + cmd:zipgrep + cmd:zipinfo +" + +REQUIRES=" + haiku >= $haikuVersion + lib:libiconv +" + +BUILD_REQUIRES=" + devel:libiconv +" + +BUILD_PREREQUIRES=" + haiku_devel >= $haikuVersion + cmd:gcc + cmd:make +" + +BUILD() +{ + make -f beos/Makefile \ + prefix=$prefix MANDIR=$manDir BINDIR=$binDir + +} + +INSTALL() +{ + mkdir -p $binDir + mkdir -p $manDir/man1 + make -f beos/Makefile install \ + prefix=$prefix MANDIR=$manDir BINDIR=$binDir +} + +LICENSE="Info-ZIP" +COPYRIGHT="1995-2014 Greg Roelofs" diff --git a/app-emulation/qemu/qemu-2.1.2.recipe b/app-emulation/qemu/qemu-2.1.2.recipe new file mode 100644 index 000000000..fb05939f4 --- /dev/null +++ b/app-emulation/qemu/qemu-2.1.2.recipe @@ -0,0 +1,99 @@ +SUMMARY="QEMU is a generic and open source machine emulator and virtualizer." +DESCRIPTION=" +QEMU is a generic and open source machine emulator and virtualizer. + +QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a \ +different machine (e.g. your own PC). By using dynamic translation, it \ +achieves very good performance. +" +HOMEPAGE="http://wiki.qemu.org/" +SRC_URI="git+https://github.com/mmlr/qemu-haiku.git#45ad4185c4ac1c3863c04473cdc68859ceefc5aa" +COPYRIGHT="2003-2014 Fabrice Bellard" +LICENSE="GNU GPL v2" +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" +fi +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + qemu$secondaryArchSuffix = $portVersion + cmd:qemu$secondaryArchSuffix = $portVersion + cmd:qemu_img$secondaryArchSuffix = $portVersion + cmd:qemu_io$secondaryArchSuffix = $portVersion + cmd:qemu_system_aarch64$secondaryArchSuffix = $portVersion + cmd:qemu_system_alpha$secondaryArchSuffix = $portVersion + cmd:qemu_system_arm$secondaryArchSuffix = $portVersion + cmd:qemu_system_cris$secondaryArchSuffix = $portVersion + cmd:qemu_system_i386$secondaryArchSuffix = $portVersion + cmd:qemu_system_lm32$secondaryArchSuffix = $portVersion + cmd:qemu_system_m68k$secondaryArchSuffix = $portVersion + cmd:qemu_system_microblaze$secondaryArchSuffix = $portVersion + cmd:qemu_system_microblazeel$secondaryArchSuffix = $portVersion + cmd:qemu_system_mips$secondaryArchSuffix = $portVersion + cmd:qemu_system_mips64$secondaryArchSuffix = $portVersion + cmd:qemu_system_mips64el$secondaryArchSuffix = $portVersion + cmd:qemu_system_mipsel$secondaryArchSuffix = $portVersion + cmd:qemu_system_moxie$secondaryArchSuffix = $portVersion + cmd:qemu_system_or32$secondaryArchSuffix = $portVersion + cmd:qemu_system_ppc$secondaryArchSuffix = $portVersion + cmd:qemu_system_ppc64$secondaryArchSuffix = $portVersion + cmd:qemu_system_ppcemb$secondaryArchSuffix = $portVersion + cmd:qemu_system_s390x$secondaryArchSuffix = $portVersion + cmd:qemu_system_sh4$secondaryArchSuffix = $portVersion + cmd:qemu_system_sh4eb$secondaryArchSuffix = $portVersion + cmd:qemu_system_sparc$secondaryArchSuffix = $portVersion + cmd:qemu_system_sparc64$secondaryArchSuffix = $portVersion + cmd:qemu_system_unicore32$secondaryArchSuffix = $portVersion + cmd:qemu_system_x86_64$secondaryArchSuffix = $portVersion + cmd:qemu_system_xtensa$secondaryArchSuffix = $portVersion + cmd:qemu_system_xtensaeb$secondaryArchSuffix = $portVersion + " + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libz$secondaryArchSuffix + lib:libintl$secondaryArchSuffix + lib:libstdc++$secondaryArchSuffix + lib:libglib_2.0$secondaryArchSuffix >= 0.38 + lib:libpixman_1$secondaryArchSuffix + " + +BUILD_REQUIRES=" + devel:libz$secondaryArchSuffix + devel:libfdt$secondaryArchSuffix + devel:libglib_2.0$secondaryArchSuffix >= 0.38 + devel:libpixman_1${secondaryArchSuffix} + " + +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:awk + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:find + cmd:pkg_config$secondaryArchSuffix + cmd:pod2man + cmd:python + " + +BUILD() +{ + runConfigure --omit-buildspec ./configure + make $jobArgs +} + +INSTALL() +{ + make install + + # provide convenience symlink to just "qemu" + ln -s qemu-system-i386 $binDir/qemu + + # Remove empty config file. + rm $settingsDir/target-x86_64.conf +} diff --git a/app-shells/zsh/zsh-5.0.2.recipe b/app-shells/zsh/zsh-5.0.2.recipe index bbf1e8775..79bf1f231 100644 --- a/app-shells/zsh/zsh-5.0.2.recipe +++ b/app-shells/zsh/zsh-5.0.2.recipe @@ -20,11 +20,11 @@ PROVIDES=" REQUIRES=" haiku >= $haikuVersion lib:libncurses - lib:libpcre >= 1 + lib:libpcre " BUILD_REQUIRES=" devel:libncurses - devel:libpcre >= 1 + devel:libpcre " BUILD_PREREQUIRES=" haiku_devel >= $haikuVersion @@ -45,3 +45,8 @@ INSTALL() { make install } + +TEST() +{ + make check +} diff --git a/dev-libs/expat/expat-2.1.0.recipe b/dev-libs/expat/expat-2.1.0.recipe index 7d9aa0431..b0bb7ea70 100644 --- a/dev-libs/expat/expat-2.1.0.recipe +++ b/dev-libs/expat/expat-2.1.0.recipe @@ -75,6 +75,11 @@ INSTALL() $developDir } +TEST() +{ + make check +} + # ----- devel package ------------------------------------------------------- PROVIDES_devel=" diff --git a/dev-libs/libedit/libedit-2012_06_01_3.0.recipe b/dev-libs/libedit/libedit-2012_06_01_3.0.recipe index 7663a3d7a..72d5159dc 100644 --- a/dev-libs/libedit/libedit-2012_06_01_3.0.recipe +++ b/dev-libs/libedit/libedit-2012_06_01_3.0.recipe @@ -60,6 +60,11 @@ INSTALL() $manDir/man3 } +TEST() +{ + make check +} + # ----- devel package ------------------------------------------------------- diff --git a/dev-libs/udis86/patches/udis86-1.7.2.patchset b/dev-libs/udis86/patches/udis86-1.7.2.patchset new file mode 100644 index 000000000..cf8b7e337 --- /dev/null +++ b/dev-libs/udis86/patches/udis86-1.7.2.patchset @@ -0,0 +1,22 @@ +From b3af1e9b34f23736eeeeb5d6a218851da513dba1 Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Mon, 13 Oct 2014 18:59:39 +0200 +Subject: Fix gcc2 compatibility. + + +diff --git a/libudis86/types.h b/libudis86/types.h +index 8b012a9..9f60041 100644 +--- a/libudis86/types.h ++++ b/libudis86/types.h +@@ -47,7 +47,7 @@ + #endif /* !__UD_STANDALONE__ */ + + /* gcc specific extensions */ +-#ifdef __GNUC__ ++#if defined(__GNUC__) && __GNUC__ > 2 + # define UD_ATTR_PACKED __attribute__((packed)) + #else + # define UD_ATTR_PACKED +-- +1.8.3.4 + diff --git a/dev-libs/udis86/udis86-1.7.2.recipe b/dev-libs/udis86/udis86-1.7.2.recipe new file mode 100644 index 000000000..9a9109c7d --- /dev/null +++ b/dev-libs/udis86/udis86-1.7.2.recipe @@ -0,0 +1,56 @@ +SUMMARY="Disassembler Library for x86 and x86-64" +DESCRIPTION="Udis86 is an easy-to-use, minimalistic disassembler library \ +(libudis86) for the x86 class of instruction set architectures. It has a \ +convenient interface for use in the analysis and instrumentation of binary code. +" +HOMEPAGE="http://udis86.sourceforge.net/" +LICENSE="BSD (2-clause)" +COPYRIGHT="2002-2012, Vivek Thampi" +REVISION="1" +ARCHITECTURES="x86_gcc2" + +SRC_URI="https://github.com/vmt/udis86/archive/v1.7.2.tar.gz" +CHECKSUM_SHA256="43567f7e12168943c5b5ffb3d3f5b7a33cb36328f8938a993458f3ded0ba5779" +PATCHES="udis86-$portVersion.patchset" + +PROVIDES=" + udis86 = $portVersion + cmd:udcli + devel:libudis86 +" + +REQUIRES=" + haiku >= $haikuVersion +" + +BUILD_PREREQUIRES=" + haiku_devel >= $haikuVersion + cmd:aclocal + cmd:autoconf + cmd:gcc + cmd:libtoolize + cmd:make + cmd:python + cmd:sh + cmd:yasm +" + +BUILD() +{ + libtoolize --force --copy --install + sh autogen.sh + runConfigure ./configure + make $jobArgs +} + +INSTALL() +{ + make install + + prepareInstalledDevelLib libudis86 +} + +TEST() +{ + make check +} diff --git a/games-arcade/circuslinux/circuslinux-1.0.3.recipe b/games-arcade/circuslinux/circuslinux-1.0.3.recipe new file mode 100644 index 000000000..75ac37ce5 --- /dev/null +++ b/games-arcade/circuslinux/circuslinux-1.0.3.recipe @@ -0,0 +1,54 @@ +SUMMARY="Circus Linux! is a clone of the Atari 2600 game Circus Atari" +DESCRIPTION="The object is to move a teeter-totter back and forth across \ +the screen to bounce clowns up into the air. When they reach the top, they \ +pop rows of balloons and then fall back down." +HOMEPAGE="http://www.newbreedsoftware.com/circus-linux/" +SRC_URI="ftp://ftp.tuxpaint.org/unix/x/circus-linux/src/circuslinux-$portVersion.tar.gz" +REVISION="1" +CHECKSUM_SHA256="bf9550ebd598a9e7d93a20d80ff466475122f8b023314bb1e07c31e8c608ce8a" +LICENSE="GNU GPL v2" +COPYRIGHT="2000 Bill Kendrik, Jarkko Rotsten" + +ARCHITECTURES="x86 ?x86_gcc2 ?x86_64" + +PATCHES="circuslinux-$portVersion.patch" + +PROVIDES=" + circuslinux = $portVersion + app:circuslinux = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion + lib:libsdl + lib:libSDL_image + lib:libSDL_mixer + " + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + devel:libsdl + devel:libSDL_image + devel:libSDL_mixer + " + +BUILD_PREREQUIRES=" + cmd:gcc + cmd:libtoolize + cmd:make + " + +BUILD() +{ + libtoolize -fci + ./configure --prefix=$appsDir/CircusLinux + make $jobArgs +} + +INSTALL() +{ + mkdir -p $appsDir/CircusLinux + make install + ln -s $appsDir/CircusLinux/bin/circuslinux $appsDir/CircusLinux/CircusLinux + addAppDeskbarSymlink $appsDir/CircusLinux/bin/circuslinux CircusLinux +} diff --git a/games-arcade/circuslinux/patches/circuslinux-1.0.3.patch b/games-arcade/circuslinux/patches/circuslinux-1.0.3.patch new file mode 100644 index 000000000..1705c0cb8 --- /dev/null +++ b/games-arcade/circuslinux/patches/circuslinux-1.0.3.patch @@ -0,0 +1,11 @@ +--- circuslinux-1.0.3/Makefile.in_org 2014-10-13 21:55:14.330563584 +0200 ++++ circuslinux-1.0.3/Makefile.in 2014-10-13 21:47:12.418906112 +0200 +@@ -85,7 +85,7 @@ + JOY = @JOY@ + TARGET_DEF = @TARGET_DEF@ + +-CFLAGS = @CFLAGS@ -Wall -O2 -DDATA_PREFIX=\"$(DATA_PREFIX)\" -D$(TARGET_DEF) -DJOY_$(JOY) ++CFLAGS = @CFLAGS@ -Wall -O2 -DDATA_PREFIX=\"$(DATA_PREFIX)\" + + LIBS = @LIBS@ + diff --git a/haiku-apps/friss/friss-0.8beta.recipe b/haiku-apps/friss/friss-0.8.0.recipe similarity index 67% rename from haiku-apps/friss/friss-0.8beta.recipe rename to haiku-apps/friss/friss-0.8.0.recipe index 912d38b00..ddaa58b22 100644 --- a/haiku-apps/friss/friss-0.8beta.recipe +++ b/haiku-apps/friss/friss-0.8.0.recipe @@ -2,8 +2,9 @@ SUMMARY="RSS and ATOM feeds reader" DESCRIPTION=" FRiSS is a viewer for atom/rss/rdf feeds that can be run as a replicant. " -HOMEPAGE="http://pulkomandy.tk/projects/friss" -SRC_URI="svn://pulkomandy.tk/friss/src#44" +HOMEPAGE="http://github.com/pulkomandy/fRiSS" +SRC_URI="https://github.com/pulkomandy/fRiSS/archive/v$portVersion.tar.gz" +SOURCE_DIR="fRiSS-$portVersion" REVISION="1" ARCHITECTURES="x86_gcc2 x86" PROVIDES=" @@ -21,16 +22,18 @@ BUILD() if [ x86_gcc2 -ne $buildArchitecture ]; then sed -i 's/lstdc++.r4/lstdc++/' Jamfile fi + cd src jam } INSTALL() { mkdir -p $appsDir/fRiSS - cp -a friss $appsDir/fRiSS/ + cp -a src/friss $appsDir/fRiSS/ + cp -a bin/* $appsDir/fRiSS addAppDeskbarSymlink $appsDir/fRiSS/friss fRiSS } LICENSE="MIT" COPYRIGHT="2004 Andreas Herzig (N3S) - 2010-2013 Adrien Destugues (PulkoMandy)" + 2010-2014 Adrien Destugues (PulkoMandy)" diff --git a/sys-apps/dtc/dtc-1.4.0.recipe b/sys-apps/dtc/dtc-1.4.0.recipe index 5ce728515..86834097a 100644 --- a/sys-apps/dtc/dtc-1.4.0.recipe +++ b/sys-apps/dtc/dtc-1.4.0.recipe @@ -2,8 +2,8 @@ SUMMARY="The Device Tree Compiler" DESCRIPTION=" The Device Tree Compiler " -HOMEPAGE="http://git.jdl.com/gitweb/?p=dtc.git;a=summary" -SRC_URI="git://git.jdl.com/software/dtc.git#v1.4.0" +HOMEPAGE="https://git.kernel.org/cgit/utils/dtc/dtc.git" +SRC_URI="git://git.kernel.org/pub/scm/utils/dtc/dtc.git#v1.4.0" LICENSE="GNU GPL v2" COPYRIGHT="2005 David Gibson, IBM Corporation" REVISION="1" diff --git a/sys-devel/bc/bc-1.06.recipe b/sys-devel/bc/bc-1.06.recipe index b6dfbdef9..f2a5fb1bb 100644 --- a/sys-devel/bc/bc-1.06.recipe +++ b/sys-devel/bc/bc-1.06.recipe @@ -22,6 +22,7 @@ PROVIDES=" REQUIRES=" haiku >= $haikuVersion + lib:libfl >= 2 " BUILD_REQUIRES=" @@ -52,5 +53,7 @@ INSTALL() TEST() { - timetest + make check + cd Test + ./timetest } diff --git a/sys-devel/bc/patches/bc-1.06.patch b/sys-devel/bc/patches/bc-1.06.patch deleted file mode 100644 index aa3420d14..000000000 --- a/sys-devel/bc/patches/bc-1.06.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -urN bc-1.06/Test/timetest bc-1.06-haiku/Test/timetest ---- bc-1.06/Test/timetest 2000-07-07 23:34:10.023592960 +0000 -+++ bc-1.06-haiku/Test/timetest 2010-12-13 09:35:03.000000000 +0000 -@@ -2,7 +2,7 @@ - # - # Time the functions. - # --SYSBC=/usr/bin/bc -+SYSBC=/boot/common/bin/bc - if [ x$BC = x ] ; then - BC=../bc/bc - fi diff --git a/sys-devel/bc/patches/bc-1.06.patchset b/sys-devel/bc/patches/bc-1.06.patchset new file mode 100644 index 000000000..d924647f3 --- /dev/null +++ b/sys-devel/bc/patches/bc-1.06.patchset @@ -0,0 +1,46 @@ +From 0c328c9104371b5e135c130ee87c410830f5689b Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Tue, 14 Oct 2014 14:54:27 +0200 +Subject: applying patch bc-1.06.patch + + +diff --git a/Test/timetest b/Test/timetest +index 1a4d0ea..46896fc 100755 +--- a/Test/timetest ++++ b/Test/timetest +@@ -2,7 +2,7 @@ + # + # Time the functions. + # +-SYSBC=/usr/bin/bc ++SYSBC=/boot/common/bin/bc + if [ x$BC = x ] ; then + BC=../bc/bc + fi +-- +1.8.3.4 + + +From 3de7ccc77eff91b40e0a5b2332ad63c898e288a0 Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Tue, 14 Oct 2014 14:59:13 +0200 +Subject: Fix some paths in timetest. + +/boot/common is gone. + +diff --git a/Test/timetest b/Test/timetest +index 46896fc..0b1ea8e 100755 +--- a/Test/timetest ++++ b/Test/timetest +@@ -2,7 +2,7 @@ + # + # Time the functions. + # +-SYSBC=/boot/common/bin/bc ++SYSBC=/bin/bc + if [ x$BC = x ] ; then + BC=../bc/bc + fi +-- +1.8.3.4 + 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 new file mode 100644 index 000000000..48c237f39 --- /dev/null +++ b/sys-devel/gcc/gcc-2.95.3_2014_10_14.recipe @@ -0,0 +1,194 @@ +SUMMARY="C/C++ compiler" +DESCRIPTION=" +Standard compiler for x86_gcc2 platform, ABI-compatible with BeOS R5. +" +HOMEPAGE="http://gcc.gnu.org" +LICENSE=" + GNU GPL v2 + GNU LGPL v2 + " +COPYRIGHT="1988-2000 Free Software Foundation, Inc." +srcGitRev="4319c0ca135067023f5c209280715355b2391842" +SRC_URI="https://github.com/haiku/buildtools/archive/$srcGitRev.tar.gz" +CHECKSUM_SHA256="dd2ab0d1dce85012d61946810541b43c82f247cc1eb04a76d1578b31f98a334d" +REVISION="1" +ARCHITECTURES="x86_gcc2" +if [ $effectiveTargetArchitecture = x86_gcc2 -a $targetArchitecture = x86 ] +then + ARCHITECTURES="$ARCHITECTURES x86" +fi +SECONDARY_ARCHITECTURES="x86_gcc2" + +PROVIDES=" + gcc$secondaryArchSuffix = $portVersion compat >= 2.95.3 + cmd:cc$secondaryArchSuffix + cmd:c++$secondaryArchSuffix = $portVersion compat >= 2.95.3 + cmd:c++filt$secondaryArchSuffix = $portVersion compat >= 2.95.3 + cmd:cpp$secondaryArchSuffix = $portVersion compat >= 2.95.3 + cmd:g++$secondaryArchSuffix = $portVersion compat >= 2.95.3 + cmd:gcc$secondaryArchSuffix = $portVersion compat >= 2.95.3 + cmd:gcov$secondaryArchSuffix = 1.5 compat >= 1.5 + cmd:i586_pc_haiku_gcc$secondaryArchSuffix = $portVersion compat >= 2.95.3 + cmd:protoize$secondaryArchSuffix = $portVersion compat >= 2.95.3 + cmd:unprotoize$secondaryArchSuffix = $portVersion compat >= 2.95.3 + " + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + binutils$secondaryArchSuffix + " +BUILD_REQUIRES=" + " +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:autoconf + gcc$secondaryArchSuffix + cmd:find + cmd:flex + cmd:make + cmd:sed + cmd:tar + cmd:makeinfo + " + +SOURCE_DIR="buildtools-$srcGitRev/legacy/gcc" +BUILD_PACKAGE_ACTIVATION_PHASE=INSTALL + +gccDir=$(pwd) +relativeGccInstallDir="develop/tools$secondaryArchSubDir" +gccInstallDir="$prefix/$relativeGccInstallDir" +gccObjectsDir=$gccDir/../gcc-obj + +BUILD() +{ + rm -rf $gccObjectsDir + + # Touch some files generated by bison, so that bison won't run to update + # them. Fixes issues with newer bison versions. + # And while at it, touch gperf target, too (as gperf may not be installed). + (cd gcc; touch c-parse.c c-parse.h cexp.c cp/parse.c \ + cp/parse.h c-gperf.h) + + mkdir -p $gccObjectsDir + cd $gccObjectsDir + + local additionalConfigureFlags + if [ -n "$secondaryArchSuffix" ]; then + additionalConfigureFlags="\ + --with-hybrid-secondary=${effectiveTargetArchitecture}" + fi + + CFLAGS="-O2" CXXFLAGS="-O2" "$gccDir/configure" \ + --prefix=$gccInstallDir \ + --disable-nls --enable-shared --enable-languages=c,c++ \ + $additionalConfigureFlags + make bootstrap +} + +INSTALL() +{ + cd $gccObjectsDir + make install + + rm $gccInstallDir/lib/libiberty.a + # only needed for building gcc + + ### HTML documentation #################################### + + local html_base=$docDir + if [ ! -d "$html_base" ]; then + echo "Building HTML documentation..." + mkdir -p $html_base + cd $html_base + + makeinfo --html "$gccDir/gcc/cpp.texi" + makeinfo --html "$gccDir/gcc/gcc.texi" + makeinfo --force --html "$gccDir/libio/iostream.texi" \ + && true + # some errors + + ln -sf cpp/index.html $html_base/cpp.html + ln -sf gcc/index.html $html_base/gcc.html + ln -sf iostream/index.html $html_base/iostream.html + fi + + ### Symlinks ############################################## + + echo "Creating required symlinks" + + # convert to absolute links to relative ones + cd $gccInstallDir/bin + ln -sfn g++ c++ + ln -sfn gcc cc + ln -sfn gcc $effectiveTargetMachineTriple-gcc + + # make all tools available via default paths + echo "Symlinking binaries into default path" + mkdir -p $binDir + symlinkRelative -s $gccInstallDir/bin/* $binDir + + ### Libraries ############################################# + + echo "Moving libraries around" + + # Move/copy libraries such that copies of static libraries (libgcc.a) + # exist in $developLibDir. These are put into a separate package + # (gcc_syslibs_devel), which is used by Haiku's build system. + mkdir -p $libDir + mkdir -p $developLibDir + cd $gccInstallDir + gccLibDir=lib/gcc-lib/$effectiveTargetMachineTriple/2.95.3-* + + # libgcc + cp $gccLibDir/libgcc.a $developLibDir/ + + ### Strip ################################################# + + echo "Strip debug info" + + cd $gccInstallDir + strip --strip-debug bin/* + strip --strip-debug $gccLibDir/* &>/dev/null || true + + ### Cleanup ############################################### + + echo "Cleanup" + + cd $gccInstallDir + rm -rf info + rm -rf share + rm man/man1/cccp.1 + + ### C++ includes ########################################## + + echo "Install C++ includes & library" + + rm -rf $gccInstallDir/include/g++ + ln -snf /boot/system/develop/headers/c++/2.95.3 $gccInstallDir/include/g++ + + ln -snf /boot/system/lib$secondaryArchSubDir/libstdc++.r4.so $gccInstallDir/lib/ + + ### Sub Packages ########################################## + + packageEntries "syslibs_devel" \ + $relativeDevelopLibDir/libgcc.a + + rm -rf $libDir + rm -rf $developLibDir +} + +# ----- syslibs_devel package ----------------------------------------------- + +SUMMARY_syslibs_devel="\ +GCC c/c++-runtime static libraries, needed to build Haiku" +DESCRIPTION_syslibs_devel="\ +This package is not of general interest - it contains the set of gcc's c/c++-\ +runtime libraries that is required by Haiku's build system when building \ +Haiku." + +PROVIDES_syslibs_devel=" + gcc_syslibs_devel$secondaryArchSuffix = $portVersion compat >= 2.95.3 + devel:libgcc + " + +REQUIRES_syslibs_devel="" diff --git a/sys-devel/gettext/gettext-0.19.2.recipe b/sys-devel/gettext/gettext-0.19.2.recipe index 041411831..263386242 100644 --- a/sys-devel/gettext/gettext-0.19.2.recipe +++ b/sys-devel/gettext/gettext-0.19.2.recipe @@ -106,7 +106,6 @@ INSTALL() TEST() { - cd gettext-runtime/tests make check } diff --git a/sys-devel/patch/patch-2.7.1.recipe b/sys-devel/patch/patch-2.7.1.recipe index fc806e52f..eebe7efb6 100644 --- a/sys-devel/patch/patch-2.7.1.recipe +++ b/sys-devel/patch/patch-2.7.1.recipe @@ -23,8 +23,10 @@ REQUIRES=" BUILD_PREREQUIRES=" haiku_devel >= $haikuVersion + cmd:awk cmd:make cmd:gcc + cmd:git " @@ -39,3 +41,8 @@ INSTALL() make install rm $libDir/charset.alias } + +TEST() +{ + make check +} diff --git a/sys-libs/mesa/mesa-7.9.2.recipe b/sys-libs/mesa/mesa-7.9.2.recipe index 113d0ebc3..13a562c6f 100644 --- a/sys-libs/mesa/mesa-7.9.2.recipe +++ b/sys-libs/mesa/mesa-7.9.2.recipe @@ -8,12 +8,14 @@ applications. HOMEPAGE="http://www.mesa3d.org/" COPYRIGHT="1999-2013 Brian Paul All Rights Reserved." LICENSE="MIT" -# remember to update SOURCE_DIR as well for the -X revision -SRC_URI="https://github.com/haiku/mesa_legacy/archive/7.9.2-8.tar.gz" -SRC_FILENAME="mesa_legacy-7.9.2-8.tar.gz" -CHECKSUM_SHA256="dd32a4dab8228d93ce3366812560460506f45db727a23012dd522cb7c95a5ca5" -REVISION="8" -ARCHITECTURES="?x86_gcc2" + +SRC_URI="https://github.com/haiku/mesa_legacy/archive/7.9.2-9.tar.gz" +SOURCE_DIR="mesa_legacy-7.9.2-9" +SRC_FILENAME="mesa_legacy-7.9.2-9.tar.gz" +CHECKSUM_SHA256="445c4081c761851343ae732b5f233f269f6751ff422aa0299aae009fe049c273" + +REVISION="9" +ARCHITECTURES="x86_gcc2" if [ $effectiveTargetArchitecture != x86 ]; then # x86_gcc2 is fine as primary target architecture as long as we're building # for a different secondary architecture. @@ -45,8 +47,6 @@ BUILD_PREREQUIRES=" cmd:sed " -SOURCE_DIR="mesa_legacy-7.9.2-8" - BUILD() { if [ -n "$secondaryArchSuffix" ]; then