diff options
-rw-r--r-- | base/boost/Pkgfile | 59 | ||||
-rw-r--r-- | base/boost/layout-tagged.patch | 135 | ||||
-rw-r--r-- | base/boost/translate_exception.patch | 10 |
3 files changed, 204 insertions, 0 deletions
diff --git a/base/boost/Pkgfile b/base/boost/Pkgfile new file mode 100644 index 000000000..6dd20b558 --- /dev/null +++ b/base/boost/Pkgfile @@ -0,0 +1,59 @@ +# Description: Free peer-reviewed portable C++ source libraries +# URL: http://boost.sourceforge.net/ +# Maintainer: NuTyX core team +# Packager: thierryn1 at hispeed dot ch +# Depends on: python + +name=boost +version=1.39.0 +release=1 +_boostver=1_39_0 +source=(http://downloads.sourceforge.net/$name/boost_${version//./_}.tar.bz2\ + layout-tagged.patch translate_exception.patch ) + +build() { + cd boost_${version//./_} + patch -Np0 -i ../layout-tagged.patch + patch -Np1 -i ../translate_exception.patch + + # build bjam + cd ${SRC}/${name}_${_boostver}/tools/jam/src + ./build.sh cc || return 1 + + _bindir="bin.linuxx86" + [ "${CARCH}" = "x86_64" ] && _bindir="bin.linuxx86_64" + + install -m755 -d ${PKG}/usr/bin + install -m755 ${_bindir}/bjam ${PKG}/usr/bin/bjam || return 1 + + # build bcp + cd ${SRC}/${name}_${_boostver}/tools/bcp + ../jam/src/${_bindir}/bjam || return 1 + install -m755 ${SRC}/${name}_${_boostver}/dist/bin/bcp \ + ${PKG}/usr/bin/bcp || return 1 + + # build libs + cd ${SRC}/${name}_${_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 \ + release debug-symbols=off threading=single,multi \ + runtime-link=shared link=shared,static \ + cflags=-fno-strict-aliasing \ + --prefix=${PKG}/usr \ + -sPYTHON_ROOT=/usr \ + -sPYTHON_VERSION=2.6 \ + -sTOOLS=gcc \ + --layout=tagged \ + install || return 1 +# --with-wave install || return 1 +# -d2 <- debug cflags=-fno-strict-aliasing \ + + # build pyste + cd ${SRC}/${name}_${_boostver}/libs/python/pyste/install + python setup.py install --root=${PKG} || return 1 +} +~ diff --git a/base/boost/layout-tagged.patch b/base/boost/layout-tagged.patch new file mode 100644 index 000000000..05e60ec91 --- /dev/null +++ b/base/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 <HDRDIR> 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 <HDRDIR>. 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 <HDRDIR> 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 <HDRDIR>. 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 + <base> <toolset> <threading> <runtime> -$(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 <target-os> ] in windows cygwin darwin aix ) && +- ! ( [ $(property-set).get <toolset> ] in pgi ) ) +- { +- result = $(result).$(BOOST_VERSION) ; +- } +- +- return $(result) ; ++ } ++ else if $(layout) = tagged ++ { ++ result = [ common.format-name ++ <base> <threading> <runtime> ++ -$(BUILD_ID) ++ : $(name) : $(type) : $(property-set) ] ; + } +- else ++ else if $(layout) = system + { +- local result = [ common.format-name ++ result = [ common.format-name + <base> + -$(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 <target-os> ] in windows cygwin darwin aix ) && +- ! ( [ $(property-set).get <toolset> ] 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 <target-os> ] in windows cygwin darwin aix ) && ++ ! ( [ $(property-set).get <toolset> ] in pgi ) ) ++ { ++ result = $(result).$(BOOST_VERSION) ; ++ } ++ ++ return $(result) ; ++ } + } + + diff --git a/base/boost/translate_exception.patch b/base/boost/translate_exception.patch new file mode 100644 index 000000000..68669c137 --- /dev/null +++ b/base/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 <boost/call_traits.hpp> + # include <boost/type_traits/add_const.hpp> ++# include <boost/type_traits/add_reference.hpp> + + # include <boost/function/function0.hpp> + |