From 4933be3cc871436ab83142eb7b15007a507c893e Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Fri, 18 Apr 2014 23:06:06 +0200 Subject: [PATCH] update apr and apr_util --- dev-libs/apr/apr-1.5.0.recipe | 108 +++++++++++++++ dev-libs/apr/patches/apr-1.5.0.patch | 50 +++++++ dev-libs/apr_util/apr_util-1.5.3.recipe | 128 ++++++++++++++++++ .../apr_util/patches/apr_util-1.5.3.patch | 45 ++++++ 4 files changed, 331 insertions(+) create mode 100644 dev-libs/apr/apr-1.5.0.recipe create mode 100644 dev-libs/apr/patches/apr-1.5.0.patch create mode 100644 dev-libs/apr_util/apr_util-1.5.3.recipe create mode 100644 dev-libs/apr_util/patches/apr_util-1.5.3.patch diff --git a/dev-libs/apr/apr-1.5.0.recipe b/dev-libs/apr/apr-1.5.0.recipe new file mode 100644 index 000000000..f386f5047 --- /dev/null +++ b/dev-libs/apr/apr-1.5.0.recipe @@ -0,0 +1,108 @@ +SUMMARY="Apache Portable Runtime Library" +HOMEPAGE="http://apr.apache.org/" +SRC_URI="http://archive.apache.org/dist/apr/apr-1.5.0.tar.gz" +COPYRIGHT="2012 The Apache Software Foundation." +LICENSE="Apache v2" +CHECKSUM_MD5="6419a8f7e89ad51b5bad7b0c84cc818c" +REVISION="1" +ARCHITECTURES="x86_gcc2 x86 ?x86_64" + +PATCHES="apr-1.5.0.patch" + +PROVIDES=" + apr = $portVersion compat >= 1 + lib:libapr_1 = 0.5.0 compat >= 0 + " +REQUIRES=" + haiku >= $haikuVersion + " +BUILD_REQUIRES=" + " +BUILD_PREREQUIRES=" + haiku_devel >= $haikuVersion + cmd:aclocal + cmd:autoconf + cmd:gcc + cmd:ld + cmd:libtoolize + cmd:make + " + + +BUILD() +{ + libtoolize -fci + touch libtool.m4 + aclocal -I build + autoconf + runConfigure ./configure \ + --with-installbuilddir=$prefix/data/apr + + # TODO: fix this hack (by finding out why top_builddir seems to be unset)! + ln -sfn $sourceDir/libtool /libtool + + make $jobArgs +} + +INSTALL() +{ + make install + + # prepare develop/lib + prepareInstalledDevelLibs libapr-1 + fixPkgconfig + + # fix apr-1-config + fixDevelopLibDirReferences $binDir/apr-1-config + + # remove superfluous .exp file + rm $libDir/apr.exp + + # devel package + packageEntries devel \ + $binDir \ + $dataDir \ + $developDir +} + +TEST() +{ + make test +} + +# ----- description ---------------------------------------------------------- + +DESCRIPTION=" +The mission of the Apache Portable Runtime (APR) project is to create and \ +maintain software libraries that provide a predictable and consistent \ +interface to underlying platform-specific implementations. The primary goal is \ +to provide an API to which software developers may code and be assured of \ +predictable if not identical behaviour regardless of the platform on which \ +their software is built, relieving them of the need to code special-case \ +conditions to work around or take advantage of platform-specific deficiencies \ +or features. +To give a brief overview, the primary core subsystems of APR 1.x include the \ +following: +- atomic operations +- dynamic Shared Object loading +- file I/O +- locks (mutexes, condition variables, etc) +- memory management (high performance allocators) +- memory-mapped files +- multicast Sockets +- network I/O +- shared memory +- thread and Process management +- various data structures (tables, hashes, priority queues, etc) +" + +# ----- devel package ------------------------------------------------------- + +PROVIDES_devel=" + apr_devel = portVersion compat >= 1 + cmd:apr_1_config = portVersion compat >= 1 + devel:libapr_1 = 0.5.0 compat >= 0 + " +REQUIRES_devel=" + apr == $portVersion base + " diff --git a/dev-libs/apr/patches/apr-1.5.0.patch b/dev-libs/apr/patches/apr-1.5.0.patch new file mode 100644 index 000000000..088277597 --- /dev/null +++ b/dev-libs/apr/patches/apr-1.5.0.patch @@ -0,0 +1,50 @@ +diff -urN apr-1.4.6/config.layout apr-1.4.6-haiku/config.layout +--- apr-1.4.6/config.layout 2004-11-24 22:51:51.056360960 +0000 ++++ apr-1.4.6-haiku/config.layout 2011-07-12 10:34:27.155189248 +0000 +@@ -60,6 +60,23 @@ + runtimedir: ${localstatedir}/run + + ++# Haiku Layout making use of finddir ++ ++ prefix: /boot/system ++ exec_prefix: /boot/system ++ bindir: /boot/system/bin ++ sbindir: /boot/system/servers ++ libdir: /boot/system/lib ++ libexecdir: /boot/system/servers ++ mandir: /boot/system/documentation/man ++ sysconfdir: /boot/system/settings ++ datadir: /boot/system/data ++ installbuilddir: /boot/develop/build ++ includedir: /boot/system/include ++ localstatedir: /boot/system/var ++ runtimedir: ${localstatedir}/log ++ ++ + # Mac OS X Server (Rhapsody) + + prefix: /Local/Library/WebServer +diff -urN apr-1.4.6/configure.in apr-1.4.6-haiku/configure.in +--- apr-1.4.6/configure.in 2011-04-11 12:58:38.043253760 -0700 ++++ apr-1.4.6-haiku/configure.in 2011-08-02 12:49:33.801112064 -0700 +@@ -203,7 +203,7 @@ + AC_PROG_CPP + AC_PROG_AWK + AC_PROG_LN_S +-AC_PROG_RANLIB ++AC_PROG_LIBTOOL + AC_PROG_INSTALL + AC_CHECK_PROG(RM, rm, rm) + AC_CHECK_PROG(AS, as, as) +@@ -672,9 +672,9 @@ + ac_cv_func_CreateFileMapping=yes + ;; + *) ++ AC_SEARCH_LIBS(socket, socket network) + AC_SEARCH_LIBS(gethostbyname, nsl) + AC_SEARCH_LIBS(gethostname, nsl) +- AC_SEARCH_LIBS(socket, socket) + AC_SEARCH_LIBS(crypt, crypt ufc) + AC_CHECK_LIB(truerand, main) + AC_SEARCH_LIBS(modf, m) diff --git a/dev-libs/apr_util/apr_util-1.5.3.recipe b/dev-libs/apr_util/apr_util-1.5.3.recipe new file mode 100644 index 000000000..a785890bb --- /dev/null +++ b/dev-libs/apr_util/apr_util-1.5.3.recipe @@ -0,0 +1,128 @@ +SUMMARY="Apache Portable Runtime Utility Library" +HOMEPAGE="http://apr.apache.org/" +SRC_URI="http://archive.apache.org/dist/apr/apr-util-1.5.3.tar.gz" +LICENSE="Apache v2" +COPYRIGHT="2011 The Apache Software Foundation." +CHECKSUM_MD5="71a11d037240b292f824ba1eb537b4e3" +REVISION="1" +ARCHITECTURES="x86_gcc2 x86 x86_64" + +PATCHES="apr_util-1.5.3.patch" + +PROVIDES=" + apr_util = $portVersion compat >= 1 + lib:libaprutil_1 = 0.5.3 compat >= 0 + " +REQUIRES=" + haiku >= $haikuVersion + lib:libapr_1 + lib:libexpat + lib:libiconv + " +BUILD_REQUIRES=" + devel:libapr_1 >= 0.5.0 + devel:libexpat + devel:libiconv + " +BUILD_PREREQUIRES=" + haiku_devel >= $haikuVersion + cmd:aclocal + cmd:autoconf + cmd:autoheader + cmd:gcc + cmd:ld + cmd:libtoolize + cmd:make + " + +SOURCE_DIR="apr-util-$portVersion" + +PATCH() +{ + echo 'AM_INIT_AUTOMAKE' >> xml/expat/configure.in +} + +BUILD() +{ + aprInstallDir=$portPackageLinksDir/lib~libapr_1 + expatInstallDir=$portPackageLinksDir/lib~libexpat + + rm -rf aclocal.m4 + mkdir -p m4 + libtoolize -fci + aclocal --install -I m4 + autoconf -f + + cd xml/expat + mkdir -p m4 + libtoolize -fci + aclocal --install -I m4 + autoconf --force + autoheader + touch libtool.m4 + cd ../.. + + # TODO: fix this hack! + cp /boot/system/bin/libtool . + ln -sfn $sourceDir/libtool /libtool + + runConfigure ./configure \ + --with-apr=$aprInstallDir \ + --with-expat=$expatInstallDir + make $jobArgs +} + +INSTALL() +{ + make install + + # prepare develop/lib + prepareInstalledDevelLibs libaprutil-1 + fixPkgconfig + + # fix apu-1-config + fixDevelopLibDirReferences $binDir/apu-1-config + + # remove superfluous .exp file + rm $libDir/aprutil.exp + + # devel package + packageEntries devel \ + $binDir \ + $developDir +} + +DESCRIPTION=" +The mission of the Apache Portable Runtime (APR) project is to create and \ +maintain software libraries that provide a predictable and consistent \ +interface to underlying platform-specific implementations. The primary goal is \ +to provide an API to which software developers may code and be assured of \ +predictable if not identical behaviour regardless of the platform on which \ +their software is built, relieving them of the need to code special-case \ +conditions to work around or take advantage of platform-specific deficiencies \ +or features. +To give a brief overview, the primary core subsystems of APR 1.x include the \ +following: +- atomic operations +- dynamic Shared Object loading +- file I/O +- locks (mutexes, condition variables, etc) +- memory management (high performance allocators) +- memory-mapped files +- multicast Sockets +- network I/O +- shared memory +- thread and Process management +- various data structures (tables, hashes, priority queues, etc) +" + +# ----- devel package ------------------------------------------------------- + +PROVIDES_devel=" + apr_util_devel = portVersion compat >= 1 + cmd:apu_1_config = $portVersion compat >= 1 + devel:libaprutil_1 = 0.5.3 compat >= 0 + " +REQUIRES_devel=" + apr_util == $portVersion base + " diff --git a/dev-libs/apr_util/patches/apr_util-1.5.3.patch b/dev-libs/apr_util/patches/apr_util-1.5.3.patch new file mode 100644 index 000000000..cfde8b9f4 --- /dev/null +++ b/dev-libs/apr_util/patches/apr_util-1.5.3.patch @@ -0,0 +1,45 @@ +diff -ur orig/apr-util-1.5.3/build/apu-conf.m4 apr_util-1.5.3/build/apu-conf.m4 +--- orig/apr-util-1.5.3/build/apu-conf.m4 2011-08-08 11:32:27.026738688 +0200 ++++ apr_util-1.5.3/build/apu-conf.m4 2013-04-30 21:28:37.100401152 +0200 +@@ -145,10 +145,10 @@ + else + # Add given path to standard search paths if appropriate: + if test "$withval" != "/usr"; then +- APR_ADDTO(LDFLAGS, [-L$withval/lib]) +- APR_ADDTO(CPPFLAGS, [-I$withval/include]) +- APR_ADDTO(APRUTIL_INCLUDES, [-I$withval/include]) +- APR_ADDTO(APRUTIL_LDFLAGS, [-L$withval/lib]) ++ APR_ADDTO(LDFLAGS, [-L$withval/develop/lib]) ++ APR_ADDTO(CPPFLAGS, [-I$withval/develop/headers]) ++ APR_ADDTO(APRUTIL_INCLUDES, [-I$withval/develop/headers]) ++ APR_ADDTO(APRUTIL_LDFLAGS, [-L$withval/develop/lib]) + fi + # ...and refuse to fall back on the builtin expat. + apu_try_builtin_expat=0 +diff -ur orig/apr-util-1.5.3/config.layout apr_util-1.5.3/config.layout +--- orig/apr-util-1.5.3/config.layout 2005-02-09 13:18:43.064749568 +0100 ++++ apr_util-1.5.3/config.layout 2013-04-30 21:27:27.079953920 +0200 +@@ -60,6 +60,23 @@ + runtimedir: ${localstatedir}/run + + ++# Haiku Layout making use of finddir ++ ++ prefix: /boot/system ++ exec_prefix: /boot/system ++ bindir: /boot/system/bin ++ sbindir: /boot/system/servers ++ libdir: /boot/system/lib ++ libexecdir: /boot/system/servers ++ mandir: /boot/system/documentation/man ++ sysconfdir: /boot/system/settings ++ datadir: /boot/system/data ++ installbuilddir: /boot/system/develop/build ++ includedir: /boot/system/include ++ localstatedir: /boot/system/var ++ runtimedir: ${localstatedir}/log ++ ++ + # Mac OS X Server (Rhapsody) + + prefix: /Local/Library/WebServer