diff --git a/extra/boost/PKGBUILD b/extra/boost/PKGBUILD new file mode 100644 index 000000000..64b8fcad3 --- /dev/null +++ b/extra/boost/PKGBUILD @@ -0,0 +1,74 @@ +# $Id: PKGBUILD 61524 2009-12-17 23:03:33Z ibiru $ +# Maintainer: kevin +# Contributor: Giovanni Scafora +# TU: Kritoke +# Contributor: Luca Roccia + +pkgname=boost +pkgver=1.41.0 +_boostver=1_41_0 +pkgrel=2 +pkgdesc="Free peer-reviewed portable C++ source libraries" +arch=('arm') +url="http://www.boost.org/" +depends=('bzip2' 'zlib') +makedepends=('python>=2.6') +optdepends=('python: for python bindings') +source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}_${_boostver}.tar.gz + fix-gzip-crc.patch + serialization_fix.patch) +license=('custom') +options=(!ccache) + +build() { + cd "${srcdir}/${pkgname}_${_boostver}" + patch -Np1 -i $srcdir/fix-gzip-crc.patch || return 1 + patch -Np1 -i $srcdir/serialization_fix.patch || return 1 + + # build bjam + cd ${srcdir}/${pkgname}_${_boostver}/tools/jam/src + ./build.sh cc || return 1 + + _bindir="bin.linuxarm" + [ "${CARCH}" = "arm" ] && _bindir="bin.linuxarm" + + install -m755 -d ${pkgdir}/usr/bin + install -m755 ${_bindir}/bjam ${pkgdir}/usr/bin/bjam || return 1 + + # build bcp + cd ${srcdir}/${pkgname}_${_boostver}/tools/bcp + ../jam/src/${_bindir}/bjam || return 1 + install -m755 ${srcdir}/${pkgname}_${_boostver}/dist/bin/bcp \ + ${pkgdir}/usr/bin/bcp || return 1 + + # build libs + cd ${srcdir}/${pkgname}_${_boostver} + # default "minimal" install: "release link=shared,static + # runtime-link=shared threading=multi" + # --layout=tagged will add the "-mt" suffix for multithreaded libraries + # and installs includes in /usr/include/boost. + # --layout=system no longer adds the -mt suffix for multi-threaded libs. + ./tools/jam/src/${_bindir}/bjam \ + --disable-long-double \ + release debug-symbols=off threading=single,multi \ + runtime-link=shared link=shared,static \ + cflags=-fno-strict-aliasing \ + --prefix=${pkgdir}/usr \ + -sPYTHON_ROOT=/usr \ + -sPYTHON_VERSION=2.6 \ + -sTOOLS=gcc \ + --layout=tagged \ + install || return 1 + + # build pyste + cd ${srcdir}/${pkgname}_${_boostver}/libs/python/pyste/install + python setup.py install --root=${pkgdir} || return 1 + + # license + install -m755 -d ${pkgdir}/usr/share/licenses/${pkgname} + install -m644 ${srcdir}/${pkgname}_${_boostver}/LICENSE_1_0.txt \ + ${pkgdir}/usr/share/licenses/${pkgname}/ || return 1 +} +md5sums=('ddb04c9b9164a36a91dcf36819666dd9' + '682f124a765b2935c7352f38c08848cc' + '01337211d40a4a4c9b83c481baade701') diff --git a/extra/boost/boostlist b/extra/boost/boostlist new file mode 100644 index 000000000..081b847ba --- /dev/null +++ b/extra/boost/boostlist @@ -0,0 +1,23 @@ +pdns +monotone +asio +stellarium +enblend-enfuse +liborigin2 +mkvtoolnix +kdesdk +kdepim +koffice +pdns-recursor +akonadi +licq +kdenetwork +exempi +libtorrent-rasterbar +libpst +wesnoth +libpst +twinkle +python-vpython +source-highlight + diff --git a/extra/boost/fix-gzip-crc.patch b/extra/boost/fix-gzip-crc.patch new file mode 100644 index 000000000..1707ff678 --- /dev/null +++ b/extra/boost/fix-gzip-crc.patch @@ -0,0 +1,24 @@ +diff -Nur boost_1_41_0.orig/boost/iostreams/filter/zlib.hpp boost_1_41_0/boost/iostreams/filter/zlib.hpp +--- boost_1_41_0.orig/boost/iostreams/filter/zlib.hpp 2009-10-14 18:20:36.000000000 +0300 ++++ boost_1_41_0/boost/iostreams/filter/zlib.hpp 2009-12-13 16:47:53.078056507 +0200 +@@ -20,6 +20,7 @@ + #include // allocator, bad_alloc. + #include + #include // MSVC, STATIC_CONSTANT, DEDUCED_TYPENAME, DINKUM. ++#include // uint*_t + #include + #include // buffer size. + #include +@@ -43,9 +44,9 @@ + namespace zlib { + // Typedefs + +-typedef unsigned int uint; +-typedef unsigned char byte; +-typedef unsigned long ulong; ++typedef uint32_t uint; ++typedef uint8_t byte; ++typedef uint32_t ulong; + + // Prefix 'x' prevents symbols from being redefined when Z_PREFIX is defined + typedef void* (*xalloc_func)(void*, zlib::uint, zlib::uint); diff --git a/extra/boost/layout-tagged.patch b/extra/boost/layout-tagged.patch new file mode 100644 index 000000000..05e60ec91 --- /dev/null +++ b/extra/boost/layout-tagged.patch @@ -0,0 +1,135 @@ +Patch to add --layout=tagged option which has the same behaviour as the +previous --layout=system. This comes from boost svn changeset r53015 +https://svn.boost.org/trac/boost/changeset/53015/trunk + +--- Jamroot.orig 2009-06-15 23:01:28.000000000 -0400 ++++ Jamroot 2009-06-15 23:08:08.000000000 -0400 +@@ -64,21 +64,26 @@ + # versions of Boost or multiple compilers can + # be used on the same system. + # +-# versioned (default) - Names of boost +-# binaries include the Boost version +-# number and the name and version of the +-# compiler. Boost headers are installed +-# in a subdirectory of whose +-# name contains the Boost version +-# number. +-# +-# system - Binaries names do not include +-# the Boost version number or the name +-# and version number of the compiler. +-# Boost headers are installed directly +-# into . This option is +-# intended for system integrators who +-# are building distribution packages. ++# versioned (default) - Names of boost binaries ++# include the Boost version number, name and ++# version of the compiler and encoded build ++# properties. Boost headers are installed in a ++# subdirectory of whose name contains ++# the Boost version number. ++# ++# tagged -- Names of boost binaries include the ++# encoded build properties such as variant and ++# threading, but do not including compiler name ++# and version, or Boost version. This option is ++# useful if you build several variants of Boost, ++# using the same compiler. ++# ++# system - Binaries names do not include the ++# Boost version number or the name and version ++# number of the compiler. Boost headers are ++# installed directly into . This option ++# is intended for system integrators who are ++# building distribution packages. + # + # --buildid=ID Adds the specified ID to the name of built + # libraries. The default is to not add anything. +@@ -318,53 +323,50 @@ + { + if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB + { ++ local result ; + if $(layout) = versioned + { +- local result = [ common.format-name ++ result = [ common.format-name + -$(BOOST_VERSION_TAG) + -$(BUILD_ID) + : $(name) : $(type) : $(property-set) ] ; +- +- # Optionally add version suffix. On NT, library with version suffix +- # will not be recognized by linkers. On CYGWIN, we get strage +- # duplicate symbol errors when library is generated with version +- # suffix. On OSX, version suffix is not needed -- the linker expects +- # the libFoo.1.2.3.dylib format. AIX linkers do not accept version +- # suffixes either. Pgi compilers can not accept library with version +- # suffix. +- if $(type) = SHARED_LIB && +- ( ! ( [ $(property-set).get ] in windows cygwin darwin aix ) && +- ! ( [ $(property-set).get ] in pgi ) ) +- { +- result = $(result).$(BOOST_VERSION) ; +- } +- +- return $(result) ; ++ } ++ else if $(layout) = tagged ++ { ++ result = [ common.format-name ++ ++ -$(BUILD_ID) ++ : $(name) : $(type) : $(property-set) ] ; + } +- else ++ else if $(layout) = system + { +- local result = [ common.format-name ++ result = [ common.format-name + + -$(BUILD_ID) + : $(name) : $(type) : $(property-set) ] ; +- +- # Optionally add version suffix. On NT, library with version suffix +- # will not be recognized by linkers. On CYGWIN, we get strage +- # duplicate symbol errors when library is generated with version +- # suffix. On OSX, version suffix is not needed -- the linker expects +- # the libFoo.1.2.3.dylib format. AIX linkers do not accept version +- # suffixes either. Pgi compilers can not accept library with version +- # suffix. +- if $(type) = SHARED_LIB && +- ( ! ( [ $(property-set).get ] in windows cygwin darwin aix ) && +- ! ( [ $(property-set).get ] in pgi ) ) +- { +- result = $(result).$(BOOST_VERSION) ; +- } +- +- return $(result) ; + } +- } ++ else ++ { ++ ECHO "error: invalid layout '$(layout)'" ; ++ EXIT ; ++ } ++ ++ # Optionally add version suffix. On NT, library with version suffix ++ # will not be recognized by linkers. On CYGWIN, we get strage ++ # duplicate symbol errors when library is generated with version ++ # suffix. On OSX, version suffix is not needed -- the linker expects ++ # the libFoo.1.2.3.dylib format. AIX linkers do not accept version ++ # suffixes either. Pgi compilers can not accept library with version ++ # suffix. ++ if $(type) = SHARED_LIB && ++ ( ! ( [ $(property-set).get ] in windows cygwin darwin aix ) && ++ ! ( [ $(property-set).get ] in pgi ) ) ++ { ++ result = $(result).$(BOOST_VERSION) ; ++ } ++ ++ return $(result) ; ++ } + } + + diff --git a/extra/boost/serialization_fix.patch b/extra/boost/serialization_fix.patch new file mode 100644 index 000000000..142da9d72 --- /dev/null +++ b/extra/boost/serialization_fix.patch @@ -0,0 +1,12 @@ +diff -Nur boost_1_41_0.old/boost/archive/shared_ptr_helper.hpp boost_1_41_0/boost/archive/shared_ptr_helper.hpp +--- boost_1_41_0.old/boost/archive/shared_ptr_helper.hpp 2009-09-20 05:18:42.000000000 +0300 ++++ boost_1_41_0/boost/archive/shared_ptr_helper.hpp 2009-12-17 22:20:48.666281335 +0200 +@@ -108,7 +108,7 @@ + struct non_polymorphic { + static const boost::serialization::extended_type_info * + get_object_identifier(T & t){ +- return boost::serialization::singleton< ++ return & boost::serialization::singleton< + BOOST_DEDUCED_TYPENAME + boost::serialization::type_info_implementation::type + >::get_const_instance(); diff --git a/extra/boost/translate_exception.patch b/extra/boost/translate_exception.patch new file mode 100644 index 000000000..68669c137 --- /dev/null +++ b/extra/boost/translate_exception.patch @@ -0,0 +1,10 @@ +--- a/boost/python/detail/translate_exception.hpp 2009-07-25 15:04:50.000000000 -0700 ++++ b/boost/python/detail/translate_exception.hpp 2009-07-25 15:04:50.000000000 -0700 +@@ -9,6 +9,7 @@ + + # include + # include ++# include + + # include +