summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--base/boost/Pkgfile59
-rw-r--r--base/boost/layout-tagged.patch135
-rw-r--r--base/boost/translate_exception.patch10
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>
+