From ffd2717241ed86955ddd892cf43ff744d708c89c Mon Sep 17 00:00:00 2001 From: Sergei Reznikov Date: Tue, 24 Jun 2014 14:49:56 +0400 Subject: [PATCH 01/49] samba: update to 3.6.24 --- net-fs/samba/samba-3.6.24.recipe | 149 +++++++++++++++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 net-fs/samba/samba-3.6.24.recipe diff --git a/net-fs/samba/samba-3.6.24.recipe b/net-fs/samba/samba-3.6.24.recipe new file mode 100644 index 000000000..caa874f5b --- /dev/null +++ b/net-fs/samba/samba-3.6.24.recipe @@ -0,0 +1,149 @@ +SUMMARY="Library bits of the samba network filesystem" +DESCRIPTION=" +Samba is an Open Source/Free Software suite that provides seamless file and \ +print services to SMB/CIFS clients. Samba is freely available, unlike other \ +SMB/CIFS implementations, and allows for interoperability between Linux/Unix \ +servers and Windows-based clients. Samba is software that can be run on a \ +platform other than Microsoft Windows, for example, UNIX, Linux, IBM System \ +390, OpenVMS, and other operating systems. Samba uses the TCP/IP protocol that \ +is installed on the host server. When correctly configured, it allows that \ +host to interact with a Microsoft Windows client or server as if it is a \ +Windows file and print server." +HOMEPAGE="http://www.samba.org/" +COPYRIGHT="1992-2014 Anrew Tridgell and the Samba Team" +LICENSE="GNU GPL v3" + +SRC_URI="http://ftp.samba.org/pub/samba/samba-3.6.24.tar.gz" + +CHECKSUM_SHA256="11d0bd04b734731970259efc6692b8e749ff671a9b56d8cc5fa98c192ab234a7" + +REVISION="1" +ARCHITECTURES="x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="x86_gcc2 x86" +DISABLE_SOURCE_PACKAGE=yes + +PATCHES="samba-3.6.23.patchset" + +GLOBAL_WRITABLE_FILES=" + settings/samba directory keep-old + " + +PROVIDES=" + smbclient$secondaryArchSuffix = $portVersion + cmd:eventlogadm$secondaryArchSuffix = $portVersion + cmd:findsmb$secondaryArchSuffix = $portVersion + cmd:net$secondaryArchSuffix = $portVersion + cmd:nmbd$secondaryArchSuffix = $portVersion + cmd:nmblookup$secondaryArchSuffix = $portVersion + cmd:ntlm_auth$secondaryArchSuffix = $portVersion + cmd:pdbedit$secondaryArchSuffix = $portVersion + cmd:profiles$secondaryArchSuffix = $portVersion + cmd:rpcclient$secondaryArchSuffix = $portVersion + cmd:sharesec$secondaryArchSuffix = $portVersion + cmd:smbcacls$secondaryArchSuffix = $portVersion + cmd:smbclient$secondaryArchSuffix = $portVersion + cmd:smbcontrol$secondaryArchSuffix = $portVersion + cmd:smbcquotas$secondaryArchSuffix = $portVersion + cmd:smbd$secondaryArchSuffix = $portVersion + cmd:smbget$secondaryArchSuffix = $portVersion + cmd:smbpasswd$secondaryArchSuffix = $portVersion + cmd:smbspool$secondaryArchSuffix = $portVersion + cmd:smbstatus$secondaryArchSuffix = $portVersion + cmd:smbta_util$secondaryArchSuffix = $portVersion + cmd:smbtar$secondaryArchSuffix = $portVersion + cmd:smbtree$secondaryArchSuffix = $portVersion +# cmd:swat$secondaryArchSuffix = $portVersion + cmd:tdbbackup$secondaryArchSuffix = $portVersion + cmd:tdbdump$secondaryArchSuffix = $portVersion + cmd:tdbrestore$secondaryArchSuffix = $portVersion + cmd:testparm$secondaryArchSuffix = $portVersion + cmd:tdbtool$secondaryArchSuffix = $portVersion + lib:libnetapi$secondaryArchSuffix = $portVersion + lib:libsmbclient$secondaryArchSuffix = $portVersion + lib:libsmbsharemodes$secondaryArchSuffix = $portVersion + lib:libtalloc$secondaryArchSuffix = $portVersion + lib:libtdb$secondaryArchSuffix = $portVersion + lib:libtevent$secondaryArchSuffix = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion + lib:libiconv$secondaryArchSuffix + lib:libintl$secondaryArchSuffix + lib:libncurses$secondaryArchSuffix + lib:libreadline$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " + +BUILD_REQUIRES=" + devel:libiconv$secondaryArchSuffix + devel:libintl$secondaryArchSuffix + devel:libncurses$secondaryArchSuffix + devel:libreadline$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " + +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:autoconf + cmd:libtoolize + cmd:perl + cmd:pkg_config + cmd:python + cmd:find + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:which + " + +BUILD() +{ + cd source3 + sed -i 's/| \*qnx\*/| \*qnx\* | haiku\*/g' configure + LDFLAGS=-lnetwork runConfigure ./configure --disable-swat \ + --with-configdir=$settingsDir/samba \ + --with-privatedir=$settingsDir/samba \ + --with-localedir=$dataRootDir/locale \ + --with-logfilebase=sharedStateDir/log + sed -i 's/\modules\/CP850.o modules\/CP437.o//g' Makefile + sed -i 's/-lpthread//g' Makefile + sed -i 's/-lc//g' Makefile + make $jobArgs +} + +INSTALL() +{ + + cd source3 + make $jobArgs install + + # move headers to the correct location + mkdir -p $(dirname $includeDir) + mv $prefix/include $includeDir/ + + # copy sample config file + cp ../testdata/samba3/smb.conf $settingsDir/samba + + prepareInstalledDevelLibs libnetapi \ + libsmbclient \ + libsmbsharemodes \ + libtalloc \ + libtdb \ + libtevent + + packageEntries devel $developDir +} + +PROVIDES_devel=" + libsmbclient${secondaryArchSuffix}_devel = $portVersion + devel:libsmbclient$secondaryArchSuffix = $portVersion compat >= 0 + devel:libnetapi$secondaryArchSuffix = $portVersion compat >= 0 + devel:libsmbsharemodes$secondaryArchSuffix = $portVersion compat >= 0 + devel:libtalloc$secondaryArchSuffix = $portVersion compat >= 2 + devel:libtdb$secondaryArchSuffix = $portVersion compat >= 1 + devel:libtevent$secondaryArchSuffix = $portVersion compat >= 0 + " +REQUIRES_devel=" + libsmbclient$secondaryArchSuffix == $portVersion base + " From ae290ff4530b52c66afdc373b76a8a8f0faa9eba Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Wed, 25 Jun 2014 13:04:02 +0200 Subject: [PATCH 02/49] Fix patchname in libusb 1.0.17 for hybrid builds. --- dev-libs/libusb/libusb-1.0.17.recipe | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-libs/libusb/libusb-1.0.17.recipe b/dev-libs/libusb/libusb-1.0.17.recipe index 3e383bc34..144c62b4a 100644 --- a/dev-libs/libusb/libusb-1.0.17.recipe +++ b/dev-libs/libusb/libusb-1.0.17.recipe @@ -37,7 +37,7 @@ if [ $effectiveTargetArchitecture != x86_gcc2 ]; then fi SECONDARY_ARCHITECTURES="x86" -PATCHES="$portVersionedName.patchset" +PATCHES="libusb-$portVersion.patchset" PROVIDES=" libusb$secondaryArchSuffix = $portVersion From 053c6ee6170a2a22ddc928ca1dcb9987b8437881 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Wed, 25 Jun 2014 13:02:47 +0200 Subject: [PATCH 03/49] Add WIP recipe for libusb 1.0.18. This is akshay's work for GSoC 2014. Marked as untested until someone actually tests it... --- dev-libs/libusb/libusb-1.0.18.recipe | 84 ++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 dev-libs/libusb/libusb-1.0.18.recipe diff --git a/dev-libs/libusb/libusb-1.0.18.recipe b/dev-libs/libusb/libusb-1.0.18.recipe new file mode 100644 index 000000000..cd580cf2a --- /dev/null +++ b/dev-libs/libusb/libusb-1.0.18.recipe @@ -0,0 +1,84 @@ +SUMMARY="libusbx is a library that provides generic access to USB devices." +DESCRIPTION=" +libusbx is a library that provides generic access to USB devices. As a library, +it is meant to be used by developers, to facilitate the production of +applications that communicate with USB hardware. + +It is portable: Using a single cross-platform API, it provides access to USB +devices on Linux, OS X, Windows and OpenBSD. + +It is user-mode: No special privilege or elevation is required for the +application to communicate with a device. + +It is version-agnostic: All versions of the USB protocol, from 1.0 to 3.0 +(latest), are supported. +" +LICENSE="GNU LGPL v2.1" +COPYRIGHT=" +2001 Johannes Erdfelt +2007-2009 Daniel Drake +2010-2012 Peter Stuge +2008-2013 Nathan Hjelm +2009-2013 Pete Batard +2009-2013 Ludovic Rousseau +2010-2012 Michael Plante +2011-2013 Hans de Goede +2012-2013 Martin Pieuchot +2012-2013 Toby Gray +" +HOMEPAGE="http://libusbx.org/" +SRC_URI="git+git://github.com/akshay1994/libusb#48bc2809eb70c3a5c0d6fb7380051c056528cc08" +REVISION="1" +ARCHITECTURES="x86 x86_64 x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + libusb$secondaryArchSuffix = $portVersion + lib:libusb_1.0$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libstdc++$secondaryArchSuffix + " +BUILD_REQUIRES=" + " +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:autoconf + cmd:automake + cmd:libtool + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:sed + " + +BUILD() +{ + sh bootstrap.sh + runConfigure ./configure + make $jobArgs +} + +INSTALL() +{ + make install + + # set up the develop directory correctly + prepareInstalledDevelLibs libusb-1.0 + fixPkgconfig libusb-1.0 + + # devel package + packageEntries devel \ + $developDir +} + +# ----- devel package ------------------------------------------------------- + +PROVIDES_devel=" + libusb${secondaryArchSuffix}_devel = $portVersion + devel:libusb_1.0${secondaryArchSuffix} = $portVersion + " +REQUIRES_devel=" + libusb${secondaryArchSuffix} == $portVersion base + " From 252596917f179dde4c1b33d9b5c2775fc11d791a Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Wed, 25 Jun 2014 14:54:43 +0200 Subject: [PATCH 04/49] Netsurf buildsystem: use actual release archive. * The archive exported from cgit is generated on the fly and has unstable checksum. --- dev-util/netsurf_buildsystem/netsurf_buildsystem-1.1.recipe | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dev-util/netsurf_buildsystem/netsurf_buildsystem-1.1.recipe b/dev-util/netsurf_buildsystem/netsurf_buildsystem-1.1.recipe index cf3ccaa98..0e7ad29c8 100644 --- a/dev-util/netsurf_buildsystem/netsurf_buildsystem-1.1.recipe +++ b/dev-util/netsurf_buildsystem/netsurf_buildsystem-1.1.recipe @@ -3,8 +3,8 @@ DESCRIPTION=" NetSurf build framework for compiling some of their libraries. " HOMEPAGE="http://git.netsurf-browser.org/buildsystem.git/" -SRC_URI="http://git.netsurf-browser.org/buildsystem.git/snapshot/release/1.1.tar.gz" -CHECKSUM_SHA256="e95e40d4e4e4bea2ffb391c0df1d84f81c83b1d21af992fbda0406d4d57e7dc1" +SRC_URI="http://download.netsurf-browser.org/libs/releases/buildsystem-1.1.tar.gz" +CHECKSUM_SHA256="5c092afe653d1c6c0fadb39cc47659471e4741fdd2803127be42db4264e3ac44" REVISION="1" LICENSE="MIT" COPYRIGHT="2009 - 2013 The NetSurf Browser project" @@ -30,7 +30,7 @@ BUILD_PREREQUIRES=" cmd:make " -SOURCE_DIR="release/1.1" +SOURCE_DIR="buildsystem-1.1" PATCHES="netsurf_buildsystem-1.1.patchset" BUILD() { From 32be29a454e6d9f1d5be8958eb91202e70d81b8b Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Wed, 25 Jun 2014 15:02:18 +0200 Subject: [PATCH 05/49] Several fixes to libsvgtiny recipe * Use actual release download * Use patchset * Declare dependency on pkg-config --- media-libs/libsvgtiny/libsvgtiny-0.1.1.recipe | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/media-libs/libsvgtiny/libsvgtiny-0.1.1.recipe b/media-libs/libsvgtiny/libsvgtiny-0.1.1.recipe index dc60d7db1..11d85c6c0 100644 --- a/media-libs/libsvgtiny/libsvgtiny-0.1.1.recipe +++ b/media-libs/libsvgtiny/libsvgtiny-0.1.1.recipe @@ -5,8 +5,8 @@ list of paths and texts which can be rendered easily. The library does not do \ the actual rendering. " HOMEPAGE="http://www.netsurf-browser.org/projects/libsvgtiny" -SRC_URI="http://git.netsurf-browser.org/libsvgtiny.git/snapshot/release/0.1.1.tar.gz" -CHECKSUM_SHA256="78bb67e1e93b3458c1a6414b569e3295ddbe99274a78928b33a5deea20f11d71" +SRC_URI="http://download.netsurf-browser.org/libs/releases/libsvgtiny-0.1.1-src.tar.gz" +CHECKSUM_SHA256="0835de639ae0266c394824fa78dc210013c5eeddef222d8b6485edb7fe0ddcd6" REVISION="1" ARCHITECTURES="x86_gcc2" PROVIDES=" @@ -22,12 +22,15 @@ BUILD_PREREQUIRES=" cmd:gcc gperf cmd:make + cmd:pkg_config " -SOURCE_DIR="release/0.1.1" +PATCHES="libsvgtiny-0.1.1.patchset" + BUILD() { - make PREFIX=$prefix NSSHARED=/system/data/netsurf-buildsystem + make PREFIX=$prefix NSSHARED=/system/data/netsurf-buildsystem \ + INCLUDEDIR=$relativeIncludeDir } INSTALL() From de07d93e0f3e3ea2ac71c97a075a468f0c5f527a Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Wed, 25 Jun 2014 15:15:14 +0200 Subject: [PATCH 06/49] Fix download link and patch name in libdom. --- net-libs/libdom/libdom-0.1.0.recipe | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/net-libs/libdom/libdom-0.1.0.recipe b/net-libs/libdom/libdom-0.1.0.recipe index c2173cf5a..4970a3e31 100644 --- a/net-libs/libdom/libdom-0.1.0.recipe +++ b/net-libs/libdom/libdom-0.1.0.recipe @@ -1,8 +1,8 @@ SUMMARY="LibDOM is an implementation of the W3C DOM" DESCRIPTION="An implementation of the W3C DOM for NetSurf, written in C." HOMEPAGE="http://www.netsurf-browser.org/projects/libdom/" -SRC_URI="http://git.netsurf-browser.org/libdom.git/snapshot/release/0.1.0.tar.gz" -CHECKSUM_SHA256="1e08a713ff564533a27699f82491f48b384c1336c392d76226356f474f07dfc0" +SRC_URI="http://download.netsurf-browser.org/libs/releases/libdom-0.1.0-src.tar.gz" +CHECKSUM_SHA256="235fde8bcfcf71e325c1344acfb995d5d59e1d8ebfcb9c87c1aefd1a08c8fae6" REVISION="1" ARCHITECTURES="x86_gcc2" @@ -27,8 +27,7 @@ BUILD_PREREQUIRES=" cmd:pkg_config " -SOURCE_DIR="release/$portVersion" -PATCHES="libdom-0.1.0.recipe" +PATCHES="libdom-0.1.0.patchset" BUILD() { make PREFIX=$prefix NSSHARED=/system/data/netsurf-buildsystem From 67aea4d2ea5f13e375169a0936da2591c7dfdd03 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Wed, 25 Jun 2014 17:15:37 +0200 Subject: [PATCH 07/49] gcc4 build fix. --- dev-libs/libusb/libusb-1.0.18.recipe | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-libs/libusb/libusb-1.0.18.recipe b/dev-libs/libusb/libusb-1.0.18.recipe index cd580cf2a..527477b09 100644 --- a/dev-libs/libusb/libusb-1.0.18.recipe +++ b/dev-libs/libusb/libusb-1.0.18.recipe @@ -27,7 +27,7 @@ COPYRIGHT=" 2012-2013 Toby Gray " HOMEPAGE="http://libusbx.org/" -SRC_URI="git+git://github.com/akshay1994/libusb#48bc2809eb70c3a5c0d6fb7380051c056528cc08" +SRC_URI="git+git://github.com/akshay1994/libusb#a84beb7d5baf0e7304f39f426b876e9f09ec14a8" REVISION="1" ARCHITECTURES="x86 x86_64 x86_gcc2" SECONDARY_ARCHITECTURES="x86" From 7f5a551ede86aa62780e61f6f3ac3c1f025a66d8 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Wed, 25 Jun 2014 17:15:52 +0200 Subject: [PATCH 08/49] Add missing libstdc++ require. --- dev-embedded/libftdi/libftdi-1.0.recipe | 1 + 1 file changed, 1 insertion(+) diff --git a/dev-embedded/libftdi/libftdi-1.0.recipe b/dev-embedded/libftdi/libftdi-1.0.recipe index 957e1f92c..04d79a9c5 100644 --- a/dev-embedded/libftdi/libftdi-1.0.recipe +++ b/dev-embedded/libftdi/libftdi-1.0.recipe @@ -31,6 +31,7 @@ PROVIDES=" REQUIRES=" haiku$secondaryArchSuffix >= $haikuVersion lib:libconfuse$secondaryArchSuffix >= 2.5 + lib:libstdc++$secondaryArchSuffix libusb$secondaryArchSuffix >= 1.0 boost$secondaryArchSuffix " From 63da123089d6372cd502217011eb726ddda15473 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Wed, 25 Jun 2014 23:00:45 +0200 Subject: [PATCH 09/49] Fix gcc4 build of libusb again. --- dev-libs/libusb/libusb-1.0.18.recipe | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-libs/libusb/libusb-1.0.18.recipe b/dev-libs/libusb/libusb-1.0.18.recipe index 527477b09..28f1c20f7 100644 --- a/dev-libs/libusb/libusb-1.0.18.recipe +++ b/dev-libs/libusb/libusb-1.0.18.recipe @@ -27,7 +27,7 @@ COPYRIGHT=" 2012-2013 Toby Gray " HOMEPAGE="http://libusbx.org/" -SRC_URI="git+git://github.com/akshay1994/libusb#a84beb7d5baf0e7304f39f426b876e9f09ec14a8" +SRC_URI="git+git://github.com/akshay1994/libusb#c8f7684a853c322f048a1f57457837c32dae2fac" REVISION="1" ARCHITECTURES="x86 x86_64 x86_gcc2" SECONDARY_ARCHITECTURES="x86" From fe10730ae3b1faf2e29cc2a6fbefafdb7811adcc Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Wed, 25 Jun 2014 17:11:34 +0200 Subject: [PATCH 10/49] Add missing checksum to libcddb. --- media-libs/libcddb/libcddb-1.3.2.recipe | 1 + 1 file changed, 1 insertion(+) diff --git a/media-libs/libcddb/libcddb-1.3.2.recipe b/media-libs/libcddb/libcddb-1.3.2.recipe index 60632a98d..eec5831a1 100644 --- a/media-libs/libcddb/libcddb-1.3.2.recipe +++ b/media-libs/libcddb/libcddb-1.3.2.recipe @@ -2,6 +2,7 @@ SUMMARY="CDDB access library" DESCRIPTION="A library for accessing a CDDB server" HOMEPAGE="http://libcddb.sourceforge.net" SRC_URI="http://prdownloads.sourceforge.net/libcddb/libcddb-1.3.2.tar.bz2" +CHECKSUM_SHA256="35ce0ee1741ea38def304ddfe84a958901413aa829698357f0bee5bb8f0a223b" REVISION="1" ARCHITECTURES="x86 ?x86_gcc2 ?x86_64" From eb644e9299d552889135e6f7dc867dae726ad301 Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Wed, 25 Jun 2014 22:47:03 +0200 Subject: [PATCH 11/49] Add missing 'cmd:makeinfo' prereq. --- sys-apps/grep/grep-2.20.recipe | 1 + 1 file changed, 1 insertion(+) diff --git a/sys-apps/grep/grep-2.20.recipe b/sys-apps/grep/grep-2.20.recipe index e87c73bab..ab6fd3593 100644 --- a/sys-apps/grep/grep-2.20.recipe +++ b/sys-apps/grep/grep-2.20.recipe @@ -38,6 +38,7 @@ BUILD_PREREQUIRES=" cmd:ld cmd:libtoolize cmd:make + cmd:makeinfo " defineDebugInfoPackage grep \ From 22c10b29d25c986e03fc5647b7cab155bbbf1139 Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Wed, 25 Jun 2014 23:25:56 +0200 Subject: [PATCH 12/49] Make buildbot_slave and python_zope.interface arch-specific. * To prevent problems with the 'any' packages being shared between different architectures (while those use varying versions of python), make them arch-specific. * Additionally, move buildbot_slave from dev-python to dev-util (as it is not related to python development). --- dev-python/zope.interface/python_zope.interface-4.1.1.recipe | 4 ++-- .../buildbot_slave/buildbot_slave-0.8.8.recipe | 4 ++-- .../buildbot_slave/patches/buildbot_slave-0.8.8.patchset | 0 3 files changed, 4 insertions(+), 4 deletions(-) rename {dev-python => dev-util}/buildbot_slave/buildbot_slave-0.8.8.recipe (97%) rename {dev-python => dev-util}/buildbot_slave/patches/buildbot_slave-0.8.8.patchset (100%) diff --git a/dev-python/zope.interface/python_zope.interface-4.1.1.recipe b/dev-python/zope.interface/python_zope.interface-4.1.1.recipe index b5c078533..02ea15015 100644 --- a/dev-python/zope.interface/python_zope.interface-4.1.1.recipe +++ b/dev-python/zope.interface/python_zope.interface-4.1.1.recipe @@ -12,9 +12,9 @@ SRC_URI="https://pypi.python.org/packages/source/z/zope.interface/zope.interface CHECKSUM_SHA256="91cba7b7cd7cb82f6f4e023fe77f94dc3df4ae5287fd55def2148dc232d0c7da" LICENSE="ZPL 2.1" COPYRIGHT="2004-2014 Zope Foundation and Contributors" -REVISION="1" +REVISION="2" -ARCHITECTURES="any" +ARCHITECTURES="x86 x86_gcc2 x86_64" SOURCE_DIR="zope.interface-$portVersion" diff --git a/dev-python/buildbot_slave/buildbot_slave-0.8.8.recipe b/dev-util/buildbot_slave/buildbot_slave-0.8.8.recipe similarity index 97% rename from dev-python/buildbot_slave/buildbot_slave-0.8.8.recipe rename to dev-util/buildbot_slave/buildbot_slave-0.8.8.recipe index f217b0645..b0edaf695 100644 --- a/dev-python/buildbot_slave/buildbot_slave-0.8.8.recipe +++ b/dev-util/buildbot_slave/buildbot_slave-0.8.8.recipe @@ -31,9 +31,9 @@ CHECKSUM_SHA256="8b7532d4d34527aea41e353d1bc3c35291ec335d3224c27800d2cc0cfc9837c PATCHES="buildbot_slave-0.8.8.patchset" LICENSE="GNU GPL v2" COPYRIGHT="2005-2013 Bryan Warner and the Buildbot team members" -REVISION="1" +REVISION="2" -ARCHITECTURES="any" +ARCHITECTURES="x86 x86_gcc2 x86_64" SOURCE_DIR="buildbot-slave-$portVersion" diff --git a/dev-python/buildbot_slave/patches/buildbot_slave-0.8.8.patchset b/dev-util/buildbot_slave/patches/buildbot_slave-0.8.8.patchset similarity index 100% rename from dev-python/buildbot_slave/patches/buildbot_slave-0.8.8.patchset rename to dev-util/buildbot_slave/patches/buildbot_slave-0.8.8.patchset From 501cecbc59895194a4efe775747c2ce245471dcc Mon Sep 17 00:00:00 2001 From: Akshay Jaggi Date: Thu, 26 Jun 2014 08:32:27 +0000 Subject: [PATCH 13/49] dfu-programmer --- .../dfu_programmer-0.6.2.recipe | 71 +++++++++++++++++++ .../patches/dfu-programmer-0.6.2.patch | 28 ++++++++ 2 files changed, 99 insertions(+) create mode 100644 dev-embedded/dfu-programmer/dfu_programmer-0.6.2.recipe create mode 100644 dev-embedded/dfu-programmer/patches/dfu-programmer-0.6.2.patch diff --git a/dev-embedded/dfu-programmer/dfu_programmer-0.6.2.recipe b/dev-embedded/dfu-programmer/dfu_programmer-0.6.2.recipe new file mode 100644 index 000000000..bc086d54d --- /dev/null +++ b/dev-embedded/dfu-programmer/dfu_programmer-0.6.2.recipe @@ -0,0 +1,71 @@ +SUMMARY="A Device Firmware Update based USB programmer for Atmel chips" +DESCRIPTION=" +dfu-programmer is an implementation of the Device Firmware Upgrade class +USB driver that enables firmware upgrades for various USB enabled (with the +correct bootloader) Atmel chips. This program was created because the +Atmel "FLIP" program for flashing devices does not support flashing via USB +on Linux, and because standard DFU loaders do not work for Atmel's chips. + +Check out the Atmel website for more information. They are kind enough to +provide generally correct specifications this implementation is based on. + +The project website is http://dfu-programmer.sourceforge.net and you can +use that to check for updates. +" +HOMEPAGE="http://dfu-programmer.sourceforge.net" +LICENSE=" + GNU GPL v2 +" +COPYRIGHT=" + Weston Schmidt +" +SRC_URI="http://downloads.sourceforge.net/project/dfu-programmer/dfu-programmer/0.6.2/dfu-programmer-0.6.2.tar.gz" +SOURCE_DIR="dfu-programmer-0.6.2" +CHECKSUM_SHA256="0120966a424dd98124962055750e90cbd6c7b6b0fbf5b187bf435daa0a24af65" +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" + +PATCHES="dfu-programmer-0.6.2.patch" + +PROVIDES=" + dfu_programmer = $portVersion + cmd:dfu_programmer$secondaryArchSuffix = $portVersion +" + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libusb_1.0$secondaryArchSuffix +" + +BUILD_REQUIRES=" + devel:libusb_1.0$secondaryArchSuffix +" + +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:automake + cmd:autoconf + cmd:make + cmd:pkg_config +" + +BUILD() +{ + export PKG_CONFIG_LIBDIR=/system/develop/lib/x86/pkgconfig/ + sh ./bootstrap.sh + runConfigure ./configure + make $jobArgs +} + +INSTALL() +{ + make install +} \ No newline at end of file diff --git a/dev-embedded/dfu-programmer/patches/dfu-programmer-0.6.2.patch b/dev-embedded/dfu-programmer/patches/dfu-programmer-0.6.2.patch new file mode 100644 index 000000000..937b5f23a --- /dev/null +++ b/dev-embedded/dfu-programmer/patches/dfu-programmer-0.6.2.patch @@ -0,0 +1,28 @@ +From 60be00ed00d8b6c33e8601d3fd2b1bce48c4f197 Mon Sep 17 00:00:00 2001 +From: Akshay Jaggi +Date: Wed, 25 Jun 2014 20:37:44 +0000 +Subject: [PATCH] Patch for Build + +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 58a54f2..a5c8f8a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -5,9 +5,9 @@ AC_PREREQ(2.59) + #AC_INIT(dfu-programmer, VERSION, BUG-REPORT-ADDRESS) + AC_INIT([dfu-programmer],[0.6.2]) + AC_CONFIG_AUX_DIR(m4) +-AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) ++AM_INIT_AUTOMAKE + AC_CONFIG_SRCDIR([src/atmel.c]) +-AM_CONFIG_HEADER([src/config.h]) ++AC_CONFIG_HEADERS([src/config.h]) + + AM_MAINTAINER_MODE + +-- +1.8.3.4 + From 37d85bd528dc83a24c4a5bbc97f8cb6b23028af5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Thu, 26 Jun 2014 15:36:19 +0200 Subject: [PATCH 14/49] Add recipe for ACR, an AutoConf Replacement Used by Radare. --- dev-util/acr/acr-0.9.9_git.recipe | 52 +++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 dev-util/acr/acr-0.9.9_git.recipe diff --git a/dev-util/acr/acr-0.9.9_git.recipe b/dev-util/acr/acr-0.9.9_git.recipe new file mode 100644 index 000000000..c020e0bf0 --- /dev/null +++ b/dev-util/acr/acr-0.9.9_git.recipe @@ -0,0 +1,52 @@ +SUMMARY="An autoconf replacement" +DESCRIPTION=" +ACR is an autoconf replacement." +HOMEPAGE="https://github.com/radare/acr" +COPYRIGHT="2005-2012 pancake" +LICENSE="GNU GPL v2" +SRC_URI="git+https://github.com/radare/acr.git#e6043960ab9fc664f9e30943bd36f1b5e0904aa9" +#CHECKSUM_SHA256="" +REVISION="1" +ARCHITECTURES="x86_gcc2 x86 x86_64 arm" + +PROVIDES=" + acr = $portVersion compat >= 0.9.9 + cmd:acr = $portVersion compat >= 0.9.9 + " +REQUIRES=" + haiku >= $haikuVersion + cmd:awk + coreutils + diffutils + cmd:getopt + cmd:perl >= 5 + cmd:sed + cmd:sh + " +BUILD_REQUIRES=" + " +BUILD_PREREQUIRES=" + haiku_devel >= $haikuVersion + cmd:awk + cmd:getopt + cmd:make + cmd:sed + " + +#BUILD_PACKAGE_ACTIVATION_PHASE=INSTALL + +BUILD() +{ + runConfigure ./configure + make $jobArgs +} + +INSTALL() +{ + make install +} + +TEST() +{ + make test +} From 34cb22606296bb74c3cef51e519597c0347f9274 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Thu, 26 Jun 2014 15:45:10 +0200 Subject: [PATCH 15/49] acr: Update description --- dev-util/acr/acr-0.9.9_git.recipe | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dev-util/acr/acr-0.9.9_git.recipe b/dev-util/acr/acr-0.9.9_git.recipe index c020e0bf0..df2941011 100644 --- a/dev-util/acr/acr-0.9.9_git.recipe +++ b/dev-util/acr/acr-0.9.9_git.recipe @@ -1,6 +1,9 @@ SUMMARY="An autoconf replacement" DESCRIPTION=" -ACR is an autoconf replacement." +ACR tries to replace autoconf functionality generating a full-compatible \ +'configure' script (runtime flags). But using shell-script instead of m4. \ +This means that ACR is faster, smaller and easy to use. +" HOMEPAGE="https://github.com/radare/acr" COPYRIGHT="2005-2012 pancake" LICENSE="GNU GPL v2" From efd12b55f787d880da547f6eff2e857ae5e85742 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Fri, 27 Jun 2014 20:23:00 +0200 Subject: [PATCH 16/49] Fix missing provides in devel package. The package can't be installed with pkgman without this... --- media-libs/sdl_mixer/sdl_mixer-1.2.12.recipe | 1 + 1 file changed, 1 insertion(+) 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 427515563..ec30601c3 100644 --- a/media-libs/sdl_mixer/sdl_mixer-1.2.12.recipe +++ b/media-libs/sdl_mixer/sdl_mixer-1.2.12.recipe @@ -89,6 +89,7 @@ INSTALL() } PROVIDES_devel=" + sdl_mixer${secondaryArchSuffix}_devel = $portVersion devel:sdl_mixer$secondaryArchSuffix = 1.2.12 compat >= 1.2 devel:libSDL_mixer$secondaryArchSuffix = 1.2_0.12.0 compat >= 0 devel:libSDL_mixer_1.2$secondaryArchSuffix = 0.12.0 compat >= 0 From 7f5e120f08c13d082e140626e1afc40949e6f58c Mon Sep 17 00:00:00 2001 From: Kacper Kasper Date: Sun, 29 Jun 2014 19:17:33 +0200 Subject: [PATCH 17/49] Fixes for libqt4 * Fix policy violations introduced by my previous change (sorry) * Change library versions where needed --- dev-qt/libqt4/libqt4-4.8.6.1.recipe | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/dev-qt/libqt4/libqt4-4.8.6.1.recipe b/dev-qt/libqt4/libqt4-4.8.6.1.recipe index 6aeb3a088..11021dffa 100644 --- a/dev-qt/libqt4/libqt4-4.8.6.1.recipe +++ b/dev-qt/libqt4/libqt4-4.8.6.1.recipe @@ -10,7 +10,7 @@ SRC_FILENAME="libqt4-$portVersion.tar.gz" SOURCE_DIR="qt4-4.8.6-haiku-1" LICENSE="GNU LGPL v2.1" COPYRIGHT="2014 Digia Plc and/or its subsidiary(-ies)." -REVISION="2" +REVISION="3" CHECKSUM_SHA256="8683b000622df6348016cea132a272ebd39f70b1b0c89b9bb043f4f0a88d879d" ARCHITECTURES="x86 ?x86_64" if [ $effectiveTargetArchitecture != x86_gcc2 ]; then @@ -26,7 +26,7 @@ PROVIDES=" libqt4$secondaryArchSuffix = $portVersion compat >= 4.8 cmd:qtconfig$secondaryArchSuffix = $portVersion compat >= 4.8 cmd:qsystray$secondaryArchSuffix = $portVersion compat >= 4.8 - lib:libphonon$secondaryArchSuffix = $portVersion compat >= 4.8 + lib:libphonon$secondaryArchSuffix = 4.4.0 compat >= 4 lib:libQt3Support$secondaryArchSuffix = $portVersion compat >= 4.8 lib:libQtCLucene$secondaryArchSuffix = $portVersion compat >= 4.8 lib:libQtCore$secondaryArchSuffix = $portVersion compat >= 4.8 @@ -42,7 +42,7 @@ PROVIDES=" lib:libQtSql$secondaryArchSuffix = $portVersion compat >= 4.8 lib:libQtSvg$secondaryArchSuffix = $portVersion compat >= 4.8 lib:libQtTest$secondaryArchSuffix = $portVersion compat >= 4.8 - lib:libQtWebKit$secondaryArchSuffix = $portVersion compat >= 4.8 + lib:libQtWebKit$secondaryArchSuffix = 4.9.4 compat >= 4 lib:libQtXml$secondaryArchSuffix = $portVersion compat >= 4.8 lib:libQtXmlPatterns$secondaryArchSuffix = $portVersion compat >= 4.8 " @@ -107,7 +107,7 @@ PROVIDES_devel=" cmd:uic3$secondaryArchSuffix = $portVersion compat >= 4.8 cmd:xmlpatterns$secondaryArchSuffix = $portVersion compat >= 4.8 cmd:xmlpatternsvalidator$secondaryArchSuffix = $portVersion compat >= 4.8 - devel:libphonon$secondaryArchSuffix = $portVersion compat >= 4.8 + devel:libphonon$secondaryArchSuffix = 4.4.0 compat >= 4 devel:libQt3Support$secondaryArchSuffix = $portVersion compat >= 4.8 devel:libQtCLucene$secondaryArchSuffix = $portVersion compat >= 4.8 devel:libQtCore$secondaryArchSuffix = $portVersion compat >= 4.8 @@ -123,7 +123,7 @@ PROVIDES_devel=" devel:libQtSql$secondaryArchSuffix = $portVersion compat >= 4.8 devel:libQtSvg$secondaryArchSuffix = $portVersion compat >= 4.8 devel:libQtTest$secondaryArchSuffix = $portVersion compat >= 4.8 - devel:libQtWebKit$secondaryArchSuffix = $portVersion compat >= 4.8 + devel:libQtWebKit$secondaryArchSuffix = 4.9.4 compat >= 4 devel:libQtXml$secondaryArchSuffix = $portVersion compat >= 4.8 devel:libQtXmlPatterns$secondaryArchSuffix = $portVersion compat >= 4.8 devel:libQtUiTools$secondaryArchSuffix = $portVersion compat >= 4.8 @@ -131,6 +131,8 @@ PROVIDES_devel=" REQUIRES_devel=" libqt4$secondaryArchSuffix == $portVersion base + haiku$secondaryArchSuffix >= $haikuVersion + lib:libz$secondaryArchSuffix " BUILD() From c1b209f94633c4db0010aa94a0445967ffba4e25 Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Tue, 1 Jul 2014 00:41:09 +0200 Subject: [PATCH 18/49] Adjust SRC_URI for python-2.6.9 to not require xz_utils. * xz_utils isn't available on x86_gcc2, so we should not depend on it unless there's a good reason --- dev-lang/python/python-2.6.9.recipe | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dev-lang/python/python-2.6.9.recipe b/dev-lang/python/python-2.6.9.recipe index 1501779ad..bc590b92c 100644 --- a/dev-lang/python/python-2.6.9.recipe +++ b/dev-lang/python/python-2.6.9.recipe @@ -11,9 +11,9 @@ OSI-approved open source license. HOMEPAGE="http://www.python.org" LICENSE="Python" COPYRIGHT="1990-2012, Python Software Foundation" -SRC_URI="https://www.python.org/ftp/python/2.6.9/Python-2.6.9.tar.xz" -CHECKSUM_SHA256="cae7bb995006ea5b703d9d28446f694894c441fe4bfb95d561c0ac908cd06e41" -REVISION="1" +SRC_URI="https://www.python.org/ftp/python/2.6.9/Python-2.6.9.tgz" +CHECKSUM_SHA256="7277b1285d8a82f374ef6ebaac85b003266f7939b3f2a24a3af52f9523ac94db" +REVISION="2" ARCHITECTURES="x86_gcc2 x86 x86_64" PATCHES="python-2.6.9.patchset" From 4808bd4bcac31283e5a74b9386e4191397e0bf45 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Mon, 30 Jun 2014 19:24:58 -0400 Subject: [PATCH 19/49] Delete old "setuptools" (Python) recipes, create new recipe (that actually works). That hack is pretty nasty, I know. But I couldn't find a better solution that worked, so it'll have to stay. Confirmed this works by writing a GYP recipe that uses it, that is coming in the next commit. --- .../python_setuptools-5.3.recipe | 52 ++++ dev-python/setuptools/licenses/Python | 278 ------------------ .../setuptools/setuptools-0.6c11.recipe | 31 -- dev-python/setuptools/setuptools-3.3.recipe | 31 -- 4 files changed, 52 insertions(+), 340 deletions(-) create mode 100644 dev-python/python_setuptools/python_setuptools-5.3.recipe delete mode 100644 dev-python/setuptools/licenses/Python delete mode 100644 dev-python/setuptools/setuptools-0.6c11.recipe delete mode 100644 dev-python/setuptools/setuptools-3.3.recipe diff --git a/dev-python/python_setuptools/python_setuptools-5.3.recipe b/dev-python/python_setuptools/python_setuptools-5.3.recipe new file mode 100644 index 000000000..439ed5614 --- /dev/null +++ b/dev-python/python_setuptools/python_setuptools-5.3.recipe @@ -0,0 +1,52 @@ +SUMMARY="Easily download, build, install, upgrade, and uninstall Python packages." +DESCRIPTION="EasyInstall (easy_install) gives you a quick and painless way \ +to install packages remotely by connecting to the cheeseshop or even other \ +websites via HTTP. It is somewhat analogous to the CPAN and PEAR tools for Perl \ +and PHP, respectively. \ +" +HOMEPAGE="https://pypi.python.org/pypi/setuptools" +SRC_URI="https://pypi.python.org/packages/source/s/setuptools/setuptools-5.3.zip" +CHECKSUM_SHA256="238142293c36d2b56c83df1886b4c1fc4af77d0c203c68b8f4e57d8995babfe5" +SOURCE_DIR="setuptools-$portVersion" +LICENSE="Python" +COPYRIGHT="2006-2014 Python Packaging Authority" +REVISION="1" +ARCHITECTURES="x86 x86_gcc2 x86_64" + +PROVIDES=" + python_setuptools = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion + cmd:python + " + +BUILD_REQUIRES="" + +BUILD_PREREQUIRES=" + haiku_devel >= $haikuVersion + cmd:python + " + +BUILD() +{ + $portPackageLinksDir/cmd~python/bin/python setup.py build +} + +INSTALL() +{ + # GENERIC: all python_setuptools-based installs need this + pythonVersion=$(python --version 2>&1 | sed 's/Python //' | head -c3) + installLocation=$prefix/lib/python$pythonVersion/vendor-packages/ + export PYTHONPATH=$installLocation:$PYTHONPATH + mkdir -p $installLocation + + $portPackageLinksDir/cmd~python/bin/python setup.py install \ + --prefix=$prefix + + # easy_install cannot tolerate not being installed alongside setuptools, + # so just delete it. + rm $prefix/bin/easy_install + rm $prefix/bin/easy_install-2.6 +} diff --git a/dev-python/setuptools/licenses/Python b/dev-python/setuptools/licenses/Python deleted file mode 100644 index 1050ea9d6..000000000 --- a/dev-python/setuptools/licenses/Python +++ /dev/null @@ -1,278 +0,0 @@ -A. HISTORY OF THE SOFTWARE -========================== - -Python was created in the early 1990s by Guido van Rossum at Stichting -Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands -as a successor of a language called ABC. Guido remains Python's -principal author, although it includes many contributions from others. - -In 1995, Guido continued his work on Python at the Corporation for -National Research Initiatives (CNRI, see http://www.cnri.reston.va.us) -in Reston, Virginia where he released several versions of the -software. - -In May 2000, Guido and the Python core development team moved to -BeOpen.com to form the BeOpen PythonLabs team. In October of the same -year, the PythonLabs team moved to Digital Creations (now Zope -Corporation, see http://www.zope.com). In 2001, the Python Software -Foundation (PSF, see http://www.python.org/psf/) was formed, a -non-profit organization created specifically to own Python-related -Intellectual Property. Zope Corporation is a sponsoring member of -the PSF. - -All Python releases are Open Source (see http://www.opensource.org for -the Open Source Definition). Historically, most, but not all, Python -releases have also been GPL-compatible; the table below summarizes -the various releases. - - Release Derived Year Owner GPL- - from compatible? (1) - - 0.9.0 thru 1.2 1991-1995 CWI yes - 1.3 thru 1.5.2 1.2 1995-1999 CNRI yes - 1.6 1.5.2 2000 CNRI no - 2.0 1.6 2000 BeOpen.com no - 1.6.1 1.6 2001 CNRI yes (2) - 2.1 2.0+1.6.1 2001 PSF no - 2.0.1 2.0+1.6.1 2001 PSF yes - 2.1.1 2.1+2.0.1 2001 PSF yes - 2.2 2.1.1 2001 PSF yes - 2.1.2 2.1.1 2002 PSF yes - 2.1.3 2.1.2 2002 PSF yes - 2.2.1 2.2 2002 PSF yes - 2.2.2 2.2.1 2002 PSF yes - 2.2.3 2.2.2 2003 PSF yes - 2.3 2.2.2 2002-2003 PSF yes - 2.3.1 2.3 2002-2003 PSF yes - 2.3.2 2.3.1 2002-2003 PSF yes - 2.3.3 2.3.2 2002-2003 PSF yes - 2.3.4 2.3.3 2004 PSF yes - 2.3.5 2.3.4 2005 PSF yes - 2.4 2.3 2004 PSF yes - 2.4.1 2.4 2005 PSF yes - 2.4.2 2.4.1 2005 PSF yes - 2.4.3 2.4.2 2006 PSF yes - 2.4.4 2.4.3 2006 PSF yes - 2.5 2.4 2006 PSF yes - 2.5.1 2.5 2007 PSF yes - 2.5.2 2.5.1 2008 PSF yes - 2.5.3 2.5.2 2008 PSF yes - 2.6 2.5 2008 PSF yes - 2.6.1 2.6 2008 PSF yes - 2.6.2 2.6.1 2009 PSF yes - 2.6.3 2.6.2 2009 PSF yes - 2.6.4 2.6.3 2009 PSF yes - 2.6.5 2.6.4 2010 PSF yes - -Footnotes: - -(1) GPL-compatible doesn't mean that we're distributing Python under - the GPL. All Python licenses, unlike the GPL, let you distribute - a modified version without making your changes open source. The - GPL-compatible licenses make it possible to combine Python with - other software that is released under the GPL; the others don't. - -(2) According to Richard Stallman, 1.6.1 is not GPL-compatible, - because its license has a choice of law clause. According to - CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1 - is "not incompatible" with the GPL. - -Thanks to the many outside volunteers who have worked under Guido's -direction to make these releases possible. - - -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON -=============================================================== - -PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 --------------------------------------------- - -1. This LICENSE AGREEMENT is between the Python Software Foundation -("PSF"), and the Individual or Organization ("Licensee") accessing and -otherwise using this software ("Python") in source or binary form and -its associated documentation. - -2. Subject to the terms and conditions of this License Agreement, PSF hereby -grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, -analyze, test, perform and/or display publicly, prepare derivative works, -distribute, and otherwise use Python alone or in any derivative version, -provided, however, that PSF's License Agreement and PSF's notice of copyright, -i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 -Python Software Foundation; All Rights Reserved" are retained in Python alone or -in any derivative version prepared by Licensee. - -3. In the event Licensee prepares a derivative work that is based on -or incorporates Python or any part thereof, and wants to make -the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to Python. - -4. PSF is making Python available to Licensee on an "AS IS" -basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON -FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. Nothing in this License Agreement shall be deemed to create any -relationship of agency, partnership, or joint venture between PSF and -Licensee. This License Agreement does not grant permission to use PSF -trademarks or trade name in a trademark sense to endorse or promote -products or services of Licensee, or any third party. - -8. By copying, installing or otherwise using Python, Licensee -agrees to be bound by the terms and conditions of this License -Agreement. - - -BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0 -------------------------------------------- - -BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 - -1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an -office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the -Individual or Organization ("Licensee") accessing and otherwise using -this software in source or binary form and its associated -documentation ("the Software"). - -2. Subject to the terms and conditions of this BeOpen Python License -Agreement, BeOpen hereby grants Licensee a non-exclusive, -royalty-free, world-wide license to reproduce, analyze, test, perform -and/or display publicly, prepare derivative works, distribute, and -otherwise use the Software alone or in any derivative version, -provided, however, that the BeOpen Python License is retained in the -Software, alone or in any derivative version prepared by Licensee. - -3. BeOpen is making the Software available to Licensee on an "AS IS" -basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE -SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS -AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY -DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -5. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -6. This License Agreement shall be governed by and interpreted in all -respects by the law of the State of California, excluding conflict of -law provisions. Nothing in this License Agreement shall be deemed to -create any relationship of agency, partnership, or joint venture -between BeOpen and Licensee. This License Agreement does not grant -permission to use BeOpen trademarks or trade names in a trademark -sense to endorse or promote products or services of Licensee, or any -third party. As an exception, the "BeOpen Python" logos available at -http://www.pythonlabs.com/logos.html may be used according to the -permissions granted on that web page. - -7. By copying, installing or otherwise using the software, Licensee -agrees to be bound by the terms and conditions of this License -Agreement. - - -CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1 ---------------------------------------- - -1. This LICENSE AGREEMENT is between the Corporation for National -Research Initiatives, having an office at 1895 Preston White Drive, -Reston, VA 20191 ("CNRI"), and the Individual or Organization -("Licensee") accessing and otherwise using Python 1.6.1 software in -source or binary form and its associated documentation. - -2. Subject to the terms and conditions of this License Agreement, CNRI -hereby grants Licensee a nonexclusive, royalty-free, world-wide -license to reproduce, analyze, test, perform and/or display publicly, -prepare derivative works, distribute, and otherwise use Python 1.6.1 -alone or in any derivative version, provided, however, that CNRI's -License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) -1995-2001 Corporation for National Research Initiatives; All Rights -Reserved" are retained in Python 1.6.1 alone or in any derivative -version prepared by Licensee. Alternately, in lieu of CNRI's License -Agreement, Licensee may substitute the following text (omitting the -quotes): "Python 1.6.1 is made available subject to the terms and -conditions in CNRI's License Agreement. This Agreement together with -Python 1.6.1 may be located on the Internet using the following -unique, persistent identifier (known as a handle): 1895.22/1013. This -Agreement may also be obtained from a proxy server on the Internet -using the following URL: http://hdl.handle.net/1895.22/1013". - -3. In the event Licensee prepares a derivative work that is based on -or incorporates Python 1.6.1 or any part thereof, and wants to make -the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to Python 1.6.1. - -4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" -basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON -1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. This License Agreement shall be governed by the federal -intellectual property law of the United States, including without -limitation the federal copyright law, and, to the extent such -U.S. federal law does not apply, by the law of the Commonwealth of -Virginia, excluding Virginia's conflict of law provisions. -Notwithstanding the foregoing, with regard to derivative works based -on Python 1.6.1 that incorporate non-separable material that was -previously distributed under the GNU General Public License (GPL), the -law of the Commonwealth of Virginia shall govern this License -Agreement only as to issues arising under or with respect to -Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this -License Agreement shall be deemed to create any relationship of -agency, partnership, or joint venture between CNRI and Licensee. This -License Agreement does not grant permission to use CNRI trademarks or -trade name in a trademark sense to endorse or promote products or -services of Licensee, or any third party. - -8. By clicking on the "ACCEPT" button where indicated, or by copying, -installing or otherwise using Python 1.6.1, Licensee agrees to be -bound by the terms and conditions of this License Agreement. - - ACCEPT - - -CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2 --------------------------------------------------- - -Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, -The Netherlands. 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, and that the name of Stichting Mathematisch -Centrum or CWI not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. - -STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM 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. diff --git a/dev-python/setuptools/setuptools-0.6c11.recipe b/dev-python/setuptools/setuptools-0.6c11.recipe deleted file mode 100644 index 6bbaeaca5..000000000 --- a/dev-python/setuptools/setuptools-0.6c11.recipe +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY="Download, build, (un)install, upgrade, Python packages" -DESCRIPTION=" -Download, build, install, upgrade, and uninstall Python packages -- easily! -" -HOMEPAGE="http://pypi.python.org/pypi/setuptools" -SRC_URI="https://pypi.python.org/packages/source/s/setuptools/setuptools-$portVersion.tar.gz" -CHECKSUM_SHA256="630fea9b726320b73ee3ca6ff61732cb32675b0389be658080fe46383b87a1d3" -REVISION="1" - -ARCHITECTURES="!x86_gcc2" - -PROVIDES=" - $portName = $portVersion - " - -BUILD_PREREQUIRES=" - cmd:python - " - -BUILD() -{ - python setup.py build -} - -INSTALL() -{ - python setup.py install --root=$portDir -} - -LICENSE="Python" -COPYRIGHT="2009-2014, Phillip J. Eby" diff --git a/dev-python/setuptools/setuptools-3.3.recipe b/dev-python/setuptools/setuptools-3.3.recipe deleted file mode 100644 index f2389aa7f..000000000 --- a/dev-python/setuptools/setuptools-3.3.recipe +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY="Download, build, (un)install, upgrade, Python packages" -DESCRIPTION=" -Download, build, install, upgrade, and uninstall Python packages -- easily! -" -HOMEPAGE="http://pypi.python.org/pypi/setuptools" -SRC_URI="https://pypi.python.org/packages/source/s/setuptools/setuptools-$portVersion.tar.gz" -CHECKSUM_SHA256="f3e6155f9bb62bfd59b7f6cc2ecda21aae903e6b585f8bc55e801609c5f7814f" -REVISION="1" - -ARCHITECTURES="!x86_gcc2" - -PROVIDES=" - $portName = $portVersion - " - -BUILD_PREREQUIRES=" - cmd:python - " - -BUILD() -{ - python setup.py build -} - -INSTALL() -{ - python setup.py install --root=$portDir -} - -LICENSE="Python" -COPYRIGHT="2009-2014, Phillip J. Eby" From 6d2ac0f4ba3d818c41d9f65f6b76f2c0bfb66e22 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Mon, 30 Jun 2014 19:26:39 -0400 Subject: [PATCH 20/49] Create GYP recipe. Requires python_setuptools for the build and install. Worked for me. --- dev-util/gyp/gyp-r1948.recipe | 51 ++++++++++ dev-util/gyp/patches/gyp-r1948.patch | 144 +++++++++++++++++++++++++++ 2 files changed, 195 insertions(+) create mode 100644 dev-util/gyp/gyp-r1948.recipe create mode 100644 dev-util/gyp/patches/gyp-r1948.patch diff --git a/dev-util/gyp/gyp-r1948.recipe b/dev-util/gyp/gyp-r1948.recipe new file mode 100644 index 000000000..6f019f078 --- /dev/null +++ b/dev-util/gyp/gyp-r1948.recipe @@ -0,0 +1,51 @@ +SUMMARY="GYP can Generate Your Projects." +DESCRIPTION="GYP (Generate Your Projects) is a build automation tool. \ +GYP is created by Google to generate native IDE project files (such as \ +Visual Studio and Xcode) for building the Chromium web browser and is \ +licensed as open source software using the BSD software license. \ +" +HOMEPAGE="https://code.google.com/p/gyp/" +SRC_URI="svn+http://gyp.googlecode.com/svn/trunk#1948" +LICENSE="BSD (2-clause)" +COPYRIGHT="2012 Google Inc." +REVISION="1" +ARCHITECTURES="x86 x86_gcc2 x86_64" + +SOURCE_DIR="gyp-$portVersion" +PATCHES="gyp-r1948.patch" + +PROVIDES=" + gyp = $portVersion + cmd:gyp = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion + cmd:python + " + +BUILD_REQUIRES=" + python_setuptools +" + +BUILD_PREREQUIRES=" + haiku_devel >= $haikuVersion + cmd:python + " + +BUILD() +{ + $portPackageLinksDir/cmd~python/bin/python setup.py build +} + +INSTALL() +{ + # GENERIC: all python_setuptools-based installs need this + pythonVersion=$(python --version 2>&1 | sed 's/Python //' | head -c3) + installLocation=$prefix/lib/python$pythonVersion/vendor-packages/ + export PYTHONPATH=$installLocation:$PYTHONPATH + mkdir -p $installLocation + + $portPackageLinksDir/cmd~python/bin/python setup.py install \ + --prefix=$prefix +} diff --git a/dev-util/gyp/patches/gyp-r1948.patch b/dev-util/gyp/patches/gyp-r1948.patch new file mode 100644 index 000000000..c4021f888 --- /dev/null +++ b/dev-util/gyp/patches/gyp-r1948.patch @@ -0,0 +1,144 @@ +From 7acf243286c74a67a0a3a80faff38572d430f160 Mon Sep 17 00:00:00 2001 +From: Augustin Cavalier +Date: Mon, 30 Jun 2014 14:41:57 -0400 +Subject: [PATCH] Make GYP work on Haiku. + +--- + gyptest.py | 1 + + pylib/gyp/common.py | 7 +++++-- + pylib/gyp/generator/make.py | 13 ++++++++++++ + pylib/gyp/haiku_tool.py | 49 +++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 68 insertions(+), 2 deletions(-) + create mode 100644 pylib/gyp/haiku_tool.py + +diff --git a/gyptest.py b/gyptest.py +index 8f3ee0f..88125b0 100755 +--- a/gyptest.py ++++ b/gyptest.py +@@ -225,6 +225,7 @@ def main(argv=None): + 'linux2': ['make', 'ninja'], + 'linux3': ['make', 'ninja'], + 'darwin': ['make', 'ninja', 'xcode'], ++ 'haiku1': ['make'], + }[sys.platform] + + for format in format_list: +diff --git a/pylib/gyp/common.py b/pylib/gyp/common.py +index df71d97..8f2d888 100644 +--- a/pylib/gyp/common.py ++++ b/pylib/gyp/common.py +@@ -420,12 +420,14 @@ def GetFlavor(params): + return 'openbsd' + if sys.platform.startswith('aix'): + return 'aix' ++ if sys.platform.startswith('haiku'): ++ return 'haiku' + + return 'linux' + + + def CopyTool(flavor, out_path): +- """Finds (flock|mac|win)_tool.gyp in the gyp directory and copies it ++ """Finds (flock|mac|win|haiku)_tool.gyp in the gyp directory and copies it + to |out_path|.""" + # aix and solaris just need flock emulation. mac and win use more complicated + # support scripts. +@@ -433,7 +435,8 @@ def CopyTool(flavor, out_path): + 'aix': 'flock', + 'solaris': 'flock', + 'mac': 'mac', +- 'win': 'win' ++ 'win': 'win', ++ 'haiku': 'haiku', + }.get(flavor, None) + if not prefix: + return +diff --git a/pylib/gyp/generator/make.py b/pylib/gyp/generator/make.py +index 8c31d10..a7db337 100644 +--- a/pylib/gyp/generator/make.py ++++ b/pylib/gyp/generator/make.py +@@ -505,6 +505,13 @@ quiet_cmd_infoplist = INFOPLIST $@ + cmd_infoplist = $(CC.$(TOOLSET)) -E -P -Wno-trigraphs -x c $(INFOPLIST_DEFINES) "$<" -o "$@" + """ + ++SHARED_HEADER_HAIKU_COMMANDS = """ ++# gyp-haiku-tool is written next to the root Makefile by gyp. ++# Use $(4) for the command, since $(2) and $(3) are used as flag by do_cmd ++# already. ++quiet_cmd_haiku_tool = HAIKUTOOL $(4) $< ++cmd_haiku_tool = ./gyp-haiku-tool $(4) $< "$@" ++""" + + def WriteRootHeaderSuffixRules(writer): + extensions = sorted(COMPILABLE_EXTENSIONS.keys(), key=str.lower) +@@ -2056,6 +2063,12 @@ def GenerateOutput(target_list, target_dicts, data, params): + 'flock': './gyp-flock-tool flock', + 'flock_index': 2, + }) ++ elif flavor == 'haiku': ++ header_params.update({ ++ 'flock': './gyp-haiku-tool flock', ++ 'flock_index': 2, ++ 'extra_commands': SHARED_HEADER_HAIKU_COMMANDS, ++ }) + + header_params.update({ + 'CC.target': GetEnvironFallback(('CC_target', 'CC'), '$(CC)'), +diff --git a/pylib/gyp/haiku_tool.py b/pylib/gyp/haiku_tool.py +new file mode 100644 +index 0000000..cf23ca5 +--- /dev/null ++++ b/pylib/gyp/haiku_tool.py +@@ -0,0 +1,49 @@ ++#!python ++# Copyright (c) 2011 Google Inc. All rights reserved. ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++"""These functions are executed via gyp-haiku-tool when using the Makefile ++generator.""" ++ ++import fcntl ++import os ++import struct ++import subprocess ++import sys ++ ++ ++def main(args): ++ executor = HaikuTool() ++ executor.Dispatch(args) ++ ++ ++class HaikuTool(object): ++ """This class performs all the Haiku tooling steps. The methods can either be ++ executed directly, or dispatched from an argument list.""" ++ ++ def Dispatch(self, args): ++ """Dispatches a string command to a method.""" ++ if len(args) < 1: ++ raise Exception("Not enough arguments") ++ ++ method = "Exec%s" % self._CommandifyName(args[0]) ++ getattr(self, method)(*args[1:]) ++ ++ def _CommandifyName(self, name_string): ++ """Transforms a tool name like copy-info-plist to CopyInfoPlist""" ++ return name_string.title().replace('-', '') ++ ++ def ExecFlock(self, lockfile, *cmd_list): ++ """Emulates the most basic behavior of Linux's flock(1).""" ++ # Rely on exception handling to report errors. ++ fd = os.open(lockfile, os.O_RDONLY|os.O_NOCTTY|os.O_CREAT, 0o666) ++ fcntl.flock(fd, fcntl.LOCK_EX) ++ ret = subprocess.call(cmd_list) ++ # Haiki bug -- lock is not released on file close? ++ fcntl.flock(fd, fcntl.LOCK_UN) ++ return ret ++ ++ ++if __name__ == '__main__': ++ sys.exit(main(sys.argv[1:])) +-- +1.8.3.4 + From 78d103b304562ae814eb22e44fb82e7484f03253 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Mon, 30 Jun 2014 19:33:19 -0400 Subject: [PATCH 21/49] LibQt4: Add Deskbar symlinks in the _devel package, fix whitespace. --- dev-qt/libqt4/libqt4-4.8.6.1.recipe | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/dev-qt/libqt4/libqt4-4.8.6.1.recipe b/dev-qt/libqt4/libqt4-4.8.6.1.recipe index 11021dffa..ff48f8eb2 100644 --- a/dev-qt/libqt4/libqt4-4.8.6.1.recipe +++ b/dev-qt/libqt4/libqt4-4.8.6.1.recipe @@ -10,7 +10,7 @@ SRC_FILENAME="libqt4-$portVersion.tar.gz" SOURCE_DIR="qt4-4.8.6-haiku-1" LICENSE="GNU LGPL v2.1" COPYRIGHT="2014 Digia Plc and/or its subsidiary(-ies)." -REVISION="3" +REVISION="4" CHECKSUM_SHA256="8683b000622df6348016cea132a272ebd39f70b1b0c89b9bb043f4f0a88d879d" ARCHITECTURES="x86 ?x86_64" if [ $effectiveTargetArchitecture != x86_gcc2 ]; then @@ -165,7 +165,7 @@ BUILD() make -f Makefile.gcc2 fi popd - + pushd haiku ./do-res.sh popd @@ -215,8 +215,17 @@ INSTALL() devPackageCommands="$devPackageCommands $binDir/$i" done + DIR_QT_DEVELOP_DESKBAR="${dataDir}/deskbar/menu/Applications/Qt" + mkdir -p ${DIR_QT_DEVELOP_DESKBAR} + addAppDeskbarSymlink $binDir/assistant "Qt/Qt Assistant" + addAppDeskbarSymlink $binDir/designer "Qt/Qt Designer" + addAppDeskbarSymlink $binDir/linguist "Qt/Qt Lingist" + addAppDeskbarSymlink $binDir/qmlviewer "Qt/QML Viewer" + addAppDeskbarSymlink $binDir/qhelpconverter "Qt/Qt Help Converter" + packageEntries devel $developDir \ $devPackageCommands \ + ${DIR_QT_DEVELOP_DESKBAR} \ $dataDir/Qt/mkspecs # move tests to demo/example package when it exists From 85ee6de33d41f08a40a74a6f33a8031f39522644 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Tue, 1 Jul 2014 09:20:56 +0200 Subject: [PATCH 22/49] Add recipe for haikuwebkit 1.4.0. --- .../haikuwebkit/haikuwebkit-1.4.0.recipe | 114 ++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 haiku-libs/haikuwebkit/haikuwebkit-1.4.0.recipe diff --git a/haiku-libs/haikuwebkit/haikuwebkit-1.4.0.recipe b/haiku-libs/haikuwebkit/haikuwebkit-1.4.0.recipe new file mode 100644 index 000000000..119ed8ec7 --- /dev/null +++ b/haiku-libs/haikuwebkit/haikuwebkit-1.4.0.recipe @@ -0,0 +1,114 @@ +SUMMARY="Open source web browser engine" +DESCRIPTION=" +WebKit is an open source web browser engine. WebKit is also the name of the \ +Mac OS X system framework version of the engine that's used by Safari, \ +Dashboard, Mail, and many other OS X applications. WebKit's HTML and \ +JavaScript code began as a branch of the KHTML and KJS libraries from KDE. +" +HOMEPAGE="http://www.webkit.org/" +COPYRIGHT="1998-2014 Apple Inc., Google Inc., et al" +LICENSE=" + GNU LGPL v2 + GNU LGPL v2.1 + MIT + " +SRC_URI="https://github.com/haiku/webkit/archive/$portVersion.tar.gz" +CHECKSUM_SHA256="32f2b2a000253ac0127bf7347fd239db3692176cd80246bf32275b3340165f7f" +SRC_FILENAME="haikuwebkit-$portVersion.tar.gz" +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" + +# TODO see if this is still needed. +#if [ $effectiveTargetArchitecture == x86_64 ]; then +# PATCHES="haikuwebkit-1.3.2.patchset" +#fi + +PROVIDES=" + haikuwebkit$secondaryArchSuffix = $portVersion + lib:libWebKit$secondaryArchSuffix = $portVersion + cmd:jsc + " +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libicuuc$secondaryArchSuffix + lib:libjpeg$secondaryArchSuffix + lib:libpng$secondaryArchSuffix + lib:libsqlite3$secondaryArchSuffix + lib:libxml2$secondaryArchSuffix + lib:libxslt$secondaryArchSuffix + lib:libz$secondaryArchSuffix + lib:libavcodec$secondaryArchSuffix + lib:libexecinfo$secondaryArchSuffix + lib:libstdc++$secondaryArchSuffix + lib:libGL$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + haiku_devel >= $haikuVersion + devel:libicuuc$secondaryArchSuffix + devel:libjpeg$secondaryArchSuffix + devel:libpng$secondaryArchSuffix + devel:libsqlite3$secondaryArchSuffix + devel:libxml2$secondaryArchSuffix + devel:libxslt$secondaryArchSuffix + devel:libz$secondaryArchSuffix + devel:libavcodec$secondaryArchSuffix + devel:libexecinfo$secondaryArchSuffix + devel:libGL$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:pkg_config + cmd:flex + cmd:bison + cmd:gcc$secondaryArchSuffix + cmd:gperf + cmd:ld$secondaryArchSuffix + cmd:m4 + cmd:make + cmd:perl + cmd:python + cmd:cmake + cmd:ruby + " + +SOURCE_DIR="webkit-$portVersion" + +BUILD() +{ + export PKG_CONFIG_LIBDIR="`finddir B_SYSTEM_DIRECTORY`/$relativeDevelopLibDir/pkgconfig" + Tools/Scripts/build-webkit --haiku --no-webkit2 \ + --cmakeargs="-DCMAKE_INSTALL_PREFIX=$prefix -DSHOULD_INSTALL_JS_SHELL=ON" +} + +INSTALL() +{ + cd WebKitBuild/Release + make install + + rm $developLibDir/* + prepareInstalledDevelLibs libWebKit + + # devel package + packageEntries devel \ + $developDir +} + +# ----- devel package ------------------------------------------------------- + +PROVIDES_devel=" + haikuwebkit${secondaryArchSuffix}_devel = $portVersion + devel:libjavascriptcore$secondaryArchSuffix = $portVersion + devel:libwebcore$secondaryArchSuffix = $portVersion + devel:libWebKit$secondaryArchSuffix = $portVersion + devel:libwtf$secondaryArchSuffix = $portVersion + " +REQUIRES_devel=" + haikuwebkit$secondaryArchSuffix == $portVersion base + " From 51c52185ed871d1281d3d086f05649c17ce06a7e Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Tue, 1 Jul 2014 10:07:30 -0400 Subject: [PATCH 23/49] GYP: requires python_setuptools --- dev-util/gyp/gyp-r1948.recipe | 1 + 1 file changed, 1 insertion(+) diff --git a/dev-util/gyp/gyp-r1948.recipe b/dev-util/gyp/gyp-r1948.recipe index 6f019f078..e1292b516 100644 --- a/dev-util/gyp/gyp-r1948.recipe +++ b/dev-util/gyp/gyp-r1948.recipe @@ -22,6 +22,7 @@ PROVIDES=" REQUIRES=" haiku >= $haikuVersion cmd:python + python_setuptools " BUILD_REQUIRES=" From 5d7f8b1bf16d840cb2616dc9c49064291e8f1ad4 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Tue, 1 Jul 2014 10:10:00 -0400 Subject: [PATCH 24/49] Fixes to the QupZilla recipe. Doesn't build for me yet, I messed up my Qt package somehow (fails looking for qsslcertificate.h...) --- .../qupzilla/patches/qupzilla-1.7.x.patchset | 75 +------------------ www-client/qupzilla/qupzilla-1.7.x.recipe | 13 ++-- 2 files changed, 9 insertions(+), 79 deletions(-) diff --git a/www-client/qupzilla/patches/qupzilla-1.7.x.patchset b/www-client/qupzilla/patches/qupzilla-1.7.x.patchset index f070295b2..c2cfb8243 100644 --- a/www-client/qupzilla/patches/qupzilla-1.7.x.patchset +++ b/www-client/qupzilla/patches/qupzilla-1.7.x.patchset @@ -5,11 +5,11 @@ Subject: QupZilla resource file. Provided by Giovanni, converted to .rdef file. -diff --git a/Haiku/QupZilla.rdef b/Haiku/QupZilla.rdef +diff --git a/haiku/QupZilla.rdef b/haiku/QupZilla.rdef new file mode 100644 index 0000000..e5bc598 --- /dev/null -+++ b/Haiku/QupZilla.rdef ++++ b/haiku/QupZilla.rdef @@ -0,0 +1,161 @@ + +resource app_signature "application/x-vnd.QupZilla"; @@ -202,77 +202,6 @@ index c21413b..aa6fa11 100644 1.8.3.4 -From 2a263fe6616cb263bfe0dd4911626811fec2ae99 Mon Sep 17 00:00:00 2001 -From: "Arfonzo J. Coward" -Date: Mon, 24 Mar 2014 23:17:19 +0000 -Subject: Tweak #ifdefs to include/exclude required headers for Haiku. Modify - qupzilla_signal_handler() to avoid saving backtrace on Haiku. - - -diff --git a/src/main/main.cpp b/src/main/main.cpp -index 9527c32..599520e 100644 ---- a/src/main/main.cpp -+++ b/src/main/main.cpp -@@ -22,9 +22,11 @@ - #include // For QT_REQUIRE_VERSION - #include - --#if defined(Q_OS_LINUX) || defined(__GLIBC__) || defined(__FreeBSD__) -+#if defined(Q_OS_LINUX) || defined(__GLIBC__) || defined(__FreeBSD__) || defined(__HAIKU__) - #include -+#ifndef __HAIKU__ - #include -+#endif - - #include - #include -@@ -48,6 +50,7 @@ void qupzilla_signal_handler(int s) - } - sigSegvServed = true; - -+#ifndef __HAIKU__ - std::cout << "QupZilla: Crashed :( Saving backtrace in " << qPrintable(DataPaths::path(DataPaths::Config)) << "/crashlog ..." << std::endl; - - void* array[100]; -@@ -97,6 +100,9 @@ void qupzilla_signal_handler(int s) - file.close(); - - std::cout << "Backtrace successfuly saved in " << qPrintable(dir.absoluteFilePath(file.fileName())) << std::endl; -+#else -+ std::cout << "QupZilla: Crashed :(" << std::endl; -+#endif - } - #endif // defined(Q_OS_LINUX) || defined(__GLIBC__) || defined(__FreeBSD__) - --- -1.8.3.4 - - -From 75f5809666b4b3eaf2aa1f53f694c04985ce90fa Mon Sep 17 00:00:00 2001 -From: "Arfonzo J. Coward" -Date: Mon, 24 Mar 2014 23:19:25 +0000 -Subject: processinfo.cpp: manually define DT_DIR on Haiku. - - -diff --git a/src/lib/3rdparty/processinfo.cpp b/src/lib/3rdparty/processinfo.cpp -index 6cc179c..17190b8 100644 ---- a/src/lib/3rdparty/processinfo.cpp -+++ b/src/lib/3rdparty/processinfo.cpp -@@ -29,6 +29,10 @@ - #include - #endif - -+#ifdef __HAIKU__ -+#define DT_DIR 4 -+#endif -+ - ProcessInfo::ProcessInfo(const QString &name) - : m_name(name) - { --- -1.8.3.4 - - From f2a317930fc3ffb5dc3bc9d71dbfdc160540b630 Mon Sep 17 00:00:00 2001 From: "Arfonzo J. Coward" Date: Tue, 25 Mar 2014 00:17:04 +0000 diff --git a/www-client/qupzilla/qupzilla-1.7.x.recipe b/www-client/qupzilla/qupzilla-1.7.x.recipe index 77f35ae31..0fea30394 100644 --- a/www-client/qupzilla/qupzilla-1.7.x.recipe +++ b/www-client/qupzilla/qupzilla-1.7.x.recipe @@ -10,7 +10,7 @@ It provides: - Multiplatform support." HOMEPAGE="http://www.qupzilla.com" SRC_URI="git://github.com/QupZilla/qupzilla.git" -REVISION="2" +REVISION="3" LICENSE="GNU GPL v3" COPYRIGHT="2010-2013 David Rosca" @@ -31,6 +31,7 @@ PROVIDES=" REQUIRES=" haiku${secondaryArchSuffix} >= $haikuVersion libqt4${secondaryArchSuffix} >= 4.8.0 + lib:libexecinfo${secondaryArchSuffix} " BUILD_PREREQUIRES=" @@ -42,15 +43,15 @@ BUILD_PREREQUIRES=" BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel == $haikuVersion - #qtcore${secondaryArchSuffix} >= 4.8.0 libqt4${secondaryArchSuffix}_devel >= 4.8.0 - devel:libssl${secondaryArchSuffix} + devel:libssl${secondaryArchSuffix} + devel:libexecinfo${secondaryArchSuffix} " PATCHES="qupzilla-1.7.x.patchset" BUILD() -{ +{ qmake QUPZILLA_PREFIX=${appsDir}/QupZilla make $jobArgs } @@ -63,8 +64,8 @@ INSTALL() cd bin/ # Add Haiku resources. - rc -o ../Haiku/QupZilla.rsrc ../Haiku/QupZilla.rdef - xres -o qupzilla ../Haiku/QupZilla.rsrc + rc -o ../haiku/QupZilla.rsrc ../haiku/QupZilla.rdef + xres -o qupzilla ../haiku/QupZilla.rsrc mimeset -f qupzilla cp qupzilla ${appsDir}/QupZilla/ From 0d0de337cf3509fa974375a8daf09c5b562f49eb Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Tue, 1 Jul 2014 10:27:18 +0200 Subject: [PATCH 25/49] Haikuwebkit: explicitly require cmake 3. * Our version of CMake 3 include many fixes that are not backported to 2.8. One of these is needed to make cmake --system-information work. This is used by the WebKit build to detect the number of processors. --- haiku-libs/haikuwebkit/haikuwebkit-1.4.0.recipe | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/haiku-libs/haikuwebkit/haikuwebkit-1.4.0.recipe b/haiku-libs/haikuwebkit/haikuwebkit-1.4.0.recipe index 119ed8ec7..f9bebf71b 100644 --- a/haiku-libs/haikuwebkit/haikuwebkit-1.4.0.recipe +++ b/haiku-libs/haikuwebkit/haikuwebkit-1.4.0.recipe @@ -74,7 +74,7 @@ BUILD_PREREQUIRES=" cmd:make cmd:perl cmd:python - cmd:cmake + cmd:cmake >= 3.0.0 cmd:ruby " From 96891df69bf6d52bb514baa9096f3c9ca8a8f200 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Tue, 1 Jul 2014 10:34:59 -0400 Subject: [PATCH 26/49] LibQt4: _devel requires libssl and libcrypto... ...or else it will build apps that use QtNetwork with QT_NO_SSL defined. --- dev-qt/libqt4/libqt4-4.8.6.1.recipe | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dev-qt/libqt4/libqt4-4.8.6.1.recipe b/dev-qt/libqt4/libqt4-4.8.6.1.recipe index ff48f8eb2..2cbb28df5 100644 --- a/dev-qt/libqt4/libqt4-4.8.6.1.recipe +++ b/dev-qt/libqt4/libqt4-4.8.6.1.recipe @@ -129,10 +129,15 @@ PROVIDES_devel=" devel:libQtUiTools$secondaryArchSuffix = $portVersion compat >= 4.8 " +# if libssl and libcrypto are not in REQUIRES_devel, +# qmake will decide that there is no system OpenSSL support +# and thus build Qt apps without any SSL support. REQUIRES_devel=" libqt4$secondaryArchSuffix == $portVersion base haiku$secondaryArchSuffix >= $haikuVersion lib:libz$secondaryArchSuffix + lib:libssl$secondaryArchSuffix + lib:libcrypto$secondaryArchSuffix " BUILD() From dbf259bcbbabdeea601aff1ab251ec838a45ab47 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Tue, 1 Jul 2014 10:52:05 -0400 Subject: [PATCH 27/49] Quassel: Qt now has SSL in its REQUIRES_devel so it doesn't need to be here --- www-client/qupzilla/qupzilla-1.7.x.recipe | 1 - 1 file changed, 1 deletion(-) diff --git a/www-client/qupzilla/qupzilla-1.7.x.recipe b/www-client/qupzilla/qupzilla-1.7.x.recipe index 0fea30394..1c2bc05a3 100644 --- a/www-client/qupzilla/qupzilla-1.7.x.recipe +++ b/www-client/qupzilla/qupzilla-1.7.x.recipe @@ -44,7 +44,6 @@ BUILD_PREREQUIRES=" BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel == $haikuVersion libqt4${secondaryArchSuffix}_devel >= 4.8.0 - devel:libssl${secondaryArchSuffix} devel:libexecinfo${secondaryArchSuffix} " From 817f36fb2df14598ede6ea320ff502ea35ce8718 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Tue, 1 Jul 2014 19:30:27 +0200 Subject: [PATCH 28/49] WIP recipe & patch for VirtualBox Guest Additions Currently only clipboard exchange is supported, requires VBoxTray running in the Deskbar. The VBoxControl command should also work for some features. --- .../patches/vbox-4.3.53_svn.patch | 2583 +++++++++++++++++ ...rtualbox_guest_additions-4.3.53_svn.recipe | 93 + 2 files changed, 2676 insertions(+) create mode 100644 app-emulation/virtualbox-guest-additions/patches/vbox-4.3.53_svn.patch create mode 100644 app-emulation/virtualbox-guest-additions/virtualbox_guest_additions-4.3.53_svn.recipe diff --git a/app-emulation/virtualbox-guest-additions/patches/vbox-4.3.53_svn.patch b/app-emulation/virtualbox-guest-additions/patches/vbox-4.3.53_svn.patch new file mode 100644 index 000000000..da8183198 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/patches/vbox-4.3.53_svn.patch @@ -0,0 +1,2583 @@ +Index: trunk/Config.kmk +=================================================================== +--- trunk/Config.kmk (revision 51740) ++++ trunk/Config.kmk (working copy) +@@ -1365,7 +1365,7 @@ + VBOX_GCC_TOOL := GXX4MACHO + else ifeq ($(KBUILD_TARGET),haiku) + # Haiku shouldn't pass '-r' to the linker by default +- VBOX_GCC_TOOL := GXX3PLAIN ++ VBOX_GCC_TOOL := GXX2PLAIN + else ifeq ($(KBUILD_TARGET),solaris) + VBOX_GCC_TOOL := GXX3PLAIN + VBOX_GCC32_TOOL := GXX3PLAIN +@@ -1506,8 +1506,14 @@ + ifdef VBOX_WITH_MASOCHISTIC_WARNINGS + VBOX_GCC_WARN_PEDANTIC += -Wunused-variable -Wunused-function -Wunused-label -Wunused-parameter + endif +-VBOX_GCC_PEDANTIC_CXX ?= -pedantic -Wshadow $(VBOX_GCC_WARN_PEDANTIC) -Wno-long-long $(VBOX_GCC_Wno-delete-non-virtual-dtor) +-VBOX_GCC_PEDANTIC_C ?= -pedantic -Wshadow $(VBOX_GCC_WARN_PEDANTIC) -Wno-long-long -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Werror-implicit-function-declaration ++VBOX_GCC_PEDANTIC_CXX ?= -Wshadow $(VBOX_GCC_WARN_PEDANTIC) -Wno-long-long $(VBOX_GCC_Wno-delete-non-virtual-dtor) ++VBOX_GCC_PEDANTIC_C ?= -Wshadow $(VBOX_GCC_WARN_PEDANTIC) -Wno-long-long -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Werror-implicit-function-declaration ++ifeq ($(KBUILD_TARGET),haiku) ++ # gcc2 complains about 'volatile' undeclared ++ # TODO: filter out -pedantic ++ VBOX_GCC_PEDANTIC_CXX += -D__volatile__= ++ VBOX_GCC_PEDANTIC_C += -D__volatile__= ++endif + ifeq ($(KBUILD_TARGET),win) + VBOX_C_CXX_FLAGS_NO_UNUSED_PARAMETERS = #-Wdxxxx + else +@@ -2771,17 +2777,18 @@ + # @param 1 The file to add resources to. + # @param 2 The resource files. + # @param 3 The target name. +-define VBOX_HAIKU_XRES_SETVER_FN +- $(if $(2),$(call MSG_TOOL,HaikuAddResources,$(3),$(2)) +- $(QUIET)$(VBOX_HAIKU_XRESTOOL) -o $(1) $(2),) +- $(call MSG_TOOL,HaikuSetVersion,$(3)) +- $(QUIET)$(VBOX_HAIKU_SETVERSIONTOOL) $(1) \ ++#define VBOX_HAIKU_XRES_SETVER_FN ++VBOX_HAIKU_XRES_SETVER_FN ?= \ ++ $$(NLTAB)$(if $(2),$(call MSG_TOOL,HaikuAddResources,$(3),$(2))\ ++ $$(NLTAB)$(QUIET)$(VBOX_HAIKU_XRESTOOL) -o $(1) $(2),)\ ++ $$(NLTAB)$(call MSG_TOOL,HaikuSetVersion,$(3))\ ++ $$(NLTAB)$(QUIET)$(VBOX_HAIKU_SETVERSIONTOOL) $(1) \ + -app $(VBOX_VERSION_MAJOR) $(VBOX_VERSION_MINOR) $(VBOX_VERSION_BUILD) d $(VBOX_SVN_REV) \ + -short "$(VBOX_PRODUCT)" \ +- -long "$(VBOX_PRODUCT) $(VBOX_VERSION_STRING) $(shell /bin/echo -e '\xC2\xA9')2009-$(VBOX_C_YEAR) $(VBOX_VENDOR)" +- $(call MSG_TOOL,HaikuMimeSet,$(3)) +- $(QUIET)$(VBOX_HAIKU_MIMESETTOOL) -f $(1) +-endef ++ -long "$(VBOX_PRODUCT) $(VBOX_VERSION_STRING) $(shell /bin/echo -e '\xC2\xA9')2009-$(VBOX_C_YEAR) $(VBOX_VENDOR)"\ ++ $$(NLTAB)$(call MSG_TOOL,HaikuMimeSet,$(3))\ ++ $$(NLTAB)$(QUIET)$(VBOX_HAIKU_MIMESETTOOL) -f $(1) ++#endef + + 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 @@ + + ifeq ($(KBUILD_TARGET),haiku) + ## The Haiku include directories +-VBOX_HAIKU_SYS_INCS ?= /boot/develop/headers/os/kernel /boot/develop/headers/os/drivers ++VBOX_HAIKU_SYS_INCS ?= /system/develop/headers/os/kernel /system/develop/headers/os/drivers + + TEMPLATE_VBOXR0DRV_TOOL = $(VBOX_GCC_TOOL) + TEMPLATE_VBOXR0DRV_LDTOOL = $(VBOX_GCC_TOOL) +@@ -3519,13 +3526,13 @@ + 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 +-TEMPLATE_VBOXR0DRV_CFLAGS.x86 = -mno-sse -mno-mmx -mno-sse2 -mno-3dnow +-TEMPLATE_VBOXR0DRV_CFLAGS.x86 = -m32 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow ++#TEMPLATE_VBOXR0DRV_CFLAGS.x86 = -mno-sse -mno-mmx -mno-sse2 -mno-3dnow ++TEMPLATE_VBOXR0DRV_CFLAGS.x86 = + TEMPLATE_VBOXR0DRV_CFLAGS.amd64 = -m64 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow \ + -fno-reorder-blocks -ffreestanding -fno-asynchronous-unwind-tables -funit-at-a-time \ + -Wno-sign-compare -Wdeclaration-after-statement + TEMPLATE_VBOXR0DRV_CXXFLAGS = -fno-PIC -Wpointer-arith \ +- -Wshadow -Wuninitialized -Wunused-function -Wunused-label -Wunused-value -Wunused-variable \ ++ -Wshadow -Wuninitialized \ + -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 @@ + 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) ++ifneq ($(KBUILD_TARGET),haiku) + TEMPLATE_VBOXR3EXE_CXXFLAGS.x86 = -m32 ++endif + TEMPLATE_VBOXR3EXE_CXXFLAGS.amd64 = -m64 + TEMPLATE_VBOXR3EXE_CXXFLAGS.sparc32 = -m32 + TEMPLATE_VBOXR3EXE_CXXFLAGS.sparc64 = -m64 +@@ -3650,7 +3659,9 @@ + TEMPLATE_VBOXR3EXE_OBJCXXFLAGS.amd64 = $(TEMPLATE_VBOXR3EXE_CXXFLAGS.amd64) + TEMPLATE_VBOXR3EXE_OBJCXXFLAGS.debug = $(TEMPLATE_VBOXR3EXE_CXXFLAGS.debug) + TEMPLATE_VBOXR3EXE_OBJCXXFLAGS.kprofile= $(TEMPLATE_VBOXR3EXE_CXXFLAGS.kprofile) ++ifneq ($(KBUILD_TARGET),haiku) + TEMPLATE_VBOXR3EXE_LDFLAGS.x86 = -m32 ++endif + TEMPLATE_VBOXR3EXE_LDFLAGS.amd64 = -m64 + TEMPLATE_VBOXR3EXE_LDFLAGS.sparc32 = -m32 + TEMPLATE_VBOXR3EXE_LDFLAGS.sparc64 = -m64 +@@ -3676,9 +3687,11 @@ + TEMPLATE_VBOXR3EXE_CXXFLAGS := $(filter-out -pedantic,$(TEMPLATE_VBOXR3EXE_CXXFLAGS)) -fdollars-in-identifiers # annoying gcc option precedence. + endif + else ifeq ($(KBUILD_TARGET),haiku) +-TEMPLATE_VBOXR3EXE_TOOL = GXX3 ++TEMPLATE_VBOXR3EXE_TOOL = GXX2 + TEMPLATE_VBOXR3EXE_POST_CMDS = $(VBOX_HAIKU_XRES_SETVER_CMDS) +-TEMPLATE_VBOXR3EXE_LIBS = network iconv stdc++ supc++ ++#TEMPLATE_VBOXR3EXE_POST_CMDS = $(if $(eq $(tool_do),LINK_PROGRAM),$(call VBOX_HAIKU_XRES_SETVER_FN,$(out),$($(target)_RSRCS),$(target)),) ++#TEMPLATE_VBOXR3EXE_LIBS = network iconv stdc++ supc++ ++TEMPLATE_VBOXR3EXE_LIBS = network iconv stdc++.r4 + TEMPLATE_VBOXR3EXE_LIBPATH += \ + /boot/common/lib + # Haiku uses PIC by default... +@@ -4887,7 +4900,9 @@ + # (gcc of some kind ) + TEMPLATE_VBoxBldProg_TOOL = GXX3 + TEMPLATE_VBoxBldProg_CFLAGS = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) ++ifneq ($(KBUILD_TARGET),haiku) + TEMPLATE_VBoxBldProg_CFLAGS.x86 = -m32 ++endif + TEMPLATE_VBoxBldProg_CFLAGS.sparc32 = -m32 + TEMPLATE_VBoxBldProg_CFLAGS.amd64 = -m64 + TEMPLATE_VBoxBldProg_CFLAGS.sparc64 = -m64 +@@ -4895,7 +4910,9 @@ + 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) ++ifneq ($(KBUILD_TARGET),haiku) + TEMPLATE_VBoxBldProg_CXXFLAGS.x86 = -m32 ++endif + TEMPLATE_VBoxBldProg_CXXFLAGS.sparc32 = -m32 + TEMPLATE_VBoxBldProg_CXXFLAGS.amd64 = -m64 + TEMPLATE_VBoxBldProg_CXXFLAGS.sparc64 = -m64 +@@ -4914,7 +4931,9 @@ + TEMPLATE_VBoxBldProg_OBJCXXFLAGS.release = $(TEMPLATE_VBoxBldProg_CXXFLAGS.release) + TEMPLATE_VBoxBldProg_OBJCXXFLAGS.profile = $(TEMPLATE_VBoxBldProg_CXXFLAGS.profile) + TEMPLATE_VBoxBldProg_OBJCXXFLAGS.kprofile= $(TEMPLATE_VBoxBldProg_CXXFLAGS.kprofile) ++ifneq ($(KBUILD_TARGET),haiku) + TEMPLATE_VBoxBldProg_LDFLAGS.x86 = -m32 ++endif + TEMPLATE_VBoxBldProg_LDFLAGS.sparc32 = -m32 + TEMPLATE_VBoxBldProg_LDFLAGS.amd64 = -m64 + TEMPLATE_VBoxBldProg_LDFLAGS.sparc64 = -m64 +@@ -4956,7 +4975,7 @@ + endif + TEMPLATE_VBoxBldProg_LIBS = + else ifeq ($(KBUILD_HOST),haiku) +-TEMPLATE_VBoxBldProg_TOOL = GXX3 ++TEMPLATE_VBoxBldProg_TOOL = GXX2 + 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 @@ + 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 ++ elif [ $cc_maj -eq 2 -a $cc_min -eq 95 -a "$OS" = "haiku" ]; then ++ log_success "found version $cc_ver (only for building guest additions)" ++ # gcc-2.95 is allowed for Haiku only; required to build guest additions + 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 @@ + else + cnf_append "VBOX_WITH_LINUX_ADDITIONS" "" + fi ++ ++ if [ "$OS" = "haiku" ]; then ++ cnf_append "VBOX_WITH_HAIKU_ADDITIONS" "1" ++ else ++ cnf_append "VBOX_WITH_HAIKU_ADDITIONS" "" ++ fi + 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) +@@ -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. + */ +-#ifdef __GNUC__ ++#if defined(__GNUC__) && (__GNUC__ >= 3) + # 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 @@ + # undef false + # undef true + # undef bool ++/* ++# elif defined(RT_OS_HAIKU) ++#warning HAIKU_B ++# include ++# include ++# include ++*/ + # else + # include + # include +@@ -206,8 +213,13 @@ + # ifndef __bool_true_false_are_defined + typedef _Bool bool; + # endif ++# elif defined(RT_OS_HAIKU) ++# ifndef __bool_true_false_are_defined ++# include ++typedef _Bool bool; ++# endif + # else +-# if (defined(RT_OS_DARWIN) || defined(RT_OS_HAIKU)) && (defined(_STDBOOL_H) || defined(__STDBOOL_H)) ++# if (defined(RT_OS_DARWIN) || defined(RT_OS_HAIKU)) && (defined(_STDBOOL_H) || defined(__STDBOOL_H) || defined(__STDBOOL_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 +@@ -0,0 +1,352 @@ ++# $Id: GCC2.kmk 2541 2011-08-03 09:51:30Z bird $ ++## @file ++# kBuild Tool Config - Generic GCC v2.95.x or later Using The System GCC and Binutils. ++# ++ ++# ++# Copyright (c) 2004-2010 knut st. osmundsen ++# ++# This file is part of kBuild. ++# ++# kBuild 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. ++# ++# kBuild 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 kBuild; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++# ++# ++# As a special exception you are granted permission to include this file, via ++# the kmk include directive, as you wish without this in itself causing the ++# resulting makefile, program or whatever to be covered by the GPL license. ++# This exception does not however invalidate any other reasons why the makefile, ++# program, whatever should not be covered the GPL. ++# ++# ++ ++TOOL_GCC2 := Generic GCC v2.95.x or later Using The System GCC and Binutils. ++ ++# Tool Specific Properties ++TOOL_GCC2_CC ?= gcc$(HOSTSUFF_EXE) ++TOOL_GCC2_CXX ?= g++$(HOSTSUFF_EXE) ++TOOL_GCC2_AS ?= gcc$(HOSTSUFF_EXE) ++ifeq ($(KBUILD_TARGET),solaris) ## @todo drop the MRI script! ++ TOOL_GCC2_AR ?= gar$(HOSTSUFF_EXE) ++else ++ TOOL_GCC2_AR ?= ar$(HOSTSUFF_EXE) ++endif ++ifeq ($(KBUILD_TARGET),os2) ++ TOOL_GCC2_AR_IMP ?= emximp$(HOSTSTUFF_EXE) ++else ++ TOOL_GCC2_AR_IMP ?= $(ECHO) not supported! ++endif ++TOOL_GCC2_LD ?= gcc$(HOSTSUFF_EXE) ++TOOL_GCC2_LD_SYSMOD ?= ld$(HOSTSUFF_EXE) ++ifndef TOOL_GCC2_LDFLAGS.$(KBUILD_TARGET) ++ TOOL_GCC2_LDFLAGS.dll ?= -shared ++else ++ TOOL_GCC2_LDFLAGS.dll ?= $(TOOL_GCC2_LDFLAGS.$(KBUILD_TARGET)) ++endif ++TOOL_GCC2_LDFLAGS.sysmod ?= -r ++TOOL_GCC2_LD_SONAME ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(KBUILD_TARGET).$(KBUILD_TYPE)) $($(1)_SONAME.$(KBUILD_TARGET)) $($(1)_SONAME.$(KBUILD_TYPE)) $($(1)_SONAME) $(notdir $(2))) ++ifeq ($(KBUILD_TARGET),os2) ++ TOOL_GCC2_LD_MAP ?= -Zmap=$(1) ++ TOOL_GCC2_LD_SYSMOD_MAP ?= -Zmap=$(1) ++else ++ TOOL_GCC2_LD_MAP ?= ++ TOOL_GCC2_LD_SYSMOD_MAP ?= ++endif ++if1of ($(KBUILD_HOST), solaris) ++ TOOL_GCC2_OBJCOPY ?= gobjcopy$(HOSTSUFF_EXE) ++else ++ TOOL_GCC2_OBJCOPY ?= objcopy$(HOSTSUFF_EXE) ++endif ++ ++ifdef SLKRUNS ++ TOOL_GCC2_CC += -fmessage-length=0 ++ TOOL_GCC2_CXX += -fmessage-length=0 ++endif ++ ++# General Properties used by kBuild ++TOOL_GCC2_COBJSUFF ?= .o ++TOOL_GCC2_CFLAGS ?= ++TOOL_GCC2_CFLAGS.debug ?= -g ++TOOL_GCC2_CFLAGS.profile ?= -O2 #-g -pg ++TOOL_GCC2_CFLAGS.release ?= -O2 ++TOOL_GCC2_CINCS ?= ++TOOL_GCC2_CDEFS ?= ++ ++TOOL_GCC2_CXXOBJSUFF ?= .o ++TOOL_GCC2_CXXOBJSUFF ?= .o ++TOOL_GCC2_CXXFLAGS ?= ++TOOL_GCC2_CXXFLAGS.debug ?= -g ++TOOL_GCC2_CXXFLAGS.profile ?= -O2 #-g -pg ++TOOL_GCC2_CXXFLAGS.release ?= -O2 ++TOOL_GCC2_CXXINCS ?= ++TOOL_GCC2_CXXDEFS ?= ++ ++TOOL_GCC2_ASFLAGS ?= -x assembler-with-cpp ++TOOL_GCC2_ASFLAGS.debug ?= -g ++TOOL_GCC2_ASFLAGS.profile ?= -g ++TOOL_GCC2_ASOBJSUFF ?= .o ++ ++TOOL_GCC2_ARFLAGS ?= cr ++TOOL_GCC2_ARLIBSUFF ?= .a ++ ++TOOL_GCC2_LDFLAGS ?= ++TOOL_GCC2_LDFLAGS.debug ?= -g ++TOOL_GCC2_LDFLAGS.profile ?= -g ++ ++ ++## Compile C source. ++# @param $(target) Normalized main target name. ++# @param $(source) Source filename (relative). ++# @param $(obj) Object file name. This shall be (re)created by the compilation. ++# @param $(dep) Dependcy file. This shall be (re)created by the compilation. ++# @param $(flags) Flags. ++# @param $(defs) Definitions. No -D or something. ++# @param $(incs) Includes. No -I or something. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# ++# @param $(outbase) Output basename (full). Use this for list files and such. ++# @param $(objsuff) Object suffix. ++TOOL_GCC2_COMPILE_C_DEPEND = ++TOOL_GCC2_COMPILE_C_DEPORD = ++ifdef KBUILD_USE_KOBJCACHE ++TOOL_GCC2_COMPILE_C_USES_KOBJCACHE = 1 ++TOOL_GCC2_COMPILE_C_OUTPUT = $(outbase).i ++define TOOL_GCC2_COMPILE_C_CMDS ++ $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\ ++ --kObjCache-cpp $(outbase).i\ ++ $(TOOL_GCC2_CC) -E -o -\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ $(abspath $(source))\ ++ --kObjCache-cc $(obj)\ ++ $(TOOL_GCC2_CC) -c\ ++ $(flags) -fpreprocessed -x c\ ++ -o $(obj)\ ++ - ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++else # !KBUILD_USE_KOBJCACHE ++TOOL_GCC2_COMPILE_C_OUTPUT = ++define TOOL_GCC2_COMPILE_C_CMDS ++ $(QUIET)$(TOOL_GCC2_CC) -c\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ -o $(obj)\ ++ $(abspath $(source)) ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++endif # !KBUILD_USE_KOBJCACHE ++ ++ ++## Compile C++ source. ++# @param $(target) Normalized main target name. ++# @param $(source) Source filename (relative). ++# @param $(obj) Object file name. This shall be (re)created by the compilation. ++# @param $(dep) Dependcy file. This shall be (re)created by the compilation. ++# @param $(flags) Flags. ++# @param $(defs) Definitions. No -D or something. ++# @param $(incs) Includes. No -I or something. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++# @param $(objsuff) Object suffix. ++TOOL_GCC2_COMPILE_CXX_DEPEND = ++TOOL_GCC2_COMPILE_CXX_DEPORD = ++ifdef KBUILD_USE_KOBJCACHE ++TOOL_GCC2_COMPILE_CXX_USES_KOBJCACHE = 1 ++TOOL_GCC2_COMPILE_CXX_OUTPUT = $(outbase).ii ++define TOOL_GCC2_COMPILE_CXX_CMDS ++ $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\ ++ --kObjCache-cpp $(outbase).ii\ ++ $(TOOL_GCC2_CXX) -E -o -\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ $(abspath $(source))\ ++ --kObjCache-cc $(obj)\ ++ $(TOOL_GCC2_CXX) -c\ ++ $(flags) -fpreprocessed -x c++\ ++ -o $(obj)\ ++ - ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++else # !KBUILD_USE_KOBJCACHE ++TOOL_GCC2_COMPILE_CXX_OUTPUT = ++define TOOL_GCC2_COMPILE_CXX_CMDS ++ $(QUIET)$(TOOL_GCC2_CXX) -c\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ -o $(obj)\ ++ $(abspath $(source)) ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++endif # !KBUILD_USE_KOBJCACHE ++ ++ ++## Compile Assembly source. ++# @param $(target) Normalized main target name. ++# @param $(source) Source filename (relative). ++# @param $(obj) Object file name. This shall be (re)created by the compilation. ++# @param $(dep) Dependcy file. This shall be (re)created by the compilation. ++# @param $(flags) Flags. ++# @param $(defs) Definitions. No -D or something. ++# @param $(incs) Includes. No -I or something. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++# @param $(objsuff) Object suffix. ++# ++TOOL_GCC2_COMPILE_AS_OUTPUT = ++TOOL_GCC2_COMPILE_AS_DEPEND = ++TOOL_GCC2_COMPILE_AS_DEPORD = ++define TOOL_GCC2_COMPILE_AS_CMDS ++ $(QUIET)$(TOOL_GCC2_AS) -c\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ -o $(obj)\ ++ $(abspath $(source)) ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++ ++ ++## Link library ++# @param $(target) Normalized main target name. ++# @param $(out) Library name. ++# @param $(objs) Object files to put in the library. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GCC2_LINK_LIBRARY_OUTPUT = $(out).ar-script ++TOOL_GCC2_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).imp.a ++TOOL_GCC2_LINK_LIBRARY_DEPEND = $(othersrc) ++TOOL_GCC2_LINK_LIBRARY_DEPORD = ++define TOOL_GCC2_LINK_LIBRARY_CMDS ++ $(QUIET)$(APPEND) $(out).ar-script 'CREATE $(out)' ++ $(QUIET)$(APPEND) -n $(out).ar-script \ ++ $(foreach o,$(objs), 'ADDMOD $(o)') \ ++ $(foreach o,$(filter-out %.def %.imp,$(othersrc)), 'ADDLIB $(o)') ++ $(if $(filter %.def %.imp,$(othersrc))\ ++ ,$(TOOL_GCC2_AR_IMP) -o $(outbase).imp.a $(filter %.def %.imp,$(othersrc))\ ++ $(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script 'ADDLIB $(outbase).imp.a') ++ $(QUIET)$(APPEND) $(out).ar-script 'SAVE' ++ $(QUIET)$(APPEND) $(out).ar-script 'END' ++ $(QUIET)$(REDIRECT) -rti $(out).ar-script -- $(TOOL_GCC2_AR) -M ++endef ++ ++ ++## Link program ++# @param $(target) Normalized main target name. ++# @param $(out) Program name. ++# @param $(objs) Object files to link together. ++# @param $(libs) Libraries to search. ++# @param $(libpath) Library search paths. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(custom_pre) Custom step invoked before linking. ++# @param $(custom_post) Custom step invoked after linking. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GCC2_LINK_PROGRAM_OUTPUT = ++TOOL_GCC2_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).map ++TOOL_GCC2_LINK_PROGRAM_OUTPUT_DEBUG = $(outbase).debug ++TOOL_GCC2_LINK_PROGRAM_DEBUG_INSTALL_FN = $(2).debug=>$(basename $(3)).debug ++TOOL_GCC2_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ ++ $(filter %.def, $(othersrc)) ++TOOL_GCC2_LINK_PROGRAM_DEPORD = ++define TOOL_GCC2_LINK_PROGRAM_CMDS ++ $(QUIET)$(TOOL_GCC2_LD) $(flags) -o $(out) $(objs)\ ++ $(filter %.def, $(othersrc))\ ++ $(foreach p,$(libpath), -L$(p))\ ++ $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib)))\ ++ $(call TOOL_GCC2_LD_MAP,$(outbase).map) ++ ifeq ($(ld_debug),split) ++ $(TOOL_GCC2_OBJCOPY) --only-keep-debug $(out) $(outbase).debug ++ $(CHMOD) a-x $(outbase).debug ++ $(TOOL_GCC2_OBJCOPY) --strip-debug --strip-unneeded --add-gnu-debuglink=$(outbase).debug $(out) ++ endif ++endef ++ ++ ++## Link DLL ++# @param $(target) Normalized main target name. ++# @param $(out) Program name. ++# @param $(objs) Object files to link together. ++# @param $(libs) Libraries to search. ++# @param $(libpath) Library search paths. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(custom_pre) Custom step invoked before linking. ++# @param $(custom_post) Custom step invoked after linking. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GCC2_LINK_DLL_OUTPUT = ++TOOL_GCC2_LINK_DLL_OUTPUT_MAYBE = $(outbase).map ++TOOL_GCC2_LINK_DLL_OUTPUT_DEBUG = $(outbase).debug ++TOOL_GCC2_LINK_DLL_DEBUG_INSTALL_FN = $(2).debug=>$(basename $(3)).debug ++TOOL_GCC2_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ ++ $(filter %.def, $(othersrc)) ++TOOL_GCC2_LINK_DLL_DEPORD = ++define TOOL_GCC2_LINK_DLL_CMDS ++ $(QUIET)$(TOOL_GCC2_LD) $(TOOL_GCC2_LDFLAGS.dll) $(flags) -o $(out)\ ++ $(if $(filter-out win os2, $(KBUILD_TARGET)),$(call TOOL_GCC2_LD_SONAME,$(target),$(out)))\ ++ $(objs)\ ++ $(filter %.def, $(othersrc))\ ++ $(foreach p,$(libpath), -L$(p))\ ++ $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib)))\ ++ $(call TOOL_GCC2_LD_MAP,$(outbase).map) ++ ifeq ($(ld_debug),split) ++ $(TOOL_GCC2_OBJCOPY) --only-keep-debug $(out) $(outbase).debug ++ $(CHMOD) a-x $(outbase).debug ++ $(TOOL_GCC2_OBJCOPY) --strip-debug --strip-unneeded --add-gnu-debuglink=$(outbase).debug $(out) ++ endif ++endef ++ ++ ++## Link system module (windows aka driver, linux aka kernel module) ++# @param $(target) Normalized main target name. ++# @param $(out) System module name. ++# @param $(objs) Object files to link together. ++# @param $(libs) Libraries to search. ++# @param $(libpath) Library search paths. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(custom_pre) Custom step invoked before linking. ++# @param $(custom_post) Custom step invoked after linking. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GCC2_LINK_SYSMOD_OUTPUT = ++TOOL_GCC2_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).map ++TOOL_GCC2_LINK_SYSMOD_OUTPUT_DEBUG = $(outbase).debug ++TOOL_GCC2_LINK_SYSMOD_DEBUG_INSTALL_FN = $(2).debug=>$(basename $(3)).debug ++TOOL_GCC2_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ ++ $(filter %.def, $(othersrc)) ++TOOL_GCC2_LINK_SYSMOD_DEPORD = ++define TOOL_GCC2_LINK_SYSMOD_CMDS ++ $(QUIET)$(TOOL_GCC2_LD_SYSMOD) $(TOOL_GCC2_LDFLAGS.sysmod) $(flags) -o $(out) $(objs)\ ++ $(filter %.def, $(othersrc))\ ++ $(foreach p,$(libpath), -L$(p))\ ++ $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib)))\ ++ $(call TOOL_GCC2_LD_SYSMOD_MAP,$(outbase).map) ++ ifeq ($(ld_debug),split) ++ $(TOOL_GCC2_OBJCOPY) --only-keep-debug $(out) $(outbase).debug ++ $(CHMOD) a-x $(outbase).debug ++ $(TOOL_GCC2_OBJCOPY) --strip-debug --strip-unneeded --add-gnu-debuglink=$(outbase).debug $(out) ++ 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 +@@ -0,0 +1,320 @@ ++# $Id: GCC2PLAIN.kmk 2545 2011-09-13 19:09:05Z bird $ ++## @file ++# kBuild Tool Config - Generic GCC v2.95.x or later Using The System GCC, any Unix Linker and Unix Archiver. ++# ++ ++# ++# Copyright (c) 2004-2010 knut st. osmundsen ++# ++# This file is part of kBuild. ++# ++# kBuild 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. ++# ++# kBuild 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 kBuild; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++# ++# ++# As a special exception you are granted permission to include this file, via ++# the kmk include directive, as you wish without this in itself causing the ++# resulting makefile, program or whatever to be covered by the GPL license. ++# This exception does not however invalidate any other reasons why the makefile, ++# program, whatever should not be covered the GPL. ++# ++# ++ ++TOOL_GCC2PLAIN := Generic GCC v2.95.x or later Using The System GCC, any Unix Linker and Unix Archiver. ++ ++# Tool Specific Properties ++TOOL_GCC2PLAIN_CC ?= gcc$(HOSTSUFF_EXE) ++TOOL_GCC2PLAIN_CXX ?= g++$(HOSTSUFF_EXE) ++TOOL_GCC2PLAIN_AS ?= gcc$(HOSTSUFF_EXE) ++TOOL_GCC2PLAIN_AR ?= ar$(HOSTSUFF_EXE) ++TOOL_GCC2PLAIN_RANLIB ?= ranlib$(HOSTSUFF_EXE) ++TOOL_GCC2PLAIN_LD ?= gcc$(HOSTSUFF_EXE) ++TOOL_GCC2PLAIN_LD_SYSMOD ?= ld$(HOSTSUFF_EXE) ++TOOL_GCC2PLAIN_LD_SYSMOD.os2 ?= g++$(HOSTSUFF_EXE) ++TOOL_GCC2PLAIN_LDFLAGS.dll.os2 ?= -Zdll ++TOOL_GCC2PLAIN_LDFLAGS.dll.darwin ?= -dynamiclib ++ifndef TOOL_GCC2PLAIN_LDFLAGS.$(KBUILD_TARGET) ++ TOOL_GCC2PLAIN_LDFLAGS.dll ?= -shared ++else ++ TOOL_GCC2PLAIN_LDFLAGS.dll ?= $(TOOL_GCC2PLAIN_LDFLAGS.$(KBUILD_TARGET)) ++endif ++TOOL_GCC2PLAIN_LD_SONAME.darwin ?= $(NO_SUCH_VARIABLE) ++TOOL_GCC2PLAIN_LD_SONAME.os2 ?= $(NO_SUCH_VARIABLE) ++TOOL_GCC2PLAIN_LD_SONAME.solaris ?= -Wl,-h,$(firstword $($(1)_SONAME.$(KBUILD_TARGET).$(KBUILD_TYPE)) $($(1)_SONAME.$(KBUILD_TARGET)) $($(1)_SONAME.$(KBUILD_TYPE)) $($(1)_SONAME) $(notdir $(2))) ++TOOL_GCC2PLAIN_LD_SONAME.win ?= $(NO_SUCH_VARIABLE) ++ifndef TOOL_GCC2PLAIN_LD_SONAME.$(KBUILD_TARGET) ++ TOOL_GCC2PLAIN_LD_SONAME ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(KBUILD_TARGET).$(KBUILD_TYPE)) $($(1)_SONAME.$(KBUILD_TARGET)) $($(1)_SONAME.$(KBUILD_TYPE)) $($(1)_SONAME) $(notdir $(2))) ++else ++ TOOL_GCC2PLAIN_LD_SONAME ?= $(TOOL_GCC2PLAIN_LD_SONAME.$(KBUILD_TARGET)) ++endif ++ifdef SLKRUNS ++ TOOL_GCC2PLAIN_CC += -fmessage-length=0 ++ TOOL_GCC2PLAIN_CXX += -fmessage-length=0 ++endif ++ ++# General Properties used by kBuild ++TOOL_GCC2PLAIN_COBJSUFF ?= .o ++TOOL_GCC2PLAIN_CFLAGS ?= ++TOOL_GCC2PLAIN_CFLAGS.debug ?= -g ++TOOL_GCC2PLAIN_CFLAGS.profile ?= -O2 #-g -pg ++TOOL_GCC2PLAIN_CFLAGS.release ?= -O2 ++TOOL_GCC2PLAIN_CINCS ?= ++TOOL_GCC2PLAIN_CDEFS ?= ++ ++TOOL_GCC2PLAIN_CXXOBJSUFF ?= .o ++TOOL_GCC2PLAIN_CXXOBJSUFF ?= .o ++TOOL_GCC2PLAIN_CXXFLAGS ?= ++TOOL_GCC2PLAIN_CXXFLAGS.debug ?= -g ++TOOL_GCC2PLAIN_CXXFLAGS.profile ?= -O2 #-g -pg ++TOOL_GCC2PLAIN_CXXFLAGS.release ?= -O2 ++TOOL_GCC2PLAIN_CXXINCS ?= ++TOOL_GCC2PLAIN_CXXDEFS ?= ++ ++TOOL_GCC2PLAIN_ASFLAGS ?= -x assembler-with-cpp ++TOOL_GCC2PLAIN_ASFLAGS.debug ?= -g ++TOOL_GCC2PLAIN_ASFLAGS.profile ?= -g ++TOOL_GCC2PLAIN_ASOBJSUFF ?= .o ++ ++TOOL_GCC2PLAIN_ARFLAGS ?= cr ++TOOL_GCC2PLAIN_ARLIBSUFF ?= .a ++ ++TOOL_GCC2PLAIN_LDFLAGS ?= ++ ++ ++## Compile C source. ++# @param $(target) Normalized main target name. ++# @param $(source) Source filename (relative). ++# @param $(obj) Object file name. This shall be (re)created by the compilation. ++# @param $(dep) Dependcy file. This shall be (re)created by the compilation. ++# @param $(flags) Flags. ++# @param $(defs) Definitions. No -D or something. ++# @param $(incs) Includes. No -I or something. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# ++# @param $(outbase) Output basename (full). Use this for list files and such. ++# @param $(objsuff) Object suffix. ++TOOL_GCC2PLAIN_COMPILE_C_DEPEND = ++TOOL_GCC2PLAIN_COMPILE_C_DEPORD = ++ifdef KBUILD_USE_KOBJCACHE ++TOOL_GCC2PLAIN_COMPILE_C_USES_KOBJCACHE = 1 ++TOOL_GCC2PLAIN_COMPILE_C_OUTPUT = $(outbase).i ++define TOOL_GCC2PLAIN_COMPILE_C_CMDS ++ $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\ ++ --kObjCache-cpp $(outbase).i\ ++ $(TOOL_GCC2PLAIN_CC) -E -o -\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ $(abspath $(source))\ ++ --kObjCache-cc $(obj)\ ++ $(TOOL_GCC2PLAIN_CC) -c\ ++ $(flags) -fpreprocessed -x c\ ++ -o $(obj)\ ++ - ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++else # !KBUILD_USE_KOBJCACHE ++TOOL_GCC2PLAIN_COMPILE_C_OUTPUT = ++define TOOL_GCC2PLAIN_COMPILE_C_CMDS ++ $(QUIET)$(TOOL_GCC2PLAIN_CC) -c\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ -o $(obj)\ ++ $(abspath $(source)) ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++endif # !KBUILD_USE_KOBJCACHE ++ ++ ++## Compile C++ source. ++# @param $(target) Normalized main target name. ++# @param $(source) Source filename (relative). ++# @param $(obj) Object file name. This shall be (re)created by the compilation. ++# @param $(dep) Dependcy file. This shall be (re)created by the compilation. ++# @param $(flags) Flags. ++# @param $(defs) Definitions. No -D or something. ++# @param $(incs) Includes. No -I or something. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++# @param $(objsuff) Object suffix. ++TOOL_GCC2PLAIN_COMPILE_CXX_DEPEND = ++TOOL_GCC2PLAIN_COMPILE_CXX_DEPORD = ++ifdef KBUILD_USE_KOBJCACHE ++TOOL_GCC2PLAIN_COMPILE_CXX_USES_KOBJCACHE = 1 ++TOOL_GCC2PLAIN_COMPILE_CXX_OUTPUT = $(outbase).ii ++define TOOL_GCC2PLAIN_COMPILE_CXX_CMDS ++ $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\ ++ --kObjCache-cpp $(outbase).ii\ ++ $(TOOL_GCC2PLAIN_CXX) -E -o -\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ $(abspath $(source))\ ++ --kObjCache-cc $(obj)\ ++ $(TOOL_GCC2PLAIN_CXX) -c\ ++ $(flags) -fpreprocessed -x c++\ ++ -o $(obj)\ ++ - ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++else # !KBUILD_USE_KOBJCACHE ++TOOL_GCC2PLAIN_COMPILE_CXX_OUTPUT = ++define TOOL_GCC2PLAIN_COMPILE_CXX_CMDS ++ $(QUIET)$(TOOL_GCC2PLAIN_CXX) -c\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ -o $(obj)\ ++ $(abspath $(source)) ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++endif # !KBUILD_USE_KOBJCACHE ++ ++ ++## Compile Assembly source. ++# @param $(target) Normalized main target name. ++# @param $(source) Source filename (relative). ++# @param $(obj) Object file name. This shall be (re)created by the compilation. ++# @param $(dep) Dependcy file. This shall be (re)created by the compilation. ++# @param $(flags) Flags. ++# @param $(defs) Definitions. No -D or something. ++# @param $(incs) Includes. No -I or something. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++# @param $(objsuff) Object suffix. ++# ++TOOL_GCC2PLAIN_COMPILE_AS_OUTPUT = ++TOOL_GCC2PLAIN_COMPILE_AS_DEPEND = ++TOOL_GCC2PLAIN_COMPILE_AS_DEPORD = ++define TOOL_GCC2PLAIN_COMPILE_AS_CMDS ++ $(QUIET)$(TOOL_GCC2PLAIN_AS) -c\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ -o $(obj)\ ++ $(abspath $(source)) ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++ ++ ++## Link library ++# @param $(target) Normalized main target name. ++# @param $(out) Library name. ++# @param $(objs) Object files to put in the library. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GCC2PLAIN_LINK_LIBRARY_OUTPUT = ++TOOL_GCC2PLAIN_LINK_LIBRARY_DEPEND = $(othersrc) ++TOOL_GCC2PLAIN_LINK_LIBRARY_DEPORD = ++define TOOL_GCC2PLAIN_LINK_LIBRARY_CMDS ++ $(call xargs,$(QUIET)$(TOOL_GCC2PLAIN_AR) $(flags) $(out),$(objs)) ++ $(foreach lib,$(othersrc)\ ++ ,$(NL)$(TAB)$(call MSG_AR_MERGE,$(target),$(out),$(lib)) \ ++ $(NL)$(TAB)$(QUIET)$(RM_EXT) -f $(dir $(outbase))ar.tmp.dir/* \ ++ $(NL)$(TAB)$(QUIET)$(MKDIR) -p $(dir $(outbase))/ar.tmp.dir/ \ ++ $(NL)$(TAB)$(QUIET)(cd $(dir $(outbase))ar.tmp.dir/ \ ++ && $(TOOL_GCC2PLAIN_AR) x $(abspath $(lib)) \ ++ && $(TOOL_GCC2PLAIN_AR) $(flags) $(out) *) \ ++ $(NL)$(TAB)$(QUIET)$(RM_EXT) -f $(dir $(outbase))/ar.tmp.dir/* \ ++ $(NL)$(TAB)$(QUIET)$(RMDIR) $(dir $(outbase))ar.tmp.dir/) ++ $(QUIET)$(TOOL_GCC2PLAIN_RANLIB) $(out) ++endef ++ ++ ++## Link program ++# @param $(target) Normalized main target name. ++# @param $(out) Program name. ++# @param $(objs) Object files to link together. ++# @param $(libs) Libraries to search. ++# @param $(libpath) Library search paths. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(custom_pre) Custom step invoked before linking. ++# @param $(custom_post) Custom step invoked after linking. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GCC2PLAIN_LINK_PROGRAM_OUTPUT = ++TOOL_GCC2PLAIN_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).map ++TOOL_GCC2PLAIN_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ ++ $(filter %.def, $(othersrc)) ++TOOL_GCC2PLAIN_LINK_PROGRAM_DEPORD = ++define TOOL_GCC2PLAIN_LINK_PROGRAM_CMDS ++ $(QUIET)$(TOOL_GCC2PLAIN_LD) $(flags) -o $(out) $(objs)\ ++ $(filter %.def, $(othersrc))\ ++ $(foreach p,$(libpath), -L$(p))\ ++ $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib))) ++endef ++ ++ ++## Link DLL ++# @param $(target) Normalized main target name. ++# @param $(out) Program name. ++# @param $(objs) Object files to link together. ++# @param $(libs) Libraries to search. ++# @param $(libpath) Library search paths. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(custom_pre) Custom step invoked before linking. ++# @param $(custom_post) Custom step invoked after linking. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GCC2PLAIN_LINK_DLL_OUTPUT = ++TOOL_GCC2PLAIN_LINK_DLL_OUTPUT_MAYBE = $(outbase).map ++TOOL_GCC2PLAIN_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ ++ $(filter %.def, $(othersrc)) ++TOOL_GCC2PLAIN_LINK_DLL_DEPORD = ++define TOOL_GCC2PLAIN_LINK_DLL_CMDS ++ $(QUIET)$(TOOL_GCC2PLAIN_LD) $(TOOL_GCC2PLAIN_LDFLAGS.dll) $(flags) -o $(out)\ ++ $(if $(filter-out win32 os2, $(KBUILD_TARGET)),$(call TOOL_GCC2PLAIN_LD_SONAME,$(target),$(out)))\ ++ $(objs)\ ++ $(filter %.def, $(othersrc))\ ++ $(foreach p,$(libpath), -L$(p))\ ++ $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib))) ++endef ++ ++ ++## Link system module (windows aka driver, linux aka kernel module) ++# This tool target might not work everywhere, but is provided for the ++# platforms where it works (Solaris, etc). ++# ++# @param $(target) Normalized main target name. ++# @param $(out) System module name. ++# @param $(objs) Object files to link together. ++# @param $(libs) Libraries to search. ++# @param $(libpath) Library search paths. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(custom_pre) Custom step invoked before linking. ++# @param $(custom_post) Custom step invoked after linking. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GCC2PLAIN_LINK_SYSMOD_OUTPUT = ++TOOL_GCC2PLAIN_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).map ++TOOL_GCC2PLAIN_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ ++ $(filter %.def, $(othersrc)) ++TOOL_GCC2PLAIN_LINK_SYSMOD_DEPORD = ++define TOOL_GCC2PLAIN_LINK_SYSMOD_CMDS ++ $(QUIET)$(if $(TOOL_GCC2PLAIN_LD_SYSMOD.$(bld_trg)),$(TOOL_GCC2PLAIN_LD_SYSMOD.$(bld_trg)),$(TOOL_GCC2PLAIN_LD_SYSMOD))\ ++ $(TOOL_GCC2PLAIN_LDFLAGS_SYSMOD.$(bld_trg)) $(flags) -o $(out)\ ++ $(objs)\ ++ $(filter %.def, $(othersrc))\ ++ $(foreach p,$(libpath), -L$(p))\ ++ $(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 +@@ -0,0 +1,352 @@ ++# $Id: GXX2.kmk 2541 2011-08-03 09:51:30Z bird $ ++## @file ++# kBuild Tool Config - Generic GCC v2.95.x using the system GCC and Binutils, for building C++ code. ++# ++ ++# ++# Copyright (c) 2004-2010 knut st. osmundsen ++# ++# This file is part of kBuild. ++# ++# kBuild 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. ++# ++# kBuild 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 kBuild; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++# ++# ++# As a special exception you are granted permission to include this file, via ++# the kmk include directive, as you wish without this in itself causing the ++# resulting makefile, program or whatever to be covered by the GPL license. ++# This exception does not however invalidate any other reasons why the makefile, ++# program, whatever should not be covered the GPL. ++# ++# ++ ++TOOL_GXX2 := Generic GCC v2.95.x or later using the system GCC and Binutils, for building C++ code. ++ ++# Tool Specific Properties ++TOOL_GXX2_CC ?= gcc$(HOSTSUFF_EXE) ++TOOL_GXX2_CXX ?= g++$(HOSTSUFF_EXE) ++TOOL_GXX2_AS ?= gcc$(HOSTSUFF_EXE) ++ifeq ($(KBUILD_TARGET),solaris) ++ TOOL_GXX2_AR ?= gar$(HOSTSUFF_EXE) ++else ++ TOOL_GXX2_AR ?= ar$(HOSTSUFF_EXE) ++endif ++ifeq ($(KBUILD_TARGET),os2) ++ TOOL_GXX2_AR_IMP ?= emximp$(HOSTSTUFF_EXE) ++else ++ TOOL_GXX2_AR_IMP ?= $(ECHO) not supported! ++endif ++TOOL_GXX2_LD ?= g++$(HOSTSUFF_EXE) ++TOOL_GXX2_LD_SYSMOD ?= ld$(HOSTSUFF_EXE) ++ifndef TOOL_GXX2_LDFLAGS.$(KBUILD_TARGET) ++ TOOL_GXX2_LDFLAGS.dll ?= -shared ++else ++ TOOL_GXX2_LDFLAGS.dll ?= $(TOOL_GXX2_LDFLAGS.$(KBUILD_TARGET)) ++endif ++TOOL_GXX2_LDFLAGS.sysmod ?= -r ++TOOL_GXX2_LD_SONAME ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(KBUILD_TARGET).$(KBUILD_TYPE)) $($(1)_SONAME.$(KBUILD_TARGET)) $($(1)_SONAME.$(KBUILD_TYPE)) $($(1)_SONAME) $(notdir $(2))) ++ifeq ($(KBUILD_TARGET),os2) ++ TOOL_GXX2_LD_MAP ?= -Zmap=$(1) ++ TOOL_GXX2_LD_SYSMOD_MAP ?= -Zmap=$(1) ++else ++ TOOL_GXX2_LD_MAP ?= ++ TOOL_GXX2_LD_SYSMOD_MAP ?= ++endif ++if1of ($(KBUILD_HOST), solaris) ++ TOOL_GXX2_OBJCOPY ?= gobjcopy$(HOSTSUFF_EXE) ++else ++ TOOL_GXX2_OBJCOPY ?= objcopy$(HOSTSUFF_EXE) ++endif ++ ++ifdef SLKRUNS ++ TOOL_GXX2_CC += -fmessage-length=0 ++ TOOL_GXX2_CXX += -fmessage-length=0 ++endif ++ ++# General Properties used by kBuild ++TOOL_GXX2_COBJSUFF ?= .o ++TOOL_GXX2_CFLAGS ?= ++TOOL_GXX2_CFLAGS.debug ?= -g ++TOOL_GXX2_CFLAGS.profile ?= -O2 #-g -pg ++TOOL_GXX2_CFLAGS.release ?= -O2 ++TOOL_GXX2_CINCS ?= ++TOOL_GXX2_CDEFS ?= ++ ++TOOL_GXX2_CXXOBJSUFF ?= .o ++TOOL_GXX2_CXXOBJSUFF ?= .o ++TOOL_GXX2_CXXFLAGS ?= ++TOOL_GXX2_CXXFLAGS.debug ?= -g ++TOOL_GXX2_CXXFLAGS.profile ?= -O2 #-g -pg ++TOOL_GXX2_CXXFLAGS.release ?= -O2 ++TOOL_GXX2_CXXINCS ?= ++TOOL_GXX2_CXXDEFS ?= ++ ++TOOL_GXX2_ASFLAGS ?= -x assembler-with-cpp ++TOOL_GXX2_ASFLAGS.debug ?= -g ++TOOL_GXX2_ASFLAGS.profile ?= -g ++TOOL_GXX2_ASOBJSUFF ?= .o ++ ++TOOL_GXX2_ARFLAGS ?= cr ++TOOL_GXX2_ARLIBSUFF ?= .a ++ ++TOOL_GXX2_LDFLAGS ?= ++TOOL_GXX2_LDFLAGS.debug ?= -g ++TOOL_GXX2_LDFLAGS.profile ?= -g ++ ++ ++## Compile C source. ++# @param $(target) Normalized main target name. ++# @param $(source) Source filename (relative). ++# @param $(obj) Object file name. This shall be (re)created by the compilation. ++# @param $(dep) Dependcy file. This shall be (re)created by the compilation. ++# @param $(flags) Flags. ++# @param $(defs) Definitions. No -D or something. ++# @param $(incs) Includes. No -I or something. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# ++# @param $(outbase) Output basename (full). Use this for list files and such. ++# @param $(objsuff) Object suffix. ++TOOL_GXX2_COMPILE_C_DEPEND = ++TOOL_GXX2_COMPILE_C_DEPORD = ++ifdef KBUILD_USE_KOBJCACHE ++TOOL_GXX2_COMPILE_C_USES_KOBJCACHE = 1 ++TOOL_GXX2_COMPILE_C_OUTPUT = $(outbase).i ++define TOOL_GXX2_COMPILE_C_CMDS ++ $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\ ++ --kObjCache-cpp $(outbase).i\ ++ $(TOOL_GXX2_CC) -E -o -\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ $(abspath $(source))\ ++ --kObjCache-cc $(obj)\ ++ $(TOOL_GXX2_CC) -c\ ++ $(flags) -fpreprocessed -x c\ ++ -o $(obj)\ ++ - ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++else # !KBUILD_USE_KOBJCACHE ++TOOL_GXX2_COMPILE_C_OUTPUT = ++define TOOL_GXX2_COMPILE_C_CMDS ++ $(QUIET)$(TOOL_GXX2_CC) -c\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ -o $(obj)\ ++ $(abspath $(source)) ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++endif # !KBUILD_USE_KOBJCACHE ++ ++ ++## Compile C++ source. ++# @param $(target) Normalized main target name. ++# @param $(source) Source filename (relative). ++# @param $(obj) Object file name. This shall be (re)created by the compilation. ++# @param $(dep) Dependcy file. This shall be (re)created by the compilation. ++# @param $(flags) Flags. ++# @param $(defs) Definitions. No -D or something. ++# @param $(incs) Includes. No -I or something. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++# @param $(objsuff) Object suffix. ++TOOL_GXX2_COMPILE_CXX_DEPEND = ++TOOL_GXX2_COMPILE_CXX_DEPORD = ++ifdef KBUILD_USE_KOBJCACHE ++TOOL_GXX2_COMPILE_CXX_USES_KOBJCACHE = 1 ++TOOL_GXX2_COMPILE_CXX_OUTPUT = $(outbase).ii ++define TOOL_GXX2_COMPILE_CXX_CMDS ++ $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\ ++ --kObjCache-cpp $(outbase).ii\ ++ $(TOOL_GXX2_CXX) -E -o -\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ $(abspath $(source))\ ++ --kObjCache-cc $(obj)\ ++ $(TOOL_GXX2_CXX) -c\ ++ $(flags) -fpreprocessed -x c++\ ++ -o $(obj)\ ++ - ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++else # !KBUILD_USE_KOBJCACHE ++TOOL_GXX2_COMPILE_CXX_OUTPUT = ++define TOOL_GXX2_COMPILE_CXX_CMDS ++ $(QUIET)$(TOOL_GXX2_CXX) -c\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ -o $(obj)\ ++ $(abspath $(source)) ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++endif # !KBUILD_USE_KOBJCACHE ++ ++ ++## Compile Assembly source. ++# @param $(target) Normalized main target name. ++# @param $(source) Source filename (relative). ++# @param $(obj) Object file name. This shall be (re)created by the compilation. ++# @param $(dep) Dependcy file. This shall be (re)created by the compilation. ++# @param $(flags) Flags. ++# @param $(defs) Definitions. No -D or something. ++# @param $(incs) Includes. No -I or something. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++# @param $(objsuff) Object suffix. ++# ++TOOL_GXX2_COMPILE_AS_OUTPUT = ++TOOL_GXX2_COMPILE_AS_DEPEND = ++TOOL_GXX2_COMPILE_AS_DEPORD = ++define TOOL_GXX2_COMPILE_AS_CMDS ++ $(QUIET)$(TOOL_GXX2_AS) -c\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ -o $(obj)\ ++ $(abspath $(source)) ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++ ++ ++## Link library ++# @param $(target) Normalized main target name. ++# @param $(out) Library name. ++# @param $(objs) Object files to put in the library. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GXX2_LINK_LIBRARY_OUTPUT = $(out).ar-script ++TOOL_GXX2_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).imp.a ++TOOL_GXX2_LINK_LIBRARY_DEPEND = $(othersrc) ++TOOL_GXX2_LINK_LIBRARY_DEPORD = ++define TOOL_GXX2_LINK_LIBRARY_CMDS ++ $(QUIET)$(APPEND) $(out).ar-script 'CREATE $(out)' ++ $(QUIET)$(APPEND) -n $(out).ar-script \ ++ $(foreach o,$(objs), 'ADDMOD $(o)') \ ++ $(foreach o,$(filter-out %.def %.imp,$(othersrc)), 'ADDLIB $(o)') ++ $(if $(filter %.def %.imp,$(othersrc))\ ++ ,$(TOOL_GXX2_AR_IMP) -o $(outbase).imp.a $(filter %.def %.imp,$(othersrc))\ ++ $(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script 'ADDLIB $(outbase).imp.a') ++ $(QUIET)$(APPEND) $(out).ar-script 'SAVE' ++ $(QUIET)$(APPEND) $(out).ar-script 'END' ++ $(QUIET)$(REDIRECT) -rti $(out).ar-script -- $(TOOL_GXX2_AR) -M ++endef ++ ++ ++## Link program ++# @param $(target) Normalized main target name. ++# @param $(out) Program name. ++# @param $(objs) Object files to link together. ++# @param $(libs) Libraries to search. ++# @param $(libpath) Library search paths. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(custom_pre) Custom step invoked before linking. ++# @param $(custom_post) Custom step invoked after linking. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GXX2_LINK_PROGRAM_OUTPUT = ++TOOL_GXX2_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).map ++TOOL_GXX2_LINK_PROGRAM_OUTPUT_DEBUG = $(outbase).debug ++TOOL_GXX2_LINK_PROGRAM_DEBUG_INSTALL_FN = $(2).debug=>$(basename $(3)).debug ++TOOL_GXX2_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ ++ $(filter %.def, $(othersrc)) ++TOOL_GXX2_LINK_PROGRAM_DEPORD = ++define TOOL_GXX2_LINK_PROGRAM_CMDS ++ $(QUIET)$(TOOL_GXX2_LD) $(flags) -o $(out) $(objs)\ ++ $(filter %.def, $(othersrc))\ ++ $(foreach p,$(libpath), -L$(p))\ ++ $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib)))\ ++ $(call TOOL_GXX2_LD_MAP,$(outbase).map) ++ ifeq ($(ld_debug),split) ++ $(TOOL_GXX2_OBJCOPY) --only-keep-debug $(out) $(outbase).debug ++ $(CHMOD) a-x $(outbase).debug ++ $(TOOL_GXX2_OBJCOPY) --strip-debug --strip-unneeded --add-gnu-debuglink=$(outbase).debug $(out) ++ endif ++endef ++ ++ ++## Link DLL ++# @param $(target) Normalized main target name. ++# @param $(out) Program name. ++# @param $(objs) Object files to link together. ++# @param $(libs) Libraries to search. ++# @param $(libpath) Library search paths. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(custom_pre) Custom step invoked before linking. ++# @param $(custom_post) Custom step invoked after linking. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GXX2_LINK_DLL_OUTPUT = ++TOOL_GXX2_LINK_DLL_OUTPUT_MAYBE = $(outbase).map ++TOOL_GXX2_LINK_DLL_OUTPUT_DEBUG = $(outbase).debug ++TOOL_GXX2_LINK_DLL_DEBUG_INSTALL_FN = $(2).debug=>$(basename $(3)).debug ++TOOL_GXX2_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ ++ $(filter %.def, $(othersrc)) ++TOOL_GXX2_LINK_DLL_DEPORD = ++define TOOL_GXX2_LINK_DLL_CMDS ++ $(QUIET)$(TOOL_GXX2_LD) $(TOOL_GXX2_LDFLAGS.dll) $(flags) -o $(out)\ ++ $(if $(filter-out win os2, $(KBUILD_TARGET)),$(call TOOL_GXX2_LD_SONAME,$(target),$(out)))\ ++ $(objs)\ ++ $(filter %.def, $(othersrc))\ ++ $(foreach p,$(libpath), -L$(p))\ ++ $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib)))\ ++ $(call TOOL_GXX2_LD_MAP,$(outbase).map) ++ ifeq ($(ld_debug),split) ++ $(TOOL_GXX2_OBJCOPY) --only-keep-debug $(out) $(outbase).debug ++ $(CHMOD) a-x $(outbase).debug ++ $(TOOL_GXX2_OBJCOPY) --strip-debug --strip-unneeded --add-gnu-debuglink=$(outbase).debug $(out) ++ endif ++endef ++ ++ ++## Link system module (windows aka driver, linux aka kernel module) ++# @param $(target) Normalized main target name. ++# @param $(out) System module name. ++# @param $(objs) Object files to link together. ++# @param $(libs) Libraries to search. ++# @param $(libpath) Library search paths. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(custom_pre) Custom step invoked before linking. ++# @param $(custom_post) Custom step invoked after linking. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GXX2_LINK_SYSMOD_OUTPUT = ++TOOL_GXX2_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).map ++TOOL_GXX2_LINK_SYSMOD_OUTPUT_DEBUG = $(outbase).debug ++TOOL_GXX2_LINK_SYSMOD_DEBUG_INSTALL_FN = $(2).debug=>$(basename $(3)).debug ++TOOL_GXX2_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ ++ $(filter %.def, $(othersrc)) ++TOOL_GXX2_LINK_SYSMOD_DEPORD = ++define TOOL_GXX2_LINK_SYSMOD_CMDS ++ $(QUIET)$(TOOL_GXX2_LD_SYSMOD) $(TOOL_GXX2_LDFLAGS.sysmod) $(flags) -o $(out) $(objs)\ ++ $(filter %.def, $(othersrc))\ ++ $(foreach p,$(libpath), -L$(p))\ ++ $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib)))\ ++ $(call TOOL_GXX2_LD_SYSMOD_MAP,$(outbase).map) ++ ifeq ($(ld_debug),split) ++ $(TOOL_GXX2_OBJCOPY) --only-keep-debug $(out) $(outbase).debug ++ $(CHMOD) a-x $(outbase).debug ++ $(TOOL_GXX2_OBJCOPY) --strip-debug --strip-unneeded --add-gnu-debuglink=$(outbase).debug $(out) ++ 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 +@@ -0,0 +1,320 @@ ++# $Id: GXX2PLAIN.kmk 2545 2011-09-13 19:09:05Z bird $ ++## @file ++# kBuild Tool Config - Generic GCC v2.95.x or later using the system GCC, any Unix linker and Unix archiver to build C++ code. ++# ++ ++# ++# Copyright (c) 2004-2010 knut st. osmundsen ++# ++# This file is part of kBuild. ++# ++# kBuild 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. ++# ++# kBuild 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 kBuild; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++# ++# ++# As a special exception you are granted permission to include this file, via ++# the kmk include directive, as you wish without this in itself causing the ++# resulting makefile, program or whatever to be covered by the GPL license. ++# This exception does not however invalidate any other reasons why the makefile, ++# program, whatever should not be covered the GPL. ++# ++# ++ ++TOOL_GXX2PLAIN := Generic GCC v2.95.x or later using the system GCC, any Unix linker and Unix archiver to build C++ code. ++ ++# Tool Specific Properties ++TOOL_GXX2PLAIN_CC ?= gcc$(HOSTSUFF_EXE) ++TOOL_GXX2PLAIN_CXX ?= g++$(HOSTSUFF_EXE) ++TOOL_GXX2PLAIN_AS ?= gcc$(HOSTSUFF_EXE) ++TOOL_GXX2PLAIN_AR ?= ar$(HOSTSUFF_EXE) ++TOOL_GXX2PLAIN_RANLIB ?= ranlib$(HOSTSUFF_EXE) ++TOOL_GXX2PLAIN_LD ?= g++$(HOSTSUFF_EXE) ++TOOL_GXX2PLAIN_LD_SYSMOD ?= ld$(HOSTSUFF_EXE) ++TOOL_GXX2PLAIN_LD_SYSMOD.os2 ?= g++$(HOSTSUFF_EXE) ++TOOL_GXX2PLAIN_LDFLAGS.dll.os2 ?= -Zdll ++TOOL_GXX2PLAIN_LDFLAGS.dll.darwin ?= -dynamiclib ++ifndef TOOL_GXX2PLAIN_LDFLAGS.$(KBUILD_TARGET) ++ TOOL_GXX2PLAIN_LDFLAGS.dll ?= -shared ++else ++ TOOL_GXX2PLAIN_LDFLAGS.dll ?= $(TOOL_GXX2PLAIN_LDFLAGS.$(KBUILD_TARGET)) ++endif ++TOOL_GXX2PLAIN_LD_SONAME.darwin ?= $(NO_SUCH_VARIABLE) ++TOOL_GXX2PLAIN_LD_SONAME.os2 ?= $(NO_SUCH_VARIABLE) ++TOOL_GXX2PLAIN_LD_SONAME.solaris ?= -Wl,-h,$(firstword $($(1)_SONAME.$(KBUILD_TARGET).$(KBUILD_TYPE)) $($(1)_SONAME.$(KBUILD_TARGET)) $($(1)_SONAME.$(KBUILD_TYPE)) $($(1)_SONAME) $(notdir $(2))) ++TOOL_GXX2PLAIN_LD_SONAME.win ?= $(NO_SUCH_VARIABLE) ++ifndef TOOL_GXX2PLAIN_LD_SONAME.$(KBUILD_TARGET) ++ TOOL_GXX2PLAIN_LD_SONAME ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(KBUILD_TARGET).$(KBUILD_TYPE)) $($(1)_SONAME.$(KBUILD_TARGET)) $($(1)_SONAME.$(KBUILD_TYPE)) $($(1)_SONAME) $(notdir $(2))) ++else ++ TOOL_GXX2PLAIN_LD_SONAME ?= $(TOOL_GXX2PLAIN_LD_SONAME.$(KBUILD_TARGET)) ++endif ++ifdef SLKRUNS ++ TOOL_GXX2PLAIN_CC += -fmessage-length=0 ++ TOOL_GXX2PLAIN_CXX += -fmessage-length=0 ++endif ++ ++# General Properties used by kBuild ++TOOL_GXX2PLAIN_COBJSUFF ?= .o ++TOOL_GXX2PLAIN_CFLAGS ?= ++TOOL_GXX2PLAIN_CFLAGS.debug ?= -g ++TOOL_GXX2PLAIN_CFLAGS.profile ?= -O2 #-g -pg ++TOOL_GXX2PLAIN_CFLAGS.release ?= -O2 ++TOOL_GXX2PLAIN_CINCS ?= ++TOOL_GXX2PLAIN_CDEFS ?= ++ ++TOOL_GXX2PLAIN_CXXOBJSUFF ?= .o ++TOOL_GXX2PLAIN_CXXOBJSUFF ?= .o ++TOOL_GXX2PLAIN_CXXFLAGS ?= ++TOOL_GXX2PLAIN_CXXFLAGS.debug ?= -g ++TOOL_GXX2PLAIN_CXXFLAGS.profile ?= -O2 #-g -pg ++TOOL_GXX2PLAIN_CXXFLAGS.release ?= -O2 ++TOOL_GXX2PLAIN_CXXINCS ?= ++TOOL_GXX2PLAIN_CXXDEFS ?= ++ ++TOOL_GXX2PLAIN_ASFLAGS ?= -x assembler-with-cpp ++TOOL_GXX2PLAIN_ASFLAGS.debug ?= -g ++TOOL_GXX2PLAIN_ASFLAGS.profile ?= -g ++TOOL_GXX2PLAIN_ASOBJSUFF ?= .o ++ ++TOOL_GXX2PLAIN_ARFLAGS ?= cr ++TOOL_GXX2PLAIN_ARLIBSUFF ?= .a ++ ++TOOL_GXX2PLAIN_LDFLAGS ?= ++ ++ ++## Compile C source. ++# @param $(target) Normalized main target name. ++# @param $(source) Source filename (relative). ++# @param $(obj) Object file name. This shall be (re)created by the compilation. ++# @param $(dep) Dependcy file. This shall be (re)created by the compilation. ++# @param $(flags) Flags. ++# @param $(defs) Definitions. No -D or something. ++# @param $(incs) Includes. No -I or something. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# ++# @param $(outbase) Output basename (full). Use this for list files and such. ++# @param $(objsuff) Object suffix. ++TOOL_GXX2PLAIN_COMPILE_C_DEPEND = ++TOOL_GXX2PLAIN_COMPILE_C_DEPORD = ++ifdef KBUILD_USE_KOBJCACHE ++TOOL_GXX2PLAIN_COMPILE_C_USES_KOBJCACHE = 1 ++TOOL_GXX2PLAIN_COMPILE_C_OUTPUT = $(outbase).i ++define TOOL_GXX2PLAIN_COMPILE_C_CMDS ++ $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\ ++ --kObjCache-cpp $(outbase).i\ ++ $(TOOL_GXX2PLAIN_CC) -E -o -\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ $(abspath $(source))\ ++ --kObjCache-cc $(obj)\ ++ $(TOOL_GXX2PLAIN_CC) -c\ ++ $(flags) -fpreprocessed -x c\ ++ -o $(obj)\ ++ - ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++else # !KBUILD_USE_KOBJCACHE ++TOOL_GXX2PLAIN_COMPILE_C_OUTPUT = ++define TOOL_GXX2PLAIN_COMPILE_C_CMDS ++ $(QUIET)$(TOOL_GXX2PLAIN_CC) -c\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ -o $(obj)\ ++ $(abspath $(source)) ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++endif # !KBUILD_USE_KOBJCACHE ++ ++ ++## Compile C++ source. ++# @param $(target) Normalized main target name. ++# @param $(source) Source filename (relative). ++# @param $(obj) Object file name. This shall be (re)created by the compilation. ++# @param $(dep) Dependcy file. This shall be (re)created by the compilation. ++# @param $(flags) Flags. ++# @param $(defs) Definitions. No -D or something. ++# @param $(incs) Includes. No -I or something. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++# @param $(objsuff) Object suffix. ++TOOL_GXX2PLAIN_COMPILE_CXX_DEPEND = ++TOOL_GXX2PLAIN_COMPILE_CXX_DEPORD = ++ifdef KBUILD_USE_KOBJCACHE ++TOOL_GXX2PLAIN_COMPILE_CXX_USES_KOBJCACHE = 1 ++TOOL_GXX2PLAIN_COMPILE_CXX_OUTPUT = $(outbase).ii ++define TOOL_GXX2PLAIN_COMPILE_CXX_CMDS ++ $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\ ++ --kObjCache-cpp $(outbase).ii\ ++ $(TOOL_GXX2PLAIN_CXX) -E -o -\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ $(abspath $(source))\ ++ --kObjCache-cc $(obj)\ ++ $(TOOL_GXX2PLAIN_CXX) -c\ ++ $(flags) -fpreprocessed -x c++\ ++ -o $(obj)\ ++ - ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++else # !KBUILD_USE_KOBJCACHE ++TOOL_GXX2PLAIN_COMPILE_CXX_OUTPUT = ++define TOOL_GXX2PLAIN_COMPILE_CXX_CMDS ++ $(QUIET)$(TOOL_GXX2PLAIN_CXX) -c\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ -o $(obj)\ ++ $(abspath $(source)) ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++endif # !KBUILD_USE_KOBJCACHE ++ ++ ++## Compile Assembly source. ++# @param $(target) Normalized main target name. ++# @param $(source) Source filename (relative). ++# @param $(obj) Object file name. This shall be (re)created by the compilation. ++# @param $(dep) Dependcy file. This shall be (re)created by the compilation. ++# @param $(flags) Flags. ++# @param $(defs) Definitions. No -D or something. ++# @param $(incs) Includes. No -I or something. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++# @param $(objsuff) Object suffix. ++# ++TOOL_GXX2PLAIN_COMPILE_AS_OUTPUT = ++TOOL_GXX2PLAIN_COMPILE_AS_DEPEND = ++TOOL_GXX2PLAIN_COMPILE_AS_DEPORD = ++define TOOL_GXX2PLAIN_COMPILE_AS_CMDS ++ $(QUIET)$(TOOL_GXX2PLAIN_AS) -c\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ -o $(obj)\ ++ $(abspath $(source)) ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++ ++ ++## Link library ++# @param $(target) Normalized main target name. ++# @param $(out) Library name. ++# @param $(objs) Object files to put in the library. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GXX2PLAIN_LINK_LIBRARY_OUTPUT = ++TOOL_GXX2PLAIN_LINK_LIBRARY_DEPEND = $(othersrc) ++TOOL_GXX2PLAIN_LINK_LIBRARY_DEPORD = ++define TOOL_GXX2PLAIN_LINK_LIBRARY_CMDS ++ $(call xargs,$(QUIET)$(TOOL_GXX2PLAIN_AR) $(flags) $(out),$(objs)) ++ $(foreach lib,$(othersrc)\ ++ ,$(NL)$(TAB)$(call MSG_AR_MERGE,$(target),$(out),$(lib)) \ ++ $(NL)$(TAB)$(QUIET)$(RM_EXT) -f $(dir $(outbase))ar.tmp.dir/* \ ++ $(NL)$(TAB)$(QUIET)$(MKDIR) -p $(dir $(outbase))/ar.tmp.dir/ \ ++ $(NL)$(TAB)$(QUIET)(cd $(dir $(outbase))ar.tmp.dir/ \ ++ && $(TOOL_GXX2PLAIN_AR) x $(abspath $(lib)) \ ++ && $(TOOL_GXX2PLAIN_AR) $(flags) $(out) *) \ ++ $(NL)$(TAB)$(QUIET)$(RM_EXT) -f $(dir $(outbase))/ar.tmp.dir/* \ ++ $(NL)$(TAB)$(QUIET)$(RMDIR) $(dir $(outbase))ar.tmp.dir/) ++ $(QUIET)$(TOOL_GXX2PLAIN_RANLIB) $(out) ++endef ++ ++ ++## Link program ++# @param $(target) Normalized main target name. ++# @param $(out) Program name. ++# @param $(objs) Object files to link together. ++# @param $(libs) Libraries to search. ++# @param $(libpath) Library search paths. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(custom_pre) Custom step invoked before linking. ++# @param $(custom_post) Custom step invoked after linking. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GXX2PLAIN_LINK_PROGRAM_OUTPUT = ++TOOL_GXX2PLAIN_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).map ++TOOL_GXX2PLAIN_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ ++ $(filter %.def, $(othersrc)) ++TOOL_GXX2PLAIN_LINK_PROGRAM_DEPORD = ++define TOOL_GXX2PLAIN_LINK_PROGRAM_CMDS ++ $(QUIET)$(TOOL_GXX2PLAIN_LD) $(flags) -o $(out) $(objs)\ ++ $(filter %.def, $(othersrc))\ ++ $(foreach p,$(libpath), -L$(p))\ ++ $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib))) ++endef ++ ++ ++## Link DLL ++# @param $(target) Normalized main target name. ++# @param $(out) Program name. ++# @param $(objs) Object files to link together. ++# @param $(libs) Libraries to search. ++# @param $(libpath) Library search paths. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(custom_pre) Custom step invoked before linking. ++# @param $(custom_post) Custom step invoked after linking. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GXX2PLAIN_LINK_DLL_OUTPUT = ++TOOL_GXX2PLAIN_LINK_DLL_OUTPUT_MAYBE = $(outbase).map ++TOOL_GXX2PLAIN_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ ++ $(filter %.def, $(othersrc)) ++TOOL_GXX2PLAIN_LINK_DLL_DEPORD = ++define TOOL_GXX2PLAIN_LINK_DLL_CMDS ++ $(QUIET)$(TOOL_GXX2PLAIN_LD) $(TOOL_GXX2PLAIN_LDFLAGS.dll) $(flags) -o $(out)\ ++ $(if $(filter-out win32 os2, $(KBUILD_TARGET)),$(call TOOL_GXX2PLAIN_LD_SONAME,$(target),$(out)))\ ++ $(objs)\ ++ $(filter %.def, $(othersrc))\ ++ $(foreach p,$(libpath), -L$(p))\ ++ $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib))) ++endef ++ ++ ++## Link system module (windows aka driver, linux aka kernel module) ++# This tool target might not work everywhere, but is provided for the ++# platforms where it works (Solaris, etc). ++# ++# @param $(target) Normalized main target name. ++# @param $(out) System module name. ++# @param $(objs) Object files to link together. ++# @param $(libs) Libraries to search. ++# @param $(libpath) Library search paths. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(custom_pre) Custom step invoked before linking. ++# @param $(custom_post) Custom step invoked after linking. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GXX2PLAIN_LINK_SYSMOD_OUTPUT = ++TOOL_GXX2PLAIN_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).map ++TOOL_GXX2PLAIN_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ ++ $(filter %.def, $(othersrc)) ++TOOL_GXX2PLAIN_LINK_SYSMOD_DEPORD = ++define TOOL_GXX2PLAIN_LINK_SYSMOD_CMDS ++ $(QUIET)$(if $(TOOL_GXX2PLAIN_LD_SYSMOD.$(bld_trg)),$(TOOL_GXX2PLAIN_LD_SYSMOD.$(bld_trg)),$(TOOL_GXX2PLAIN_LD_SYSMOD))\ ++ $(TOOL_GXX2PLAIN_LDFLAGS_SYSMOD.$(bld_trg)) $(flags) -o $(out) \ ++ $(objs)\ ++ $(filter %.def, $(othersrc))\ ++ $(foreach p,$(libpath), -L$(p))\ ++ $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib))) ++endef ++ 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 new file mode 100644 index 000000000..e78aa103a --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox_guest_additions-4.3.53_svn.recipe @@ -0,0 +1,93 @@ +SUMMARY="VirtualBox kernel modules and user-space tools for Haiku guests" +DESCRIPTION=" +VirtualBox is a free x86 virtualization solution allowing a wide range \ +of x86 operating systems such as Windows, DOS, BSD or Linux to run on a \ +Linux system. + +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="" +#TODO:check user manual for full list +COPYRIGHT="2003-2014 Oracle Corporation." +#TODO:check user manual for full list +LICENSE=" + GNU GPL v2 + CDDL v1 + " +REVISION="1" +ARCHITECTURES="x86_gcc2 x86 x86_64" + +PROVIDES=" + virtualbox_guest_additions$secondaryArchSuffix = $portVersion + cmd:VBoxControl$secondaryArchSuffix = $portVersion + cmd:VBoxService$secondaryArchSuffix = $portVersion + cmd:VBoxTray$secondaryArchSuffix = $portVersion + " + +PATCHES="vbox-$portVersion.patch" + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + openssl$secondaryArchSuffix >= 1.0.0 + lib:libiconv$secondaryArchSuffix + lib:libz$secondaryArchSuffix + lib:libpng$secondaryArchSuffix +# lib:libstdc++$secondaryArchSuffix + lib:libcurl$secondaryArchSuffix + " + +BUILD_REQUIRES=" + openssl${secondaryArchSuffix}_devel >= 1.0.0 + devel:libiconv$secondaryArchSuffix + devel:libz$secondaryArchSuffix + devel:libpng$secondaryArchSuffix + devel:libcurl$secondaryArchSuffix + " + +BUILD_PREREQUIRES=" + # required for kmk_* which are compiled with gcc4 + haiku_x86 >= $haikuVersion + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:mkisofs + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:sed + cmd:which + cmd:yasm + " + +BUILD() +{ + # use the checked-out kBuild for now + export PATH="$PATH:$PWD/kBuild/bin/haiku.x86" + export USER=user + ./configure --build-headless --disable-python --disable-java --nofatal + source env.sh + kmk VBOX_ONLY_ADDITIONS=1 VBOX_WITH_ADDITION_DRIVERS=1 BUILD_TYPE=strict all +} + +INSTALL() +{ + op="out/haiku.x86/strict" + ap=$op/bin/additions + + tad="$addOnsDir" + tbd="$binDir" + + 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 "$tbd" + cp $ap/VBoxControl "$tbd/" + cp $ap/VBoxService "$tbd/" + cp $ap/VBoxTray "$tbd/" +} From d2e29f5188a818c75b786a134ba8be634fde0312 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Tue, 1 Jul 2014 13:48:02 -0400 Subject: [PATCH 29/49] Some fixes to the Ruby 1.9.3 recipe. * Disables GCC2 building * Creates new patch without the GCC2 fixes * Use the RC1 build instead of a pre-release * Does not work: claims it needs a working Ruby to build a working Ruby. Go figure. --- dev-lang/ruby/patches/ruby-1.9.3-rc1.patch | 76 +++++++++++++++ dev-lang/ruby/ruby-1.9.3.recipe | 102 ++++++++++++--------- 2 files changed, 136 insertions(+), 42 deletions(-) create mode 100644 dev-lang/ruby/patches/ruby-1.9.3-rc1.patch diff --git a/dev-lang/ruby/patches/ruby-1.9.3-rc1.patch b/dev-lang/ruby/patches/ruby-1.9.3-rc1.patch new file mode 100644 index 000000000..5c8d012b2 --- /dev/null +++ b/dev-lang/ruby/patches/ruby-1.9.3-rc1.patch @@ -0,0 +1,76 @@ +From 42b96a16ba5869966a39c4e338e7391dc5fa4dde Mon Sep 17 00:00:00 2001 +From: Augustin Cavalier +Date: Tue, 1 Jul 2014 13:12:33 -0400 +Subject: [PATCH] Merge Chris's fixes with the new Ruby. + +--- + configure.in | 13 ++++++++++--- + ext/nkf/nkf-utf8/nkf.h | 5 +++++ + signal.c | 2 +- + 3 files changed, 16 insertions(+), 4 deletions(-) + +diff --git a/configure.in b/configure.in +index 73c87b7..f4f6a23 100644 +--- a/configure.in ++++ b/configure.in +@@ -2121,11 +2121,14 @@ if test "$with_dln_a_out" != yes; then + [haiku*], [ AS_CASE(["$target_cpu"], + [powerpc*], [ + : ${LDSHARED="ld -xms"} +- DLDFLAGS="$DLDFLAGS "'-export Init_$(TARGET) -lbe -lroot glue-noinit.a init_term_dyn.o start_dyn.o' ++ DLDFLAGS="$DLDFLAGS "'-export Init_$(TARGET) -lroot glue-noinit.a init_term_dyn.o start_dyn.o' + ], + [i586*], [ +- : ${LDSHARED="ld -shared"} +- DLDFLAGS="$DLDFLAGS -L/boot/develop/lib/x86 -lbe -lroot" ++ : ${LDSHARED="${CC} -shared"} ++ if test "$rb_cv_binary_elf" = yes; then ++ LDFLAGS="$LDFLAGS -Wl,-export-dynamic" ++ fi ++ DLDFLAGS="$DLDFLAGS -L/boot/system/develop/lib -lroot -L/boot/home/config/develop/lib" + ]) + : ${LIBPATHENV=LIBRARY_PATH} + rb_cv_dlopen=yes ], +@@ -2401,6 +2404,10 @@ AS_CASE("$enable_shared", [yes], [ + LIBRUBY_DLDFLAGS='-f ruby.exp -lnet -lbe -lroot glue-noinit.a init_term_dyn.o start_dyn.o' + ]) + ], ++ [haiku*], [ ++ LIBRUBY_DLDFLAGS='-Wl,-soname,lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR)' ++ LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_SO_NAME).so' ++ ], + [darwin*], [ + RUBY_SO_NAME="$RUBY_SO_NAME"'.$(MAJOR).$(MINOR).$(TEENY)' + LIBRUBY_LDSHARED='$(CC) -dynamiclib' +diff --git a/ext/nkf/nkf-utf8/nkf.h b/ext/nkf/nkf-utf8/nkf.h +index a23ec5c..8351578 100644 +--- a/ext/nkf/nkf-utf8/nkf.h ++++ b/ext/nkf/nkf-utf8/nkf.h +@@ -164,6 +164,11 @@ void setbinmode(FILE *fp) + # ifndef HAVE_LOCALE_H + # define HAVE_LOCALE_H + # endif ++#elif defined(__HAIKU__) ++# undef HAVE_LANGINFO_H ++# ifndef HAVE_LOCALE_H ++# define HAVE_LOCALE_H ++# endif + #else + # ifndef HAVE_LANGINFO_H + # define HAVE_LANGINFO_H +diff --git a/signal.c b/signal.c +index d4e56dc..b6b2a20 100644 +--- a/signal.c ++++ b/signal.c +@@ -590,7 +590,7 @@ static int segv_received = 0; + static RETSIGTYPE + sigsegv(int sig SIGINFO_ARG) + { +-#ifdef USE_SIGALTSTACK ++#if defined USE_SIGALTSTACK && defined SA_SIGINFO + int ruby_stack_overflowed_p(const rb_thread_t *, const void *); + NORETURN(void ruby_thread_stack_overflow(rb_thread_t *th)); + rb_thread_t *th = GET_THREAD(); +-- +1.8.3.4 + diff --git a/dev-lang/ruby/ruby-1.9.3.recipe b/dev-lang/ruby/ruby-1.9.3.recipe index 8c9fd8a13..993b41cca 100644 --- a/dev-lang/ruby/ruby-1.9.3.recipe +++ b/dev-lang/ruby/ruby-1.9.3.recipe @@ -1,31 +1,48 @@ -SUMMARY="A programming language focused on simplicity and productivity" -DESCRIPTION=" -Ruby is a dynamic, reflective, object-oriented, general-purpose -programming language. It was designed and developed in the mid-1990s +SUMMARY="A programming language focused on simplicity and productivity." +DESCRIPTION="Ruby is a dynamic, reflective, object-oriented, general-purpose \ +programming language. It was designed and developed in the mid-1990s \ by Yukihiro 'Matz' Matsumoto in Japan. -Ruby embodies syntax inspired by Perl with Smalltalk-like features and -was also influenced by Eiffel and Lisp. It supports multiple -programming paradigms, including functional, object oriented, and -imperative. It also has a dynamic type system and automatic memory -management. Therefore, it is similar in varying degrees to, Smalltalk, +Ruby embodies syntax inspired by Perl with Smalltalk-like features and \ +was also influenced by Eiffel and Lisp. It supports multiple \ +programming paradigms, including functional, object oriented, and \ +imperative. It also has a dynamic type system and automatic memory \ +management. Therefore, it is similar in varying degrees to, Smalltalk, \ Python, Perl, Lisp, Dylan, and CLU." HOMEPAGE="http://www.ruby-lang.org" -SRC_URI="http://cache.ruby-lang.org/pub/ruby/ruby-1.9.3-p545.tar.bz2" -CHECKSUM_SHA256="2533de9f56d62f11c06a02dd32b5ab6d22a8f268c94b8e1e1ade6536adfd1aab" +SRC_URI="http://cache.ruby-lang.org/pub/ruby/ruby-1.9.3-rc1.tar.bz2" +SOURCE_DIR="ruby-1.9.3-rc1" +CHECKSUM_SHA256="951a8810086abca0e200f81767a518ee2730d6dc9b0cc2c7e3587dcfc3bf5fc8" LICENSE="Ruby GNU GPL v2 GNU LGPL v2.1 Artistic (Perl) BSD (3-clause)" COPYRIGHT="1993-2009 Yukihiro Matsumoto" +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" -REVISION="2" - -ARCHITECTURES="?x86_gcc2 ?x86 ?x86_64" +PATCHES="ruby-1.9.3-rc1.patch" PROVIDES=" - ruby = $portVersion compat >= 1.9 + ruby$secondaryArchSuffix = $portVersion compat >= 1.9 + cmd:ruby$secondaryArchSuffix = $portVersion compat >= 1.9 + cmd:erb$secondaryArchSuffix = $portVersion compat >= 1.9 + cmd:gem$secondaryArchSuffix = $portVersion compat >= 1.9 + cmd:irb$secondaryArchSuffix = $portVersion compat >= 1.9 + cmd:rake$secondaryArchSuffix = $portVersion compat >= 1.9 + cmd:rdoc$secondaryArchSuffix = $portVersion compat >= 1.9 + cmd:ri$secondaryArchSuffix = $portVersion compat >= 1.9 + cmd:testrb$secondaryArchSuffix = $portVersion compat >= 1.9 + lib:libruby$secondaryArchSuffix = $portVersion compat >= 1.9 cmd:ruby = $portVersion compat >= 1.9 cmd:erb = $portVersion compat >= 1.9 cmd:gem = $portVersion compat >= 1.9 @@ -34,57 +51,53 @@ PROVIDES=" cmd:rdoc = $portVersion compat >= 1.9 cmd:ri = $portVersion compat >= 1.9 cmd:testrb = $portVersion compat >= 1.9 - lib:libruby = $portVersion compat >= 1.9 " REQUIRES=" - haiku >= $haikuVersion - lib:libedit - lib:libz - lib:libcrypto - lib:libssl - lib:libiconv - lib:libncursesw + haiku$secondaryArchSuffix >= $haikuVersion + lib:libedit$secondaryArchSuffix + lib:libz$secondaryArchSuffix + lib:libcrypto$secondaryArchSuffix + lib:libssl$secondaryArchSuffix + lib:libiconv$secondaryArchSuffix + lib:libncursesw$secondaryArchSuffix " BUILD_REQUIRES=" - devel:libedit - devel:libz - devel:libcrypto - devel:libssl - devel:libiconv - devel:libncursesw + devel:libedit$secondaryArchSuffix + devel:libz$secondaryArchSuffix + devel:libcrypto$secondaryArchSuffix + devel:libssl$secondaryArchSuffix + devel:libiconv$secondaryArchSuffix + devel:libncursesw$secondaryArchSuffix + cmd:pkg_config$secondaryArchSuffix " BUILD_PREREQUIRES=" - haiku_devel >= $haikuVersion - cmd:gcc - cmd:g++ + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:gcc$secondaryArchSuffix + cmd:g++$secondaryArchSuffix cmd:autoconf cmd:make cmd:bison " PROVIDES_devel=" - ruby_devel = $portVersion - devel:libruby_static = $portVersion compat >= 1.9 - lib:libruby_static = $portVersion compat >= 1.9 - devel:libruby = $portVersion compat >= 1.9 + ruby${secondaryArchSuffix}_devel = $portVersion + devel:libruby_static$secondaryArchSuffix = $portVersion compat >= 1.9 + lib:libruby_static$secondaryArchSuffix = $portVersion compat >= 1.9 + devel:libruby$secondaryArchSuffix = $portVersion compat >= 1.9 " REQUIRES_devel=" - ruby == $portVersion + ruby$secondaryArchSuffix == $portVersion base " -SOURCE_DIR="ruby-1.9.3-p545" - -PATCHES="ruby-1.9.3.patchset" - BUILD() { autoconf runConfigure ./configure \ - --enable-shared + --enable-shared make $jobArgs } @@ -94,3 +107,8 @@ INSTALL() prepareInstalledDevelLibs libruby-static libruby packageEntries devel $developDir } + +TEST() +{ + make check +} From 6febb8bb434a928708ee08fff8deb0c012060997 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Tue, 1 Jul 2014 14:38:41 -0400 Subject: [PATCH 30/49] Apparently QupZilla actually *does* need OpenSSL for itself... ...so add it. Also tweak the pkg_config setting so that QupZilla can use it to detect what QtWebKit version is available. Also modifies the source to point to my fork that has the patches (and then some more) already in it, I have a pull request pending upstream. --- .../qupzilla/patches/qupzilla-1.7.x.patchset | 233 ------------------ www-client/qupzilla/qupzilla-1.7.x.recipe | 30 +-- 2 files changed, 15 insertions(+), 248 deletions(-) delete mode 100644 www-client/qupzilla/patches/qupzilla-1.7.x.patchset diff --git a/www-client/qupzilla/patches/qupzilla-1.7.x.patchset b/www-client/qupzilla/patches/qupzilla-1.7.x.patchset deleted file mode 100644 index c2cfb8243..000000000 --- a/www-client/qupzilla/patches/qupzilla-1.7.x.patchset +++ /dev/null @@ -1,233 +0,0 @@ -From 8fd07376920cebdbb551fb937c91acf408fb6c44 Mon Sep 17 00:00:00 2001 -From: "Arfonzo J. Coward" -Date: Thu, 5 Dec 2013 18:47:08 +0000 -Subject: QupZilla resource file. Provided by Giovanni, converted to .rdef - file. - - -diff --git a/haiku/QupZilla.rdef b/haiku/QupZilla.rdef -new file mode 100644 -index 0000000..e5bc598 ---- /dev/null -+++ b/haiku/QupZilla.rdef -@@ -0,0 +1,161 @@ -+ -+resource app_signature "application/x-vnd.QupZilla"; -+ -+resource app_version { -+ major = 1, -+ middle = 5, -+ minor = 0, -+ -+ variety = B_APPV_DEVELOPMENT, -+ internal = 0, -+ -+ short_info = "Qupzilla Qt browser", -+ long_info = "Qupzilla © 2010 - 2013 David Rosca" -+}; -+ -+resource vector_icon array { -+ $"6E6369660904008D040057020106033D8AFE000000000000BD8AFE48F10748A0" -+ $"7831B4E8F7C800EAFFFFFFFFFF020106033D0AFE000000000000BD0AFE48F107" -+ $"48A078509FA0A4DB677280FF6B6B6B020116043D950B0000000000003D950B49" -+ $"4FBC479BEC00FF4CF591D2FF9E0200020538B239BCCACB3F86163B6714C24359" -+ $"4A75A8000000FFFF3F0000FF2F750000FF72A00303946EF2030394FF05FF05FF" -+ $"020112023E9FFF0000000000003CC0004A70004B00009CFF0000FFFF1302043C" -+ $"26C2FF26B95026263C26B95026C2FF3C52B95052C2FF52523C52C2FF52B95002" -+ $"6EC5DCB8B6C713BAA0C4CAB706C110B579C307B5D5C0A2B565BFC2B55BC032B5" -+ $"5BBDBCB55BBA69B7BABBC5B63AB8F9B94FB89DBD9CB84FBB7EB8C7BE9AB924BF" -+ $"77B8E0BEE7B9DEC11FBCE0C332BB38C279BEC5C405C2D8C31AC0FBC3FCC2C6C2" -+ $"C1C22FC2B7C27AC2BEC22FC2B7C227C2B7C227C2B7C227C2B7C241C2BDC241C2" -+ $"BDC206C2B0C199C2DBC1D0C2CBC159C2EEC0D4C2DDC115C2E5C051C2CEBF43C3" -+ $"13BFB0C2B4BF3DC313BF36C313BF36C313BF36C313BF20C313BF20C313BF20C3" -+ $"13BDEDC313BE23C313BDB9C2EDBD57C2DFBD87C2E3BD54C2DCBD3EC2C3BD3EC2" -+ $"C3BD31C2B4BD13C2A5BD26C2ABBD13C2A5BCA4C27EBCA4C27EBCA4C27EBC31C2" -+ $"54BC31C254BC27C251BC12C24FBC1DC250BC10C24BBC0FC242BC11C246BC0FC2" -+ $"42BBF5C219BBF5C219BBD3C1DEBB68C195BBAEC1A4BB71C16EBB58C129BB63C1" -+ $"4EBB4BC101BB4BC0ADBB48C0D7BB4BC0ADBB4EC087BB4EC087BB52C054BB4DBF" -+ $"EEBB55C021BB9EBF93BBA9BEBFBBB0BF36BBA9BEBFBBA7BE93BBA7BE93BBA7BE" -+ $"53BBBCBE2FBBA8BE4BBBBCBE2FBBC7BE21BBC7BE21BC00BDD5BBE3BCFCBC5BBD" -+ $"3DBBE3BCFCBAB7BC58BAB7BC58BAB7BC58BA8BBC44BA90BC46BA8BBC44BA8BBC" -+ $"42BA8BBC42BA89BBEABA23BB79BA6ABBADBA23BB79BA12BB6BBA12BB6BBA12BB" -+ $"6BB9F8BB49B9F8BB49B9F8BB49B9AEBAF0B9AEBAF0B97EBAC3B928BAB1B950BA" -+ $"B5B924BAA9B91BBA9AB920BAA1B984BA6EB9DEB997B9B5B9F9B9F6B95DBA36B8" -+ $"F0BA0BB91FBA5EB8C4BA78B85EBA83B89EBACCB83DBB61B7E7BB18B813BB61B7" -+ $"E7BB6BB7E1BB6BB7E1BB6BB7E1BBFEB787BBFEB787BC65B74ABCB6B684BC94B6" -+ $"F6BCF5B68ABD58B665BD2DB67BBDA8B695BE6DB651BE29B697BE6FB650BE88B6" -+ $"4FBE7CB64FBE62B6A0BEE1B72FBE88B70EBEE4B733BEE9B73EBEE5B73ABED8B7" -+ $"44BEC6B74ABEC6B74ABEC6B74ABE75B7A5BE75B7A5BE63B7DDBE90B849BE74B8" -+ $"17BE91B84CBE92B852BE92B852BE94B85CBE9DB87ABE97B86BBE94B884BE8CB8" -+ $"8DBE8CB88DBE3AB8F0BD92B98FBDB7B906BD92B98FBD8DB9A1BD8DB9A1BD64B9" -+ $"D8BD7EBA55BD59BA19BD7BBA5CBD77BA63BD77BA63BD56BAA0BD4DBB2CBD39BA" -+ $"E6BD60BB70BDCCBBCEBD98BBA2BDFFBBFABE73BC3FBE33BC27BEBEBC5CBF5EBC" -+ $"42BF12BC56BF5EBC42BFAC37BFAC37BFD0BC1EC01CBC0FBFF5BC0BC046BC14C0" -+ $"83BC4EC066BC35C04DBCD9C0F4BDDAC0B6BD63C0F4BDDAC107BDF9C102BDF2C0" -+ $"BABE84C127BF91C0B2BF1DC127BF91C133BF9DC133BF9DC131C00FC1C5C0F9C1" -+ $"35C0D6C259C11CC348C059C2EEC0C9C348C059C36BC02FC36BC02FC36BC02FC3" -+ $"88C019C388C019C3A8C003C3DBBFC5C3C9BFE8C3EEBFA0C409BF52C3F0BF73C4" -+ $"09BF52C409BF53C409BF53C40DBF9AC495BFC1C450BFCEC4EBBFB3C542BF10C5" -+ $"1FBF56C542BF10C551BEF2C551BEF2C551BEF2C555BEEBC555BEEBC57FBEA3C5" -+ $"68BDFCC59EBE47C53ABDBBC4A3BDDFC4E1BDAAC4A3BDCAC4A3BDB5C4A3BDB5C4" -+ $"A3BDB5C4A5BD31C4A5BD31C4A8BD1EC4E8BCDFC4D2BCF5C4E8BCDFC4FEBCC9C4" -+ $"FEBCC9C4FEBCC9C516BCB3C516BCB3C545BC8BC582BC20C571BC5EC58CBC05C5" -+ $"88BBBCC586BBD9C588BBBCC587BBA8C587BBA8C587BBA8C588BB9DC588BB9DC5" -+ $"8DBB614EBAFAC584BB24C58ABADAC5C2BA5DC5B0BAA2C5C4BA62C5CBBA70C5CB" -+ $"BA70C5D9BA8EC60FBAD4C5EDBAB3C60ABB1FC648BBAAC627BB67C669BBEBC66F" -+ $"BC7BC670BC33C66FBC7BC672BCC4C672BCC4C674BCEAC66EBD37C678BD11C664" -+ $"BD5AC649BD9CC652BD79C633BDECC62CBE92C62DBE3FC621BED5C67FBF2CC648" -+ $"BF16C750BD0F0006BC12B6E4BC12B6E4BC32B6B0BC55B638BC47B674BB81B6AB" -+ $"BA2BB802BAC4B747BA88B7E3BB30B77EBADDB7B0BB59B765BBAAB733BB82B74D" -+ $"BBCBB71DBC12B6E4BBFCB707BC12B6E4001DBACDBFD1BACDBFD1BAEBBFAABB29" -+ $"BF5CBB13BF89BB43BF24BB34BE93BB34BED0BB34BE4DBB60BDEABB34BE25BB80" -+ $"BDBEBBABBD60BBA1BD98BB48BD2ABA81BCBEBAE5BCF3BA67BCB1BA20BC83BA2D" -+ $"BCA0BA0FBC5BBA0DBC02BA1FBC28B9FEBBE5B9BABBB6B9D0BBD0B99BBB91B95F" -+ $"BB44B983BB66B93DBB24B8F0BB2DB91CBB16B8C0BB48B8BEBADFB8C3BAFFB8B1" -+ $"BB14B89FBB7EB8A7BB49B8C9BB7EB8C5BBB2B8C3BB8AB8C6BBDBB8C9BC2EB8C7" -+ $"BC05B8D0BC40B8BABC49B8CBBC49B8B4BC4BB8AABC4EB8AFBC4DB8A0BC57B893" -+ $"BC4BB898BC56B882BC4AB88FBD10B88EBD00B893BD49B8E1BDE7B88DBE03B90D" -+ $"BE04B923BE75B906BE4BB946BEA8B985BF00B973BEC1B997BF3EB9A3BFC1B998" -+ $"BF81B9B0C011BA17C05FB9DBC02EBA25C0B3BA75C127BA3DC0E7BA8FC144BAC0" -+ $"C17FBAA9C160BAD8C19FBAFCC17CBAE4C19DBADDC13ABAD7C0A6BAD3C0EFBADB" -+ $"C061BACDBFD1BAEAC013BACDBFD10009BD5EB5D7BD5EB5D7BD81B5EEBDB1B60E" -+ $"BD84B605BDD0B613BE19B601BE01B61ABE55B5C3BEF6B5C4BEB0B5EFBF2DB5A2" -+ $"BFA3B55EBF5BB55EBFCEB55DC00CB58CBFE9B578C03CB5A7C090B566C064B575" -+ $"BF3AB541BCA7B60EBDDDB57ABCECB623BD5EB5D7BD29B601BD5EB5D70005BF35" -+ $"B6EABF35B6EABF55B6ECBF9AB6F5BF7BB702BFCEB6E0BF87B67DBF9CB693BF78" -+ $"B66DBF3CB664BF2FB623BF45B690BF35B6EABF6BB6CCBF35B6EA0004BA07B87F" -+ $"BA07B87FBA0CB868B9EFB850B9FEB85FB982B8E4B8F0BA35B92CB988B97E31BA" -+ $"07B87FB974B8F0BA07B87F0066C6F7BC24C6F7BC24C6DCBB0AC6002FC68BB9F2" -+ $"C5B9B87CC4FFB79CC563B805C4CEB768C463B709C49AB737C452B6FBC428B6EF" -+ $"C440B6E2C412B6FAC407B6C1C401B6D1C316B60FC0D0B56FC1F9B59AC0FBB58B" -+ $"C15FB59CC131B589C170B5A2C179B5C9C19FB5BDC12DB5E2C08AB5C9C0D7B5C4" -+ $"C05AB5CDC03FB60EC043B5DDC03DB629C040B676C036B65DC04BB694C0B6B65F" -+ $"C0A8B66FC0CDB643C0F1B61AC0B1B608C108B64BC0D0B6B1C13AB6D6C0B5B6A7" -+ $"C066B689C083B67CC064B68AC05DB6AFC05FB6ABC053B6C0C031B6D0C044B6CB" -+ $"BFE6B6E5BF94B741BFB0B6EFBF87B769BF5DB791BF88B781BF3BB79DBEF7B7B2" -+ $"BF17B7A4BECCB7C7BEFAB81CBEEAB7FFBF06B830BF19B86CBF03B860BF59B891" -+ $"BFBEB7E0BFA3B802BFE1B7B3C038B7ADC008B7BDC04FB7A6C084B777C06CB76E" -+ $"C0D3B795C0F8B83EC0EBB7F4C110B83FC135B810C100B802C10DB7E5C0ECB770" -+ $"43B7ABC125B795C15FB7FDC14DB7BDC170B83DC1C2B820C18EB860C1CFB813C1" -+ $"FDB7D5C1E2B7BDC214B7EAC1F1B838C215B82FC206B84BC23AB83DC222B843C2" -+ $"5AB834C28BB842C26CB836C2AFB850C2FAB857C2D5B854C320B859C347B898C3" -+ $"35B87BC377B8E7C24AB8C5C259B8C6C228B8C3C1E2B8D0C202B8C2C1C9B8DAC1" -+ $"99B8F0C1B62FC179B8E5C13FB8B6C15BB8C8C118B89CC0C5B872C0EFB885C07F" -+ $"B853BFE3B84FC02FB83FBFBFB856BF7FB87CBF9CB866BF5CB897BF11B8A4BF35" -+ $"B87FBEDCB8DCBE6EB942BEB6B91FBE51B950BE19B976BE2EB95CBE04B990BDF6" -+ $"B9D1BE04B9B4BDE9B9EEBDE2BA1DBDCAB9FCBDF8BA3CBDEFBA76BDFEBA53BDD9" -+ $"BAA9BDC9BB27BD9FBAEFBDF235BE71BBBCBE3ABB94BEAFBBE9BF41BBD2BEFBBB" -+ $"E5BF83BBC1C009BB9CBFC5BBA1C05FBB96C0DDBC03C0A1BBCDC104BC26C0F5BC" -+ $"67C114BC34C0D3BC9FC103BD00C0E8BCC8C11FBD37C159BDA3C13CBD6DC166BD" -+ $"BAC182BDE8C177BDD0C18EBE04C16DBE2DC17BBE15C152BE5EC13FBECFC13FBE" -+ $"97C13FBF0EC185BF4CC15DBF24C1AABF71C1A4BFE3C1A8BFB3C1A0C025C1DBC0" -+ $"87C1B3C053C216C08AC289C06CC253C086C2CBC04DC319BFDEC2E8C00FC347BF" -+ $"B0C386BF66C378BFABC396BF13C3FEBEBFC3C2BEF2C435BE90C430BE0CC42EBE" -+ $"4DC432BDC0C433BD22C429BD6DC43CBCDEC4ABBC78C47EBCA7C4CDBC56C512BC" -+ $"03C505BC34C519BBE7C513BBA8C51336C513BB93C51135C51ABB71C4F8BB29C4" -+ $"7EBB2CC48ABB5DC476BB0EC48BBB01C477BB14C4A1BAEDC478BACDC48BBAD8C4" -+ $"42BAADC3F1BA66C418BA9AC3CCBA36C391B9CBC3AEBA00C389B9BEC36CB93BC3" -+ $"42B92EC39AB94AC3E2B9A3C3C4B981C419B9DFC46DBA6AC44ABA20C46EBA73C4" -+ $"96BA8AC48FBA85C4AFBA9CC4EABAA8C4CABAABC533BAA2C55ABA20C555BA61C5" -+ $"62B9C7C4E8B9AFC51DB9DAC4CAB997C49EB958C4B6B975C48FB946C474B90EC4" -+ $"66B92AC493B8F9C4BDB91DC49FB90BC4E0B932C52CB951C505B944C555B95EC5" -+ $"B4B96CC592B952C5C9B97CC5E7B9B8C5D9B9A2C5FEB9DCC627BA26C614BA00C6" -+ $"45BA61C694BA9FC64DBA89C667BAE8C6B6BB83C693BB3FC6DFBBD4C6E3BC7CC6" -+ $"E4BC23C6E2BCCEC6D0BD79C6F5BD2CC6A7BDCCC69FBE9AC69FBE3EC6A1BE95C6" -+ $"A5BE88C6A3BE8DC6A2BE8FC6A1BEC0C696BEBEC6B2BEC4C6D6BE02C6D2BE15C6" -+ $"F6BD65C6F7BC24C700BCC4C6F7BC240008C301B7D8C301B7D8C2E6B7DCC2D4B7" -+ $"A4C2E8B7AEC2B1B792C269B7B8C288B7A7C204B7EFC236B743C221B77BC239B7" -+ $"3AC285B744C27AB746C2A7B740C2F3B74FC2D8B731C30CB76BC33CB7A1C31FB7" -+ $"87C360B7C2C301B7D8C31CB7D4C301B7D80004BB53C203BB53C203BB45C20DBB" -+ $"26C221BB38C21DBB55C249BBBAC291BB87C26EBB92C265BB53C203BB84C227BB" -+ $"53C2030005C4F4BE2EC4F4BE2EC4D3BE57C48CBEA4C4A6BE76C46EBEDAC47DBF" -+ $"53C47DBF18C4B6BF38C4EDBEB9C4D0BEECC502BE93C4F4BE2EC531BE48C4F4BE" -+ $"2E0009C213C327C213C327C17FC390BFF7C345C09DC332BFD0C349BF8EC36ABF" -+ $"ACC350BF67C38CBF20C386BF56C386BEAFC386BDCDC386BE3EC386BEC1C3CBC0" -+ $"C0C3BABFC4C3DDC137C3AAC221C367C1AFC38EC22AC364C262C32BC280C337C2" -+ $"49C322C213C327C22AC331C213C32702044844C83744BDA844304F30C34E30C8" -+ $"25485ABDA85AC8375A604F60C82560C34E02044844C83744BDA844304F30C34E" -+ $"30C825485ABDA85AC8375A604F60C82560C34E00033129B6FBB62F382A432D38" -+ $"29C350B90A51374F34C7F0BE4900032F2BB61DB6E7352C4331BD1AB8554B3452" -+ $"3AC5A5BC67563D00032F2AB6132A362A452EBDF8B6F64C3153395236C82ABF7F" -+ $"00032F2AB61AB692362B4431BD92B8284B3453395137C935BED9000333293025" -+ $"BB8EB7E64032BBC9B87947355137C4F2BBF058380F0A01010C2020230A000100" -+ $"12403FFF000000000000403FFFC37FFDBDFFEA01178400040A020100024045D1" -+ $"0000000000004045D1C3D174BF45D10A05010C023F800000000000000040D174" -+ $"C57FFFCAABA20A07010E12405F24B29AD639906A408BA7C636B6419D45011781" -+ $"00040A07010F124015ED323FDBB24E2E402334C5F50747993901178100040A07" -+ $"0112124066B7000000000000401824C818EA49567301178100040A0701101239" -+ $"2225C032573F46E538E8064444BD4BFBDC01178100040A07011112B96A6E4008" -+ $"5EBF3FF2B8E00B4AF9633A4E3F01178100040A08010D023BAAAA000000000000" -+ $"3DA2E84655554551740A08010D023BAAAA0000000000003E0000480AAA48C000" -+ $"0A08010D023A55550000000000003C2E8B485555422E8B0A08010D023A555500" -+ $"00000000003C2E8B462AAA49A5D10A030101024089423E3FC6BE4B32407CA03E" -+ $"BCEEC81B9D0A040A0304050607080A0B02090240889B3E4A79BE57CC407A333F" -+ $"DD1AC822A9" -+}; -+ -+resource file_types message { -+ "types" = "application/x-vnd.Be-bookmark", -+ "types" = "application/x-vnd.Be.URL.file", -+ "types" = "application/x-vnd.Be.URL.ftp", -+ "types" = "text/html", -+ "types" = "application/x-vnd.Be.URL.http", -+ "types" = "application/x-vnd.Be.URL.https" -+}; --- -1.8.3.4 - - -From d4cab847f667f280d6cba95d6d61eb0d82feeca2 Mon Sep 17 00:00:00 2001 -From: "Arfonzo J. Coward" -Date: Mon, 24 Mar 2014 23:16:35 +0000 -Subject: Modify defines.pri for Haiku-specific build options. - - -diff --git a/src/defines.pri b/src/defines.pri -index c21413b..aa6fa11 100644 ---- a/src/defines.pri -+++ b/src/defines.pri -@@ -13,6 +13,11 @@ unix: VERSION = 1.7.0 - # Please read BUILD information # - #DEFINES *= PORTABLE_BUILD - -+DEFINES *= QUPZILLA_PREFIX="/boot/home/config/apps/QupZilla/" -+DEFINES *= DISABLE_DBUS -+DEFINES *= NO_SYSTEM_DATAPATH -+DEFINES *= NO_X11 -+ - win32-msvc* { - DEFINES *= W7API - LIBS += User32.lib Ole32.lib Shell32.lib ShlWapi.lib Gdi32.lib ComCtl32.lib --- -1.8.3.4 - - -From f2a317930fc3ffb5dc3bc9d71dbfdc160540b630 Mon Sep 17 00:00:00 2001 -From: "Arfonzo J. Coward" -Date: Tue, 25 Mar 2014 00:17:04 +0000 -Subject: Ugly Haiku workaround for ProcessInfo::GetPIDbyName(). - - -diff --git a/src/lib/3rdparty/processinfo.cpp b/src/lib/3rdparty/processinfo.cpp -index 17190b8..c39f0dc 100644 ---- a/src/lib/3rdparty/processinfo.cpp -+++ b/src/lib/3rdparty/processinfo.cpp -@@ -79,6 +79,7 @@ pid_t ProcessInfo::GetPIDbyName(const char* cchrptr_ProcessName) const - - // Loop while not NULL - while ((de_DirEntity = readdir(dir_proc))) { -+#ifndef __HAIKU__ - if (de_DirEntity->d_type == DT_DIR) { - if (IsNumeric(de_DirEntity->d_name)) { - strcpy(chrarry_CommandLinePath, "/proc/") ; -@@ -112,6 +113,7 @@ pid_t ProcessInfo::GetPIDbyName(const char* cchrptr_ProcessName) const - } - } - } -+#endif - } - - closedir(dir_proc) ; --- -1.8.3.4 - diff --git a/www-client/qupzilla/qupzilla-1.7.x.recipe b/www-client/qupzilla/qupzilla-1.7.x.recipe index 1c2bc05a3..f36669465 100644 --- a/www-client/qupzilla/qupzilla-1.7.x.recipe +++ b/www-client/qupzilla/qupzilla-1.7.x.recipe @@ -1,24 +1,24 @@ SUMMARY="QupZilla, a lightweight QtWebKit web browser" -DESCRIPTION=" -QupZilla is a lightweight multiplatform web browser based on QtWebKit. - -It provides: +DESCRIPTION="QupZilla is a free and open-source web browser, \ +intended for general users. It allows seamless integration with \ +users' desktop environments and has several distinguishing features \ +positively received by reviewers: - A unified interface for bookmarks, history and RSS reading. - A themeable interface. - - Integrated AdBlock. - - Speed Dial. - - Multiplatform support." + - Integrated Adblock. + - Speed dial." HOMEPAGE="http://www.qupzilla.com" -SRC_URI="git://github.com/QupZilla/qupzilla.git" -REVISION="3" +SRC_URI="https://github.com/waddlesplash/qupzilla/archive/master.tar.gz" +CHECKSUM_SHA256="ae4fadd54417c81f3c0eded0c828f91f43a20a975fde8ec8a764321b9ab41ec5" +SOURCE_DIR="qupzilla-master" +REVISION="4" LICENSE="GNU GPL v3" -COPYRIGHT="2010-2013 David Rosca" +COPYRIGHT="2010-2014 David Rosca" -ARCHITECTURES="x86" +ARCHITECTURES="x86 ?x86_64" if [ $effectiveTargetArchitecture != x86_gcc2 ]; then ARCHITECTURES="$ARCHITECTURES x86_gcc2" fi -#ARCHITECTURES="x86 x86_gcc2" SECONDARY_ARCHITECTURES="x86" PROVIDES=" @@ -38,16 +38,16 @@ BUILD_PREREQUIRES=" cmd:qmake${secondaryArchSuffix} cmd:make cmd:g++${secondaryArchSuffix} - cmd:pkg_config + cmd:pkg_config$secondaryArchSuffix " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel == $haikuVersion libqt4${secondaryArchSuffix}_devel >= 4.8.0 + devel:libssl${secondaryArchSuffix} + devel:libcrypto${secondaryArchSuffix} devel:libexecinfo${secondaryArchSuffix} " - -PATCHES="qupzilla-1.7.x.patchset" BUILD() { From b87e079310cf9e51a3833c30e71604b6f0469825 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Tue, 1 Jul 2014 15:18:16 -0400 Subject: [PATCH 31/49] Yet another update to the Ruby patch. --- dev-lang/ruby/patches/ruby-1.9.3-rc1.patch | 60 ++++++++++++++++++++-- 1 file changed, 56 insertions(+), 4 deletions(-) diff --git a/dev-lang/ruby/patches/ruby-1.9.3-rc1.patch b/dev-lang/ruby/patches/ruby-1.9.3-rc1.patch index 5c8d012b2..585bfa6ae 100644 --- a/dev-lang/ruby/patches/ruby-1.9.3-rc1.patch +++ b/dev-lang/ruby/patches/ruby-1.9.3-rc1.patch @@ -1,13 +1,16 @@ -From 42b96a16ba5869966a39c4e338e7391dc5fa4dde Mon Sep 17 00:00:00 2001 +From e49f9ee0673df28e5c4e97047cb5f2da1c0d9604 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier -Date: Tue, 1 Jul 2014 13:12:33 -0400 -Subject: [PATCH] Merge Chris's fixes with the new Ruby. +Date: Tue, 1 Jul 2014 13:18:31 -0400 +Subject: [PATCH] Fixes provided by Chris for Ruby and Donn for Haskell (and + some by myself) to make it work. --- configure.in | 13 ++++++++++--- + elf.h | 42 ++++++++++++++++++++++++++++++++++++++++++ ext/nkf/nkf-utf8/nkf.h | 5 +++++ signal.c | 2 +- - 3 files changed, 16 insertions(+), 4 deletions(-) + 4 files changed, 58 insertions(+), 4 deletions(-) + create mode 100644 elf.h diff --git a/configure.in b/configure.in index 73c87b7..f4f6a23 100644 @@ -42,6 +45,55 @@ index 73c87b7..f4f6a23 100644 [darwin*], [ RUBY_SO_NAME="$RUBY_SO_NAME"'.$(MAJOR).$(MINOR).$(TEENY)' LIBRUBY_LDSHARED='$(CC) -dynamiclib' +diff --git a/elf.h b/elf.h +new file mode 100644 +index 0000000..2300dde +--- /dev/null ++++ b/elf.h +@@ -0,0 +1,42 @@ ++/* ++ * ++ * /boot/common/include/elf.h ++ * ++ * -I/system/develop/headers/private/system ++ * -I/system/develop/headers/private/system/arch_x86 ++ * ++ * As found on other platforms, for benefit of GHC Haskell compiler, ++ * Donn ++ * */ ++ ++#ifdef __HAIKU__ ++ ++#include ++#include ++ ++typedef struct Elf32_Ehdr Elf32_Ehdr; ++typedef struct Elf32_Shdr Elf32_Shdr; ++typedef struct Elf32_Sym Elf32_Sym; ++typedef struct Elf32_Rel Elf32_Rel; ++typedef struct Elf32_Rela Elf32_Rela; ++ ++#define ELFMAG0 0x7F ++#define ELFMAG1 'E' ++#define ELFMAG2 'L' ++#define ELFMAG3 'F' ++ ++#define ET_NONE 0 ++#define ET_REL 1 ++#define ET_EXEC 2 ++#define ET_DYN 3 ++#define ET_CORE 4 ++ ++#define EM_386 3 ++#define EM_SPARC 2 ++#define EM_PPC 20 ++ ++#else ++ ++#include_next ++ ++#endif +\ No newline at end of file diff --git a/ext/nkf/nkf-utf8/nkf.h b/ext/nkf/nkf-utf8/nkf.h index a23ec5c..8351578 100644 --- a/ext/nkf/nkf-utf8/nkf.h From 5ee15ab1733c0ff5b23bb7110ce02bb37a196a6a Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Wed, 2 Jul 2014 11:25:14 -0400 Subject: [PATCH 32/49] QupZilla: Address Oliver's review comment. My patch was upstreamed, so we now can point there. --- www-client/qupzilla/qupzilla-1.7.x.recipe | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/www-client/qupzilla/qupzilla-1.7.x.recipe b/www-client/qupzilla/qupzilla-1.7.x.recipe index f36669465..3deb8e308 100644 --- a/www-client/qupzilla/qupzilla-1.7.x.recipe +++ b/www-client/qupzilla/qupzilla-1.7.x.recipe @@ -8,10 +8,10 @@ positively received by reviewers: - Integrated Adblock. - Speed dial." HOMEPAGE="http://www.qupzilla.com" -SRC_URI="https://github.com/waddlesplash/qupzilla/archive/master.tar.gz" -CHECKSUM_SHA256="ae4fadd54417c81f3c0eded0c828f91f43a20a975fde8ec8a764321b9ab41ec5" +SRC_URI="https://github.com/QupZilla/qupzilla/archive/eee3895f6954617f8eb1f15df18b33a9745491ba.zip" +CHECKSUM_SHA256="1ed2b9f1edd6908349d047e932114e7a0215c6dfe6290fe4a6f3bc1a4dd05e25" SOURCE_DIR="qupzilla-master" -REVISION="4" +REVISION="5" LICENSE="GNU GPL v3" COPYRIGHT="2010-2014 David Rosca" From 22cef5e6dfa14d04e9e03a349662c577c86570db Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Wed, 2 Jul 2014 12:04:26 -0400 Subject: [PATCH 33/49] Ruby: inform autoconf where the private (elf32/elf64) headers are. Now the build fails because SIGBUS is undeclared... --- dev-lang/ruby/ruby-1.9.3.recipe | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/dev-lang/ruby/ruby-1.9.3.recipe b/dev-lang/ruby/ruby-1.9.3.recipe index 993b41cca..6423de7a7 100644 --- a/dev-lang/ruby/ruby-1.9.3.recipe +++ b/dev-lang/ruby/ruby-1.9.3.recipe @@ -19,7 +19,7 @@ LICENSE="Ruby Artistic (Perl) BSD (3-clause)" COPYRIGHT="1993-2009 Yukihiro Matsumoto" -REVISION="3" +REVISION="4" ARCHITECTURES="x86 ?x86_64" if [ $effectiveTargetArchitecture != x86_gcc2 ]; then # x86_gcc2 is fine as primary target architecture as long as we're building @@ -71,6 +71,7 @@ BUILD_REQUIRES=" devel:libiconv$secondaryArchSuffix devel:libncursesw$secondaryArchSuffix cmd:pkg_config$secondaryArchSuffix + cmd:ruby >= 1.9 " BUILD_PREREQUIRES=" @@ -96,8 +97,17 @@ REQUIRES_devel=" BUILD() { autoconf + + # tell configure where to find the private header folders + # that have elf32.h and elf64.h + if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + extraFlags="-I/boot/system/develop/headers/private/system" + else + extraFlags="-I/boot/system/develop/headers/private/system/arch/x86" + fi + runConfigure ./configure \ - --enable-shared + --enable-shared CFLAGS="$extraFlags" CXXFLAGS="$extraFlags" make $jobArgs } @@ -105,6 +115,7 @@ INSTALL() { make install prepareInstalledDevelLibs libruby-static libruby + fixPkgconfig packageEntries devel $developDir } From 83a27ea3e522ac62d1326533b68cd25d07a3dd92 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Wed, 2 Jul 2014 13:20:40 -0400 Subject: [PATCH 34/49] Ruby: get the miniruby part to compile... ...but it crashes when trying to execute something. Oh well, that's at least better than when it never compiled at all, I suppose. --- dev-lang/ruby/patches/ruby-1.9.3-rc1.patch | 23 ++++++++++++++-------- dev-lang/ruby/ruby-1.9.3.recipe | 20 +++++++++---------- 2 files changed, 24 insertions(+), 19 deletions(-) diff --git a/dev-lang/ruby/patches/ruby-1.9.3-rc1.patch b/dev-lang/ruby/patches/ruby-1.9.3-rc1.patch index 585bfa6ae..eb0cdbb51 100644 --- a/dev-lang/ruby/patches/ruby-1.9.3-rc1.patch +++ b/dev-lang/ruby/patches/ruby-1.9.3-rc1.patch @@ -1,15 +1,14 @@ -From e49f9ee0673df28e5c4e97047cb5f2da1c0d9604 Mon Sep 17 00:00:00 2001 +From 4efb1f167e3f3f083f4f7ac92166f71ccf7a0b5b Mon Sep 17 00:00:00 2001 From: Augustin Cavalier -Date: Tue, 1 Jul 2014 13:18:31 -0400 -Subject: [PATCH] Fixes provided by Chris for Ruby and Donn for Haskell (and - some by myself) to make it work. +Date: Wed, 2 Jul 2014 11:58:34 -0400 +Subject: [PATCH] Applying Chris's fixes and some of my own. --- configure.in | 13 ++++++++++--- elf.h | 42 ++++++++++++++++++++++++++++++++++++++++++ ext/nkf/nkf-utf8/nkf.h | 5 +++++ - signal.c | 2 +- - 4 files changed, 58 insertions(+), 4 deletions(-) + signal.c | 4 ++-- + 4 files changed, 59 insertions(+), 5 deletions(-) create mode 100644 elf.h diff --git a/configure.in b/configure.in @@ -111,9 +110,17 @@ index a23ec5c..8351578 100644 # ifndef HAVE_LANGINFO_H # define HAVE_LANGINFO_H diff --git a/signal.c b/signal.c -index d4e56dc..b6b2a20 100644 +index d4e56dc..92c54e9 100644 --- a/signal.c +++ b/signal.c +@@ -28,6 +28,6 @@ ruby_atomic_exchange(rb_atomic_t *ptr, rb_atomic_t val) + } + #endif + +-#if defined(__BEOS__) || defined(__HAIKU__) ++#if defined(__BEOS__) + #undef SIGBUS + #endif @@ -590,7 +590,7 @@ static int segv_received = 0; static RETSIGTYPE sigsegv(int sig SIGINFO_ARG) @@ -123,6 +130,6 @@ index d4e56dc..b6b2a20 100644 int ruby_stack_overflowed_p(const rb_thread_t *, const void *); NORETURN(void ruby_thread_stack_overflow(rb_thread_t *th)); rb_thread_t *th = GET_THREAD(); --- +--- 1.8.3.4 diff --git a/dev-lang/ruby/ruby-1.9.3.recipe b/dev-lang/ruby/ruby-1.9.3.recipe index 6423de7a7..772fc7477 100644 --- a/dev-lang/ruby/ruby-1.9.3.recipe +++ b/dev-lang/ruby/ruby-1.9.3.recipe @@ -20,7 +20,7 @@ LICENSE="Ruby BSD (3-clause)" COPYRIGHT="1993-2009 Yukihiro Matsumoto" REVISION="4" -ARCHITECTURES="x86 ?x86_64" +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. @@ -97,17 +97,15 @@ REQUIRES_devel=" BUILD() { autoconf - - # tell configure where to find the private header folders - # that have elf32.h and elf64.h - if [ $effectiveTargetArchitecture != x86_gcc2 ]; then - extraFlags="-I/boot/system/develop/headers/private/system" - else - extraFlags="-I/boot/system/develop/headers/private/system/arch/x86" - fi - runConfigure ./configure \ - --enable-shared CFLAGS="$extraFlags" CXXFLAGS="$extraFlags" + # tell configure where to find the private header folders + # that have elf32.h, elf64.h, and arch_elf.h + extraFlags="-I/boot/system/develop/headers/private/system \ + -I/boot/system/develop/headers/private/system/arch/x86" + export CFLAGS="$extraFlags" + export CPPFLAGS="$extraFlags" + + runConfigure ./configure --enable-shared make $jobArgs } From b2d900a8a78ee9e24192b0527702d765675dc71a Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Thu, 3 Jul 2014 08:04:34 +0200 Subject: [PATCH 35/49] Sum-It was built in debug mode. Makes the executable 1MB instead of 30MB big! --- haiku-apps/sum_it/sum_it-0.2beta.recipe | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/haiku-apps/sum_it/sum_it-0.2beta.recipe b/haiku-apps/sum_it/sum_it-0.2beta.recipe index c73cc4c8e..280f56c43 100644 --- a/haiku-apps/sum_it/sum_it-0.2beta.recipe +++ b/haiku-apps/sum_it/sum_it-0.2beta.recipe @@ -10,7 +10,7 @@ COPYRIGHT="1996-1998, 2000 Hekkelman Programmatuur B.V. All rights reserved. 1999-2000 Tim Vernum. All rights reserved." HOMEPAGE="https://github.com/HaikuArchives/OpenSumIt" SRC_URI="git+https://github.com/HaikuArchives/OpenSumIt.git#cdab184a27" -REVISION="2" +REVISION="3" ARCHITECTURES="!x86 x86_gcc2" PROVIDES=" @@ -32,18 +32,18 @@ BUILD_PREREQUIRES=" BUILD() { pushd bsl - BE_C_COMPILER=gcc make + BE_C_COMPILER=gcc make DEBUG=0 PATH=`pwd`:$PATH popd pushd rez - BE_C_COMPILER=gcc make + BE_C_COMPILER=gcc make DEBUG=0 PATH=`pwd`:$PATH popd cd sum-it - BE_C_COMPILER=gcc make + BE_C_COMPILER=gcc make DEBUG=0 } INSTALL() From 7d277e73766bd0366f8da0bc8e2b13e1011a0ac6 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Thu, 3 Jul 2014 08:05:37 +0200 Subject: [PATCH 36/49] HaikuWebkit 1.4.1. Fixes a crash encountered on 1.4.0. --- .../haikuwebkit/haikuwebkit-1.4.1.recipe | 114 ++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 haiku-libs/haikuwebkit/haikuwebkit-1.4.1.recipe diff --git a/haiku-libs/haikuwebkit/haikuwebkit-1.4.1.recipe b/haiku-libs/haikuwebkit/haikuwebkit-1.4.1.recipe new file mode 100644 index 000000000..99ec95bf5 --- /dev/null +++ b/haiku-libs/haikuwebkit/haikuwebkit-1.4.1.recipe @@ -0,0 +1,114 @@ +SUMMARY="Open source web browser engine" +DESCRIPTION=" +WebKit is an open source web browser engine. WebKit is also the name of the \ +Mac OS X system framework version of the engine that's used by Safari, \ +Dashboard, Mail, and many other OS X applications. WebKit's HTML and \ +JavaScript code began as a branch of the KHTML and KJS libraries from KDE. +" +HOMEPAGE="http://www.webkit.org/" +COPYRIGHT="1998-2014 Apple Inc., Google Inc., et al" +LICENSE=" + GNU LGPL v2 + GNU LGPL v2.1 + MIT + " +SRC_URI="https://github.com/haiku/webkit/archive/$portVersion.tar.gz" +CHECKSUM_SHA256="2fcd29738e32a191f16805a94a36da1a60074d10830be77ca5e052ce779cc683" +SRC_FILENAME="haikuwebkit-$portVersion.tar.gz" +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" + +# TODO see if this is still needed. +#if [ $effectiveTargetArchitecture == x86_64 ]; then +# PATCHES="haikuwebkit-1.3.2.patchset" +#fi + +PROVIDES=" + haikuwebkit$secondaryArchSuffix = $portVersion + lib:libWebKit$secondaryArchSuffix = $portVersion + cmd:jsc + " +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libicuuc$secondaryArchSuffix + lib:libjpeg$secondaryArchSuffix + lib:libpng$secondaryArchSuffix + lib:libsqlite3$secondaryArchSuffix + lib:libxml2$secondaryArchSuffix + lib:libxslt$secondaryArchSuffix + lib:libz$secondaryArchSuffix + lib:libavcodec$secondaryArchSuffix + lib:libexecinfo$secondaryArchSuffix + lib:libstdc++$secondaryArchSuffix + lib:libGL$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + haiku_devel >= $haikuVersion + devel:libicuuc$secondaryArchSuffix + devel:libjpeg$secondaryArchSuffix + devel:libpng$secondaryArchSuffix + devel:libsqlite3$secondaryArchSuffix + devel:libxml2$secondaryArchSuffix + devel:libxslt$secondaryArchSuffix + devel:libz$secondaryArchSuffix + devel:libavcodec$secondaryArchSuffix + devel:libexecinfo$secondaryArchSuffix + devel:libGL$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:pkg_config + cmd:flex + cmd:bison + cmd:gcc$secondaryArchSuffix + cmd:gperf + cmd:ld$secondaryArchSuffix + cmd:m4 + cmd:make + cmd:perl + cmd:python + cmd:cmake >= 3.0.0 + cmd:ruby + " + +SOURCE_DIR="webkit-$portVersion" + +BUILD() +{ + export PKG_CONFIG_LIBDIR="`finddir B_SYSTEM_DIRECTORY`/$relativeDevelopLibDir/pkgconfig" + Tools/Scripts/build-webkit --haiku --no-webkit2 \ + --cmakeargs="-DCMAKE_INSTALL_PREFIX=$prefix -DSHOULD_INSTALL_JS_SHELL=ON" +} + +INSTALL() +{ + cd WebKitBuild/Release + make install + + rm $developLibDir/* + prepareInstalledDevelLibs libWebKit + + # devel package + packageEntries devel \ + $developDir +} + +# ----- devel package ------------------------------------------------------- + +PROVIDES_devel=" + haikuwebkit${secondaryArchSuffix}_devel = $portVersion + devel:libjavascriptcore$secondaryArchSuffix = $portVersion + devel:libwebcore$secondaryArchSuffix = $portVersion + devel:libWebKit$secondaryArchSuffix = $portVersion + devel:libwtf$secondaryArchSuffix = $portVersion + " +REQUIRES_devel=" + haikuwebkit$secondaryArchSuffix == $portVersion base + " From f345655f4d799af57b4a09109fbf936c66965374 Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Thu, 3 Jul 2014 19:42:04 +0200 Subject: [PATCH 37/49] gcc: explicitly disable TLS on x86_64. * Building gcc-4.8.3 on x86_64 with TLS support fails with an ICE, so don't use TLS until the problem is fixed. --- sys-devel/gcc/gcc-4.8.3_2014_05_28.recipe | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys-devel/gcc/gcc-4.8.3_2014_05_28.recipe b/sys-devel/gcc/gcc-4.8.3_2014_05_28.recipe index 988a28ed2..c1e752f29 100644 --- a/sys-devel/gcc/gcc-4.8.3_2014_05_28.recipe +++ b/sys-devel/gcc/gcc-4.8.3_2014_05_28.recipe @@ -8,7 +8,7 @@ srcGitRev="3ad9ac2317f63b65937473c4fbe37c9e93e3a116" SRC_URI="https://github.com/haiku/buildtools/archive/$srcGitRev.tar.gz" CHECKSUM_SHA256="85499c650421b68f9830d3fb2ddfafb8789a3e1ffce75e8dd27aaed678135df0" SRC_FILENAME="$portVersionedName.tar.gz" -REVISION="1" +REVISION="2" LICENSE=" GNU GPL v2 GNU LGPL v2 @@ -87,6 +87,9 @@ BUILD() # disable multilib support, as x86_64 by default tries to build the # 32-bit libraries, too, which fails as no 32-bit libroot is available additionalConfigureFlags+=" --disable-multilib" + + # disable TLS support, as it causes an ICE on x86_64 + additionalConfigureFlags+=" --disable-tls" fi CFLAGS="-O2 -U_FORTIFY_SOURCE" CXXFLAGS="-O2" "$sourceDir/configure" \ From 58f2e54611fe46878b88db0807c6a0295d47689c Mon Sep 17 00:00:00 2001 From: Kacper Kasper Date: Sun, 29 Jun 2014 20:55:31 +0200 Subject: [PATCH 38/49] librevenge: add recipe for version 0.0.0 --- dev-libs/librevenge/librevenge-0.0.0.recipe | 81 +++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 dev-libs/librevenge/librevenge-0.0.0.recipe diff --git a/dev-libs/librevenge/librevenge-0.0.0.recipe b/dev-libs/librevenge/librevenge-0.0.0.recipe new file mode 100644 index 000000000..67b813a26 --- /dev/null +++ b/dev-libs/librevenge/librevenge-0.0.0.recipe @@ -0,0 +1,81 @@ +SUMMARY="A helper library for REVerses ENGineered formats filters" +DESCRIPTION=" +librevenge is a base library for writing document import filters. It has \ +interfaces for text documents, vector graphics, spreadsheets and presentations. +" +LICENSE=" +GNU LGPL v2.1 +MPL v2.0 +" +COPYRIGHT=" +Fridrich Strba +Laurent Alonso +David Tardon +" +HOMEPAGE="http://sourceforge.net/p/libwpd/wiki/librevenge/" +SRC_URI="http://downloads.sourceforge.net/project/libwpd/librevenge/librevenge-$portVersion/librevenge-$portVersion.tar.bz2" +CHECKSUM_SHA256="55b9fde4c729a525db36d37b51a0f5d8614d4c631e336320e540dfce3128f7f7" +REVISION="1" +ARCHITECTURES="x86 ?x86_64" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + librevenge$secondaryArchSuffix = $portVersion compat >= 0 + lib:librevenge_0.0$secondaryArchSuffix = $portVersion compat >= 0 + lib:librevenge_generators_0.0$secondaryArchSuffix = $portVersion compat >= 0 + lib:librevenge_stream_0.0$secondaryArchSuffix = $portVersion compat >= 0 + " +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libboost_filesystem$secondaryArchSuffix + lib:libboost_system$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " +BUILD_REQUIRES=" + devel:libboost_filesystem$secondaryArchSuffix + devel:libboost_system$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:awk + cmd:pkg_config$secondaryArchSuffix + " + +BUILD() +{ + runConfigure ./configure \ + --with-boost-libdir=`finddir B_SYSTEM_DIRECTORY`/$relativeDevelopLibDir + make $jobArgs +} + +INSTALL() +{ + make install + + # set up the develop directory correctly + prepareInstalledDevelLibs librevenge-0.0 librevenge-generators-0.0 \ + librevenge-stream-0.0 + fixPkgconfig + + # devel package + packageEntries devel $developDir +} + +# ----- devel package ------------------------------------------------------- + +PROVIDES_devel=" + librevenge${secondaryArchSuffix}_devel = $portVersion compat >= 0 + devel:librevenge_0.0$secondaryArchSuffix = $portVersion compat >= 0 + devel:librevenge_generators_0.0$secondaryArchSuffix = $portVersion compat >= 0 + devel:librevenge_stream_0.0$secondaryArchSuffix = $portVersion compat >= 0 + " +REQUIRES_devel=" + librevenge${secondaryArchSuffix} == $portVersion base + " From dcfff6aca5cc3d405155b4cc597c563da9559b32 Mon Sep 17 00:00:00 2001 From: Kacper Kasper Date: Fri, 4 Jul 2014 20:11:32 +0200 Subject: [PATCH 39/49] nspr: add recipe and patchset for version 4.10.6 (still broken) * I used Linux/Unix platform code with pthreads because BeOS one is very outdated. * Some tests pass but there is a crash on exit. --- dev-libs/nspr/nspr-4.10.6.recipe | 89 ++++++ dev-libs/nspr/patches/nspr-4.10.6.patchset | 336 +++++++++++++++++++++ 2 files changed, 425 insertions(+) create mode 100644 dev-libs/nspr/nspr-4.10.6.recipe create mode 100644 dev-libs/nspr/patches/nspr-4.10.6.patchset diff --git a/dev-libs/nspr/nspr-4.10.6.recipe b/dev-libs/nspr/nspr-4.10.6.recipe new file mode 100644 index 000000000..278d6ca01 --- /dev/null +++ b/dev-libs/nspr/nspr-4.10.6.recipe @@ -0,0 +1,89 @@ +SUMMARY="A platform abstraction library" +DESCRIPTION=" +Netscape Portable Runtime (NSPR) provides a platform-neutral API for system \ +level and libc-like functions. The API is used in the Mozilla clients, many \ +of Red Hat's and Sun's server applications, and other software offerings. +" +LICENSE=" +GNU GPL v2 +GNU LGPL v2.1 +MPL v2.0 +" +COPYRIGHT="Mozilla Foundation" +HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR" +SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v$portVersion/src/nspr-$portVersion.tar.gz" +CHECKSUM_SHA256="df69ac8b0126f11907792384468adf42712b1d6db9772f4aa20c6d471594644a" +REVISION="1" +ARCHITECTURES="!x86_gcc2 x86 ?x86_64" +SECONDARY_ARCHITECTURES="!x86 !x86_gcc2" +#SOURCE_DIR="nspr-$portVersion/nspr" + +PROVIDES=" + nspr$secondaryArchSuffix = $portVersion + lib:libnspr4$secondaryArchSuffix = $portVersion compat >= 4 + lib:libplc4$secondaryArchSuffix = $portVersion compat >= 4 + lib:libplds4$secondaryArchSuffix = $portVersion compat >= 4 + " +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + " +BUILD_REQUIRES=" + " +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:autoconf + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:awk + cmd:perl + " + +PATCHES="nspr-$portVersion.patchset" + +BUILD() +{ + # FIXME: SOURCE_DIR="nspr-$portVersion/nspr" doesn't work + cd nspr + autoconf + runConfigure ./configure --disable-debug --enable-optimize + make $jobArgs +} + +INSTALL() +{ + cd nspr + make install + + # set up the develop directory correctly + prepareInstalledDevelLibs libnspr4 libplc4 libplds4 + fixPkgconfig + + rm $binDir/compile-et.pl + rm $binDir/prerr.properties + + # devel package + packageEntries devel $developDir $dataDir/aclocal $binDir/nspr-config +} + +TEST() +{ + cd nspr + autoconf + runConfigure ./configure + cd pr/tests + make $jobArgs + make runtests +} + +# ----- devel package ------------------------------------------------------- + +PROVIDES_devel=" + nspr${secondaryArchSuffix}_devel = $portVersion compat >= 4 + devel:libnspr4$secondaryArchSuffix = $portVersion compat >= 4 + devel:libplc4$secondaryArchSuffix = $portVersion compat >= 4 + devel:libplds4$secondaryArchSuffix = $portVersion compat >= 4 + " +REQUIRES_devel=" + nspr${secondaryArchSuffix} == $portVersion base + " diff --git a/dev-libs/nspr/patches/nspr-4.10.6.patchset b/dev-libs/nspr/patches/nspr-4.10.6.patchset new file mode 100644 index 000000000..41192a237 --- /dev/null +++ b/dev-libs/nspr/patches/nspr-4.10.6.patchset @@ -0,0 +1,336 @@ +From 5eca23b7a963a57466e7f90024677190d39336bc Mon Sep 17 00:00:00 2001 +From: Kacper Kasper +Date: Fri, 4 Jul 2014 11:56:24 +0200 +Subject: Haiku support + + +diff --git a/nspr/configure.in b/nspr/configure.in +index 9e9f1b1..5361a5b 100644 +--- a/nspr/configure.in ++++ b/nspr/configure.in +@@ -1312,6 +1312,24 @@ case "$target" in + ;; + esac + ;; ++ ++*-haiku*) ++ AC_DEFINE(XP_UNIX) ++ AC_DEFINE(HAIKU) ++ AC_DEFINE(HAVE_SOCKLEN_T) ++ AC_DEFINE(HAVE_FCNTL_FILE_LOCKING) ++ DSO_CFLAGS="-fPIC" ++ USE_PTHREADS=1 ++ IMPL_STRATEGY=_PTH ++ MDCPUCFG_H=_linux.cfg ++ PR_MD_ASFILES=os_Linux_x86.s ++ PR_MD_CSRCS=linux.c ++ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@' ++ DSO_CFLAGS=-fPIC ++ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)' ++ _OPTIMIZE_FLAGS=-O2 ++ AC_CHECK_LIB(network, gethostbyaddr, [OS_LIBS="$OS_LIBS -lnetwork"]) ++ ;; + + *-bsdi*) + AC_DEFINE(XP_UNIX) +@@ -2538,7 +2556,7 @@ dnl The same goes for BeOS. + dnl OS/2 has dlfcn in libc. + + case $target in +-*-darwin*|*-beos*|*-os2*) ++*-darwin*|*-beos*|*-haiku*|*-os2*) + ;; + *) + AC_CHECK_LIB(dl, dlopen, +@@ -2676,7 +2694,7 @@ echo " + ]) + + case "$target_os" in +-darwin*) ++darwin*|haiku*) + _HAVE_PTHREADS=1 + ;; + *) +diff --git a/nspr/pr/include/md/_linux.h b/nspr/pr/include/md/_linux.h +index 278f90c..669fb42 100644 +--- a/nspr/pr/include/md/_linux.h ++++ b/nspr/pr/include/md/_linux.h +@@ -261,7 +261,8 @@ static inline PRInt32 _MD_ATOMIC_SET(PRInt32 *ptr, PRInt32 nv) + #endif /* __arm__ */ + + #define USE_SETJMP +-#if (defined(__GLIBC__) && __GLIBC__ >= 2) || defined(ANDROID) ++#if (defined(__GLIBC__) && __GLIBC__ >= 2) || defined(ANDROID) \ ++ || defined(HAIKU) + #define _PR_POLL_AVAILABLE + #endif + #undef _PR_USE_POLL +@@ -282,7 +283,7 @@ static inline PRInt32 _MD_ATOMIC_SET(PRInt32 *ptr, PRInt32 nv) + #define _PR_HAVE_GETADDRINFO + #define _PR_INET6_PROBE + #endif +-#ifndef ANDROID ++#if !defined(ANDROID) && !defined(HAIKU) + #define _PR_HAVE_SYSV_SEMAPHORES + #define PR_HAVE_SYSV_NAMED_SHARED_MEMORY + #endif +diff --git a/nspr/pr/include/md/_pth.h b/nspr/pr/include/md/_pth.h +index eeeef04..ef60438 100644 +--- a/nspr/pr/include/md/_pth.h ++++ b/nspr/pr/include/md/_pth.h +@@ -117,7 +117,8 @@ + || defined(HPUX) || defined(FREEBSD) \ + || defined(NETBSD) || defined(OPENBSD) || defined(BSDI) \ + || defined(NTO) || defined(DARWIN) \ +- || defined(UNIXWARE) || defined(RISCOS) || defined(SYMBIAN) ++ || defined(UNIXWARE) || defined(RISCOS) || defined(SYMBIAN) \ ++ || defined(HAIKU) + #define _PT_PTHREAD_INVALIDATE_THR_HANDLE(t) (t) = 0 + #define _PT_PTHREAD_THR_HANDLE_IS_INVALID(t) (t) == 0 + #define _PT_PTHREAD_COPY_THR_HANDLE(st, dt) (dt) = (st) +@@ -170,7 +171,7 @@ + || defined(LINUX) || defined(__GNU__)|| defined(__GLIBC__) \ + || defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) \ + || defined(BSDI) || defined(UNIXWARE) \ +- || defined(DARWIN) || defined(SYMBIAN) ++ || defined(DARWIN) || defined(SYMBIAN) || defined(HAIKU) + #define PT_NO_SIGTIMEDWAIT + #endif + +@@ -201,7 +202,7 @@ + #endif /* defined(_PR_DCETHREADS) */ + + #elif defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) \ +- || defined(FREEBSD) || defined(SYMBIAN) ++ || defined(FREEBSD) || defined(SYMBIAN) || defined(HAIKU) + #define PT_PRIO_MIN sched_get_priority_min(SCHED_OTHER) + #define PT_PRIO_MAX sched_get_priority_max(SCHED_OTHER) + #elif defined(NTO) +@@ -261,7 +262,8 @@ extern int (*_PT_aix_yield_fcn)(); + || defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) \ + || defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) \ + || defined(BSDI) || defined(NTO) || defined(DARWIN) \ +- || defined(UNIXWARE) || defined(RISCOS) || defined(SYMBIAN) ++ || defined(UNIXWARE) || defined(RISCOS) || defined(SYMBIAN) \ ++ || defined(HAIKU) + #define _PT_PTHREAD_YIELD() sched_yield() + #else + #error "Need to define _PT_PTHREAD_YIELD for this platform" +diff --git a/nspr/pr/include/md/_unixos.h b/nspr/pr/include/md/_unixos.h +index 04d9904..5c3aa45 100644 +--- a/nspr/pr/include/md/_unixos.h ++++ b/nspr/pr/include/md/_unixos.h +@@ -15,7 +15,7 @@ + * not be redefined. + */ + #if !defined(LINUX) && !defined(__GNU__) && !defined(__GLIBC__) \ +- && !defined(DARWIN) ++ && !defined(DARWIN) && !defined(HAIKU) + #ifndef FD_SETSIZE + #define FD_SETSIZE 4096 + #endif +@@ -46,7 +46,7 @@ + */ + #include + #include +-#if defined(AIX) || defined(SYMBIAN) ++#if defined(AIX) || defined(SYMBIAN) || defined(HAIKU) + #include + #endif + +diff --git a/nspr/pr/include/md/prosdep.h b/nspr/pr/include/md/prosdep.h +index 94d8945..3cd48da 100644 +--- a/nspr/pr/include/md/prosdep.h ++++ b/nspr/pr/include/md/prosdep.h +@@ -52,7 +52,7 @@ PR_BEGIN_EXTERN_C + #elif defined(IRIX) + #include "md/_irix.h" + +-#elif defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) ++#elif defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) || defined(HAIKU) + #include "md/_linux.h" + + #elif defined(OSF1) +diff --git a/nspr/pr/src/io/prmapopt.c b/nspr/pr/src/io/prmapopt.c +index f92a76b..d155e48 100644 +--- a/nspr/pr/src/io/prmapopt.c ++++ b/nspr/pr/src/io/prmapopt.c +@@ -102,15 +102,15 @@ PRStatus PR_CALLBACK _PR_SocketGetSocketOption(PRFileDesc *fd, PRSocketOptionDat + case PR_SockOpt_McastLoopback: + { + #ifdef WIN32 /* Winsock */ +- BOOL bool; ++ BOOL value; + #else +- PRUint8 bool; ++ PRUint8 value; + #endif +- length = sizeof(bool); ++ length = sizeof(value); + rv = _PR_MD_GETSOCKOPT( +- fd, level, name, (char*)&bool, &length); ++ fd, level, name, (char*)&value, &length); + if (PR_SUCCESS == rv) +- data->value.mcast_loopback = (0 == bool) ? PR_FALSE : PR_TRUE; ++ data->value.mcast_loopback = (0 == value) ? PR_FALSE : PR_TRUE; + break; + } + case PR_SockOpt_RecvBufferSize: +@@ -252,13 +252,13 @@ PRStatus PR_CALLBACK _PR_SocketSetSocketOption(PRFileDesc *fd, const PRSocketOpt + case PR_SockOpt_McastLoopback: + { + #ifdef WIN32 /* Winsock */ +- BOOL bool; ++ BOOL value; + #else +- PRUint8 bool; ++ PRUint8 value; + #endif +- bool = data->value.mcast_loopback ? 1 : 0; ++ value = data->value.mcast_loopback ? 1 : 0; + rv = _PR_MD_SETSOCKOPT( +- fd, level, name, (char*)&bool, sizeof(bool)); ++ fd, level, name, (char*)&value, sizeof(value)); + break; + } + case PR_SockOpt_RecvBufferSize: +diff --git a/nspr/pr/src/md/unix/linux.c b/nspr/pr/src/md/unix/linux.c +index 1b485a0..8a17e4e 100644 +--- a/nspr/pr/src/md/unix/linux.c ++++ b/nspr/pr/src/md/unix/linux.c +@@ -25,12 +25,14 @@ PRWord *_MD_HomeGCRegisters(PRThread *t, int isCurrent, int *np) + + #ifdef _PR_PTHREADS + ++#ifndef HAIKU + extern void _MD_unix_terminate_waitpid_daemon(void); + + void _MD_CleanupBeforeExit(void) + { + _MD_unix_terminate_waitpid_daemon(); + } ++#endif + + #else /* ! _PR_PTHREADS */ + +diff --git a/nspr/pr/src/md/unix/uxrng.c b/nspr/pr/src/md/unix/uxrng.c +index da2f7e9..cbef872 100644 +--- a/nspr/pr/src/md/unix/uxrng.c ++++ b/nspr/pr/src/md/unix/uxrng.c +@@ -86,7 +86,7 @@ GetHighResClock(void *buf, size_t maxbytes) + + #elif (defined(LINUX) || defined(FREEBSD) || defined(__FreeBSD_kernel__) \ + || defined(NETBSD) || defined(__NetBSD_kernel__) || defined(OPENBSD) \ +- || defined(SYMBIAN) || defined(__GNU__)) ++ || defined(SYMBIAN) || defined(__GNU__)) || defined(HAIKU) + #include + #include + #include +diff --git a/nspr/pr/src/misc/prnetdb.c b/nspr/pr/src/misc/prnetdb.c +index b86248f..0f07192 100644 +--- a/nspr/pr/src/misc/prnetdb.c ++++ b/nspr/pr/src/misc/prnetdb.c +@@ -54,7 +54,7 @@ PRLock *_pr_dnsLock = NULL; + * Some return a pointer to struct protoent, others return + * an int, and glibc's flavor takes five arguments. + */ +-#if defined(XP_BEOS) && defined(BONE_VERSION) ++#if defined(HAIKU) || (defined(XP_BEOS) && defined(BONE_VERSION)) + #include /* pick up define for inet_addr */ + #include + #define _PR_HAVE_GETPROTO_R +diff --git a/nspr/pr/src/pthreads/ptio.c b/nspr/pr/src/pthreads/ptio.c +index 125f1f9..fe51684 100644 +--- a/nspr/pr/src/pthreads/ptio.c ++++ b/nspr/pr/src/pthreads/ptio.c +@@ -28,7 +28,7 @@ + #include + #include + #include +-#if defined(DARWIN) ++#if defined(DARWIN) || defined(HAIKU) + #include /* for uname */ + #endif + #if defined(SOLARIS) || defined(UNIXWARE) +@@ -180,7 +180,8 @@ static PRBool _pr_ipv6_v6only_on_by_default; + || defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) \ + || defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) \ + || defined(BSDI) || defined(NTO) || defined(DARWIN) \ +- || defined(UNIXWARE) || defined(RISCOS) || defined(SYMBIAN) ++ || defined(UNIXWARE) || defined(RISCOS) || defined(SYMBIAN) \ ++ || defined(HAIKU) + #define _PRSelectFdSetArg_t fd_set * + #else + #error "Cannot determine architecture" +@@ -3256,7 +3257,7 @@ static PRIOMethods _pr_socketpollfd_methods = { + || defined(AIX) || defined(FREEBSD) || defined(NETBSD) \ + || defined(OPENBSD) || defined(BSDI) || defined(NTO) \ + || defined(DARWIN) || defined(UNIXWARE) || defined(RISCOS) \ +- || defined(SYMBIAN) ++ || defined(SYMBIAN) || defined(HAIKU) + #define _PR_FCNTL_FLAGS O_NONBLOCK + #else + #error "Can't determine architecture" +diff --git a/nspr/pr/src/pthreads/ptthread.c b/nspr/pr/src/pthreads/ptthread.c +index 4ab564a..751454a 100644 +--- a/nspr/pr/src/pthreads/ptthread.c ++++ b/nspr/pr/src/pthreads/ptthread.c +@@ -21,7 +21,7 @@ + #include + #include + +-#ifdef SYMBIAN ++#if defined(SYMBIAN) || defined(HAIKU) + /* In Open C sched_get_priority_min/max do not work properly, so we undefine + * _POSIX_THREAD_PRIORITY_SCHEDULING here. + */ +@@ -1417,7 +1417,7 @@ static void suspend_signal_handler(PRIntn sig) + #if !defined(FREEBSD) && !defined(NETBSD) && !defined(OPENBSD) \ + && !defined(BSDI) && !defined(UNIXWARE) \ + && !defined(DARWIN) && !defined(RISCOS) \ +- && !defined(SYMBIAN) /*XXX*/ ++ && !defined(SYMBIAN) && !defined(HAIKU) /*XXX*/ + PRIntn rv; + sigwait(&sigwait_set, &rv); + #endif +@@ -1461,7 +1461,7 @@ static void pt_SuspendSet(PRThread *thred) + PR_LOG(_pr_gc_lm, PR_LOG_ALWAYS, + ("doing pthread_kill in pt_SuspendSet thred %p tid = %X\n", + thred, thred->id)); +-#if defined(SYMBIAN) ++#if defined(SYMBIAN) + /* All signal group functions are not implemented in Symbian OS */ + rv = 0; + #else +diff --git a/nspr/pr/tests/Makefile.in b/nspr/pr/tests/Makefile.in +index 9ebd923..5a3276e 100644 +--- a/nspr/pr/tests/Makefile.in ++++ b/nspr/pr/tests/Makefile.in +@@ -369,7 +369,7 @@ LIBPTHREAD = -lpthread + ifeq ($(OS_ARCH),AIX) + LIBPTHREAD = -lpthreads + endif +-ifeq (,$(filter-out FreeBSD OpenBSD BSD_OS QNX Darwin OpenUNIX,$(OS_ARCH))) ++ifeq (,$(filter-out Haiku FreeBSD OpenBSD BSD_OS QNX Darwin OpenUNIX,$(OS_ARCH))) + LIBPTHREAD = + endif + ifeq ($(OS_ARCH)$(basename $(OS_RELEASE)),HP-UXB.10) +@@ -450,6 +450,15 @@ $(OBJDIR)/prpoll: $(OBJDIR)/prpoll.o + $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) -lsocket $(EXTRA_LIBS) -o $@ + endif + ++ifeq ($(OS_ARCH),Haiku) ++ifeq ($(USE_IPV6),1) ++$(OBJDIR)/gethost: $(OBJDIR)/gethost.o ++ $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) -lnetwork $(EXTRA_LIBS) -o $@ ++endif ++$(OBJDIR)/prpoll: $(OBJDIR)/prpoll.o ++ $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) -lnetwork $(EXTRA_LIBS) -o $@ ++endif ++ + ifeq ($(USE_PTHREADS), 1) + $(OBJDIR)/attach: $(OBJDIR)/attach.o + $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@ +-- +1.8.3.4 + From 464b98af16e7da5e2c79cb2aa19f305322f34598 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Fri, 4 Jul 2014 21:04:40 +0200 Subject: [PATCH 40/49] Move catalog files for docbook to data/xml These are not supposed to be configuration files. --- .../docbook_xml_dtd/docbook_xml_dtd-4.3.recipe | 18 +++++++----------- .../docbook_xml_dtd/docbook_xml_dtd-4.5.recipe | 18 +++++++----------- .../docbook_xsl_stylesheets-1.78.1.recipe | 5 ++--- 3 files changed, 16 insertions(+), 25 deletions(-) diff --git a/app-text/docbook_xml_dtd/docbook_xml_dtd-4.3.recipe b/app-text/docbook_xml_dtd/docbook_xml_dtd-4.3.recipe index 96ce90472..1899845bd 100644 --- a/app-text/docbook_xml_dtd/docbook_xml_dtd-4.3.recipe +++ b/app-text/docbook_xml_dtd/docbook_xml_dtd-4.3.recipe @@ -45,9 +45,9 @@ INSTALL() cp -v -af docbook.cat *.dtd ent/ *.mod \ $dataDir/xml/docbook/xml-dtd-$portVersion - mkdir -p $settingsDir/etc/xml/catalog + mkdir -p $dataDir/xml/catalog - CATALOG=$settingsDir/etc/xml/docbook + CATALOG=$dataDir/xml/docbook-$portVersion xmlcatalog --noout --create $CATALOG xmlcatalog --noout --add "public" \ @@ -95,28 +95,24 @@ INSTALL() "file://$dataDir/xml/docbook/xml-dtd-$portVersion" \ $CATALOG - CATALOG=$settingsDir/etc/xml/catalog/docbook-xml-dtd + CATALOG=$dataDir/xml/catalog/docbook-xml-dtd xmlcatalog --noout --create $CATALOG xmlcatalog --noout --add "delegatePublic" \ "-//OASIS//ENTITIES DocBook XML" \ - "file://$settingsDir/etc/xml/docbook" \ + "file://$dataDir/xml/docbook-$portVersion" \ $CATALOG xmlcatalog --noout --add "delegatePublic" \ "-//OASIS//DTD DocBook XML" \ - "file://$settingsDir/etc/xml/docbook" \ + "file://$dataDir/xml/docbook-$portVersion" \ $CATALOG xmlcatalog --noout --add "delegateSystem" \ "http://www.oasis-open.org/docbook/" \ - "file://$settingsDir/etc/xml/docbook" \ + "file://$dataDir/xml/docbook-$portVersion" \ $CATALOG xmlcatalog --noout --add "delegateURI" \ "http://www.oasis-open.org/docbook/" \ - "file://$settingsDir/etc/xml/docbook" \ + "file://$dataDir/xml/docbook-$portVersion" \ $CATALOG } -GLOBAL_WRITABLE_FILES=" - settings/etc/xml/catalog/docbook-xml-dtd keep-old - settings/etc/xml/docbook keep-old -" diff --git a/app-text/docbook_xml_dtd/docbook_xml_dtd-4.5.recipe b/app-text/docbook_xml_dtd/docbook_xml_dtd-4.5.recipe index 0d891ee12..7871ce3de 100644 --- a/app-text/docbook_xml_dtd/docbook_xml_dtd-4.5.recipe +++ b/app-text/docbook_xml_dtd/docbook_xml_dtd-4.5.recipe @@ -45,9 +45,9 @@ INSTALL() cp -v -af docbook.cat *.dtd ent/ *.mod \ $dataDir/xml/docbook/xml-dtd-$portVersion - mkdir -p $settingsDir/etc/xml/catalog + mkdir -p $dataDir/xml/catalog - CATALOG=$settingsDir/etc/xml/docbook + CATALOG=$dataDir/xml/docbook-$portVersion xmlcatalog --noout --create $CATALOG xmlcatalog --noout --add "public" \ @@ -95,28 +95,24 @@ INSTALL() "file://$dataDir/xml/docbook/xml-dtd-$portVersion" \ $CATALOG - CATALOG=$settingsDir/etc/xml/catalog/docbook-xml-dtd + CATALOG=$dataDir/xml/catalog/docbook-xml-dtd xmlcatalog --noout --create $CATALOG xmlcatalog --noout --add "delegatePublic" \ "-//OASIS//ENTITIES DocBook XML" \ - "file://$settingsDir/etc/xml/docbook" \ + "file://$dataDir/xml/docbook-$portVersion" \ $CATALOG xmlcatalog --noout --add "delegatePublic" \ "-//OASIS//DTD DocBook XML" \ - "file://$settingsDir/etc/xml/docbook" \ + "file://$dataDir/xml/docbook-$portVersion" \ $CATALOG xmlcatalog --noout --add "delegateSystem" \ "http://www.oasis-open.org/docbook/" \ - "file://$settingsDir/etc/xml/docbook" \ + "file://$dataDir/xml/docbook-$portVersion" \ $CATALOG xmlcatalog --noout --add "delegateURI" \ "http://www.oasis-open.org/docbook/" \ - "file://$settingsDir/etc/xml/docbook" \ + "file://$dataDir/xml/docbook-$portVersion" \ $CATALOG } -GLOBAL_WRITABLE_FILES=" - settings/etc/xml/catalog/docbook-xml-dtd keep-old - settings/etc/xml/docbook keep-old -" diff --git a/app-text/docbook_xsl_stylesheets/docbook_xsl_stylesheets-1.78.1.recipe b/app-text/docbook_xsl_stylesheets/docbook_xsl_stylesheets-1.78.1.recipe index 645406032..d8b23892c 100644 --- a/app-text/docbook_xsl_stylesheets/docbook_xsl_stylesheets-1.78.1.recipe +++ b/app-text/docbook_xsl_stylesheets/docbook_xsl_stylesheets-1.78.1.recipe @@ -45,9 +45,9 @@ INSTALL() ln -s VERSION $dataDir/xml/docbook/xsl-stylesheets-1.78.1/VERSION.xsl - mkdir -p $settingsDir/etc/xml/catalog + mkdir -p $dataDir/xml/catalog - CATALOG=$settingsDir/etc/xml/catalog/docbook-xsl + CATALOG=$dataDir/xml/catalog/docbook-xsl xmlcatalog --noout --create $CATALOG xmlcatalog --noout --add "rewriteSystem" \ @@ -71,4 +71,3 @@ INSTALL() $CATALOG } -GLOBAL_WRITABLE_FILES="settings/etc/xml/catalog/docbook-xsl keep-old" From e2b96a3e38d353a481b9e15f1770a6c5b19b0cf3 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Fri, 4 Jul 2014 21:09:13 +0200 Subject: [PATCH 41/49] gtk_doc: make the recipe work. --- dev-util/gtk_doc/gtk_doc-1.20.recipe | 39 ++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/dev-util/gtk_doc/gtk_doc-1.20.recipe b/dev-util/gtk_doc/gtk_doc-1.20.recipe index a0eca295e..7bfe26a8b 100644 --- a/dev-util/gtk_doc/gtk_doc-1.20.recipe +++ b/dev-util/gtk_doc/gtk_doc-1.20.recipe @@ -11,6 +11,19 @@ REVISION="1" ARCHITECTURES="x86_gcc2" PROVIDES=" gtk_doc = $portVersion + cmd:gtkdoc_check + cmd:gtkdoc_depscan + cmd:gtkdoc_fixxref + cmd:gtkdoc_mkdb + cmd:gtkdoc_mkhtml + cmd:gtkdoc_mkman + cmd:gtkdoc_mkpdf + cmd:gtkdoc_mktmpl + cmd:gtkdoc_rebase + cmd:gtkdoc_scan + cmd:gtkdoc_scangobj + cmd:gtkdoc_scanobj + cmd:gtkdocize " BUILD_REQUIRES=" @@ -20,18 +33,40 @@ BUILD_REQUIRES=" BUILD_PREREQUIRES=" haiku_devel >= $haikuVersion + cmd:autoconf cmd:awk cmd:gcc + cmd:itstool + cmd:make + cmd:msgfmt cmd:perl cmd:pkg_config + cmd:python cmd:xsltproc " SOURCE_DIR="gtk-doc-$portVersion" BUILD() { - runConfigure ./configure - make + # Generate an XML catalog that includes both the Docbook-XML and Docbook-XSL + # ones. Linux distros populate a global catalog file using post-install + # scripts in the docbook packages, but we don't have that yet. + echo " + + " > xmlcat + + for i in /system/data/xml/catalog/* + do + echo " " >> xmlcat + done + + echo "" >> xmlcat + + runConfigure ./configure --with-xml-catalog=`pwd`/xmlcat + make $jobArgs } INSTALL() From af08ee5ad6c894e81790bbb14f85629de5a66687 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Fri, 4 Jul 2014 21:10:49 +0200 Subject: [PATCH 42/49] Pixman: update to latest version * Cairo needs at least 0.22 * Also remove !x86_gcc2 restriction since it builds and passes all tests. --- x11-libs/pixman/pixman-0.20.0.recipe | 7 +-- x11-libs/pixman/pixman-0.32.4.recipe | 84 ++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+), 6 deletions(-) create mode 100644 x11-libs/pixman/pixman-0.32.4.recipe diff --git a/x11-libs/pixman/pixman-0.20.0.recipe b/x11-libs/pixman/pixman-0.20.0.recipe index b0051e825..b51b46a89 100644 --- a/x11-libs/pixman/pixman-0.20.0.recipe +++ b/x11-libs/pixman/pixman-0.20.0.recipe @@ -15,12 +15,7 @@ COPYRIGHT="1987-1998 The Open Group 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 +ARCHITECTURES="x86_gcc2 x86 x86_64" SECONDARY_ARCHITECTURES="x86" PROVIDES=" diff --git a/x11-libs/pixman/pixman-0.32.4.recipe b/x11-libs/pixman/pixman-0.32.4.recipe new file mode 100644 index 000000000..d8ed72312 --- /dev/null +++ b/x11-libs/pixman/pixman-0.32.4.recipe @@ -0,0 +1,84 @@ +SUMMARY="pixman" +DESCRIPTION=" +Pixman - The pixel-manipulation library for X and cairo. +" +HOMEPAGE="http://cgit.freedesktop.org/pixman/" +SRC_URI="http://cairographics.org/releases/pixman-$portVersion.tar.gz" +CHECKSUM_SHA256="80c7ed420e8a3ae749800241e6347c3d55681296cab71384be7969cd9e657e84" +LICENSE="MIT" +COPYRIGHT="1987-1998 The Open Group + 1987-1989 Digital Equipment Corporation + 1999, 2004, 2008 Keith Packard + 2004-2010 Red Hat, Inc. + 2009-2010 Sun Microsystems, Inc. + and many others" + +REVISION="1" + +ARCHITECTURES="x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + pixman$secondaryArchSuffix = $portVersion + lib:libpixman_1$secondaryArchSuffix = $portVersion + " + +PROVIDES_devel=" + pixman${secondaryArchSuffix}_devel = $portVersion + devel:libpixman_1$secondaryArchSuffix = $portVersion + " + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + " + +REQUIRES_devel=" + pixman$secondaryArchSuffix == $portVersion base + " + +BUILD_REQUIRES=" + " + +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:aclocal + cmd:autoconf + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:libtoolize + cmd:make + cmd:perl + cmd:pkg_config + " + +PATCH() +{ + sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac +} + +BUILD() +{ + aclocal + libtoolize --force --copy --install + automake --add-missing + autoconf + runConfigure ./configure + make $jobArgs +} + +INSTALL() +{ + make install + + prepareInstalledDevelLibs libpixman-1 + + fixPkgconfig + + packageEntries devel \ + $developDir +} + +TEST() +{ + make check +} From e30f3722eb0ad28035be0ecee4bb8fbebd61653e Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Fri, 4 Jul 2014 21:11:44 +0200 Subject: [PATCH 43/49] Add itstool. --- dev-util/itstool/itstool-2.0.2.recipe | 57 +++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 dev-util/itstool/itstool-2.0.2.recipe diff --git a/dev-util/itstool/itstool-2.0.2.recipe b/dev-util/itstool/itstool-2.0.2.recipe new file mode 100644 index 000000000..5f2700da1 --- /dev/null +++ b/dev-util/itstool/itstool-2.0.2.recipe @@ -0,0 +1,57 @@ +SUMMARY="Translate your XML documents with PO files" +DESCRIPTION=" +ITS Tool allows you to translate your XML documents with PO files, using rules \ +from the W3C Internationalization Tag Set (ITS) to determine what to translate \ +and how to separate it into PO file messages. + +PO files are the standard translation format for GNU and other Unix-like \ +systems. They present translatable information as discrete messages, allowing \ +each message to be translated independently. In contrast to whole-page \ +translation, translating with a message-based format like PO means you can \ +easily track changes to the source document down to the paragraph. When new \ +strings are added or existing strings are modified, you only need to update \ +the corresponding messages. + +ITS Tool is designed to make XML documents translatable through PO files by \ +applying standard ITS rules, as well as extension rules specific to ITS Tool. \ +ITS also provides an industry standard way for authors to override translation \ +information in their documents, such as whether a particular element should be \ +translated. +" +HOMEPAGE="http://itstool.org/" +SRC_URI="http://files.itstool.org/itstool/itstool-$portVersion.tar.bz2" +CHECKSUM_SHA256="bf909fb59b11a646681a8534d5700fec99be83bb2c57badf8c1844512227033a" +REVISION="1" +ARCHITECTURES="x86_gcc2" +PROVIDES=" + itstool = $portVersion + cmd:itstool +" + +REQUIRES=" + libxml2_python +" + +BUILD_REQUIRES=" + libxml2_python +" + +BUILD_PREREQUIRES=" + cmd:awk + cmd:make + cmd:python >= 2.6 +" + +BUILD() +{ + runConfigure ./configure + make $jobArgs +} + +INSTALL() +{ + make install +} + +LICENSE="GNU GPL v3" +COPYRIGHT="2010-2014 Shaun McCance" From aa4d382cf48cfb7cda1cba534efc5b56005a3d5b Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Fri, 4 Jul 2014 21:12:05 +0200 Subject: [PATCH 44/49] Add recipe for Harfbuzz. --- media-libs/harfbuzz/harfbuzz-0.9.29.recipe | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 media-libs/harfbuzz/harfbuzz-0.9.29.recipe diff --git a/media-libs/harfbuzz/harfbuzz-0.9.29.recipe b/media-libs/harfbuzz/harfbuzz-0.9.29.recipe new file mode 100644 index 000000000..3614601c9 --- /dev/null +++ b/media-libs/harfbuzz/harfbuzz-0.9.29.recipe @@ -0,0 +1,43 @@ +SUMMARY="HarfBuzz is an OpenType text shaping engine." +DESCRIPTION=" +HarfBuzz is an OpenType text shaping engine. It is used to layout complex text +such as the Indic and Arabic alphabets. +" +HOMEPAGE="http://www.freedesktop.org/wiki/Software/HarfBuzz/" +SRC_URI="http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-$portVersion.tar.bz2" +CHECKSUM_SHA256="601cea38c6fa0cf362dd9042c66cf4db711c5f9390de4ca46d6d2fc3f64de390" +REVISION="1" +ARCHITECTURES="x86_gcc2" +PROVIDES=" + harfbuzz = $portVersion +" + +BUILD_REQUIRES=" + devel:libfreetype + devel:libglib_2.0 + devel:cairo +" + +BUILD_PREREQUIRES=" + haiku_devel >= $haikuVersion + cmd:automake + cmd:gcc + cmd:gtkdocize + cmd:libtool + cmd:make + cmd:pkg_config +" + +BUILD() +{ + runConfigure ./configure + make $jobArgs +} + +INSTALL() +{ + make install +} + +LICENSE="GNU GPL v2" +COPYRIGHT="2002-2010 Damon Chaplin and Owen Taylor" From 4914b63a6846c57f323b76e8adefe00cf5b69926 Mon Sep 17 00:00:00 2001 From: Kacper Kasper Date: Sat, 5 Jul 2014 00:00:02 +0200 Subject: [PATCH 45/49] Fix vigra_devel PROVIDES section --- media-libs/vigra/vigra-1.10.0.recipe | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/media-libs/vigra/vigra-1.10.0.recipe b/media-libs/vigra/vigra-1.10.0.recipe index 78ec8b860..71ad37092 100644 --- a/media-libs/vigra/vigra-1.10.0.recipe +++ b/media-libs/vigra/vigra-1.10.0.recipe @@ -96,9 +96,9 @@ TEST() PROVIDES_devel=" vigra${secondaryArchSuffix}_devel = $portVersion cmd:vigra_config$secondaryArchSuffix - cmd:python # vigra-config is python script devel:libvigraimpex$secondaryArchSuffix = 5.1.10.0 compat >= 5 " REQUIRES_devel=" vigra$secondaryArchSuffix == $portVersion base + cmd:python # vigra-config is python script " From b29db8551430f2efdddb221d1df0b1277650bdef Mon Sep 17 00:00:00 2001 From: Kacper Kasper Date: Sat, 5 Jul 2014 00:07:51 +0200 Subject: [PATCH 46/49] Style fixes for vigra recipe; bump revision --- media-libs/vigra/vigra-1.10.0.recipe | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/media-libs/vigra/vigra-1.10.0.recipe b/media-libs/vigra/vigra-1.10.0.recipe index 71ad37092..b07310f31 100644 --- a/media-libs/vigra/vigra-1.10.0.recipe +++ b/media-libs/vigra/vigra-1.10.0.recipe @@ -1,15 +1,15 @@ SUMMARY="Vision with Generic Algorithms" DESCRIPTION=" - C++ computer vision library with emphasize on customizable \ - algorithms and data structures. - " +C++ computer vision library with emphasize on customizable algorithms \ +and data structures. +" LICENSE="MIT" COPYRIGHT="1998-2013 by Ullrich Koethe" HOMEPAGE="http://ukoethe.github.io/vigra/" SRC_URI="https://github.com/ukoethe/vigra/archive/Version-1-10-0.tar.gz" -SRC_FILENAME="$portVersionedName.tar.gz" +SRC_FILENAME="$portName-$portVersion.tar.gz" CHECKSUM_SHA256="406f6fcbcea2e92f681a7b844487c29049d338f5b2b25f8145e67bcb518c7ef8" -REVISION="2" +REVISION="4" ARCHITECTURES="x86 ?x86_gcc2 ?x86_64" SECONDARY_ARCHITECTURES="x86 ?x86_gcc2" From 53048405ca18df50ab242a77371826070830dcc9 Mon Sep 17 00:00:00 2001 From: Kacper Kasper Date: Sat, 5 Jul 2014 03:29:50 +0200 Subject: [PATCH 47/49] nss: add initial recipe based on Gentoo ebuild file * Also mark nspr as broken --- dev-libs/nspr/nspr-4.10.6.recipe | 2 +- dev-libs/nss/nss-3.16.3.recipe | 86 ++++++++++++++++++++++++ dev-libs/nss/patches/nss-3.16.3.patchset | 63 +++++++++++++++++ 3 files changed, 150 insertions(+), 1 deletion(-) create mode 100644 dev-libs/nss/nss-3.16.3.recipe create mode 100644 dev-libs/nss/patches/nss-3.16.3.patchset diff --git a/dev-libs/nspr/nspr-4.10.6.recipe b/dev-libs/nspr/nspr-4.10.6.recipe index 278d6ca01..cb856a0fb 100644 --- a/dev-libs/nspr/nspr-4.10.6.recipe +++ b/dev-libs/nspr/nspr-4.10.6.recipe @@ -14,7 +14,7 @@ HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR" SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v$portVersion/src/nspr-$portVersion.tar.gz" CHECKSUM_SHA256="df69ac8b0126f11907792384468adf42712b1d6db9772f4aa20c6d471594644a" REVISION="1" -ARCHITECTURES="!x86_gcc2 x86 ?x86_64" +ARCHITECTURES="!x86_gcc2 !x86 !x86_64" SECONDARY_ARCHITECTURES="!x86 !x86_gcc2" #SOURCE_DIR="nspr-$portVersion/nspr" diff --git a/dev-libs/nss/nss-3.16.3.recipe b/dev-libs/nss/nss-3.16.3.recipe new file mode 100644 index 000000000..5866b4cd5 --- /dev/null +++ b/dev-libs/nss/nss-3.16.3.recipe @@ -0,0 +1,86 @@ +SUMMARY="Mozilla's Network Security Services library that implements PKI support" +DESCRIPTION=" +Network Security Services (NSS) is a set of libraries designed to support \ +cross-platform development of security-enabled client and server \ +applications. Applications built with NSS can support SSL v2 and v3, TLS, \ +PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and \ +other security standards. +" +LICENSE=" +GNU GPL v2 +GNU LGPL v2.1 +MPL v2.0 +" +COPYRIGHT="Mozilla Foundation" +HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS" +SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_16_3_RTM/src/nss-$portVersion.tar.gz" +CHECKSUM_SHA256="657711ff7a4058043b69019a66f44101d0234eae2b6b80ab900439dbf02add60" +REVISION="1" +ARCHITECTURES="!x86_gcc2 !x86 !x86_64" +SECONDARY_ARCHITECTURES="!x86 !x86_gcc2" +#SOURCE_DIR="nss-$portVersion/nss" + +PROVIDES=" + nss$secondaryArchSuffix = $portVersion compat >= 3 + " +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + " +BUILD_REQUIRES=" + nspr${secondaryArchSuffix}_devel >= 4 + " +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:autoconf + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:awk + cmd:perl + cmd:pkg_config$secondaryArchSuffix + " + +PATCHES="nss-$portVersion.patchset" + +BUILD() +{ + # FIXME: SOURCE_DIR="nss-$portVersion/nss" doesn't work + cd nss + + # FIXME: $secondaryArchSuffix is wrong here (_arch). What should be used? + myCPPFLAGS="${CPPFLAGS} `pkg-config nspr --cflags`" + myLDFLAGS="${LDFLAGS} `pkg-config nspr --libs-only-L`" + + export BUILD_OPT=1 + #export NSS_USE_SYSTEM_SQLITE=1 + export NSDISTMODE=copy + #export FREEBL_NO_DEPEND=1 + export ASFLAGS="" + + for d in . lib/dbm ; do + CPPFLAGS="${myCPPFLAGS}" + LDFLAGS="${myLDFLAGS}" + make -j1 -C ${d} + done +} + +INSTALL() +{ + cd nss + make install +} + +TEST() +{ + cd nss + # TODO +} + +# ----- devel package ------------------------------------------------------- + +PROVIDES_devel=" + nss${secondaryArchSuffix}_devel = $portVersion compat >= 3 + " +REQUIRES_devel=" + nss${secondaryArchSuffix} == $portVersion base + " diff --git a/dev-libs/nss/patches/nss-3.16.3.patchset b/dev-libs/nss/patches/nss-3.16.3.patchset new file mode 100644 index 000000000..b793f8e9c --- /dev/null +++ b/dev-libs/nss/patches/nss-3.16.3.patchset @@ -0,0 +1,63 @@ +From 4d386b384810ea29ed942212085181dc7d188026 Mon Sep 17 00:00:00 2001 +From: Kacper Kasper +Date: Sat, 5 Jul 2014 02:12:23 +0200 +Subject: Haiku support + + +diff --git a/nss/coreconf/BeOS.mk b/nss/coreconf/BeOS.mk +index 750696d..b53cfea 100644 +--- a/nss/coreconf/BeOS.mk ++++ b/nss/coreconf/BeOS.mk +@@ -7,7 +7,7 @@ include $(CORE_DEPTH)/coreconf/UNIX.mk + + XP_DEFINE := $(XP_DEFINE:-DXP_UNIX=-DXP_BEOS) + +-USE_PTHREADS = ++USE_PTHREADS = 1 + + ifeq ($(USE_PTHREADS),1) + IMPL_STRATEGY = _PTH +@@ -27,7 +27,7 @@ else + CPU_ARCH = x86 + endif + +-MKSHLIB = $(CC) -nostart -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so) ++MKSHLIB = $(CC) -shared -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so) + ifdef BUILD_OPT + OPTIMIZER = -O2 + endif +diff --git a/nss/coreconf/arch.mk b/nss/coreconf/arch.mk +index 782e6c0..669e52a 100644 +--- a/nss/coreconf/arch.mk ++++ b/nss/coreconf/arch.mk +@@ -41,6 +41,14 @@ else + endif + + # ++# Force the Haiku machines to use BeOS. ++# ++ ++ifeq ($(OS_ARCH),Haiku) ++ OS_ARCH = BeOS ++endif ++ ++# + # Force the IRIX64 machines to use IRIX. + # + +diff --git a/nss/lib/dbm/include/mcom_db.h b/nss/lib/dbm/include/mcom_db.h +index f204484..5cb10ee 100644 +--- a/nss/lib/dbm/include/mcom_db.h ++++ b/nss/lib/dbm/include/mcom_db.h +@@ -66,7 +66,7 @@ typedef PRUint32 uint32; + #include + #endif + +-#if defined(__linux) || defined(__BEOS__) ++#if defined(__linux) || defined(BEOS) + #include + #ifndef BYTE_ORDER + #define BYTE_ORDER __BYTE_ORDER +-- +1.8.3.4 + From 9d6a9bdba51bc36108ca88ba3d185a86831a12b5 Mon Sep 17 00:00:00 2001 From: Scott McCreary Date: Sat, 5 Jul 2014 16:51:09 +0000 Subject: [PATCH 48/49] README.md edited online with Bitbucket --- README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 000000000..4e1203caf --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# README # + +http://bb.haikuports.org/haikuports/wiki/Home From ac79ad37f13a62140650a46f24f70a5b7b488c19 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Sat, 5 Jul 2014 17:13:17 +0000 Subject: [PATCH 49/49] README.md edited online with Bitbucket --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4e1203caf..9a7a459ce 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ -# README # +# Welcome to HaikuPorts! -http://bb.haikuports.org/haikuports/wiki/Home +To get started, [read the wiki!](wiki/Home) \ No newline at end of file