summaryrefslogtreecommitdiff
path: root/extra/boost
diff options
context:
space:
mode:
Diffstat (limited to 'extra/boost')
-rw-r--r--extra/boost/4994-compile-fix-for-Python32-v2.patch16
-rw-r--r--extra/boost/PKGBUILD112
-rw-r--r--extra/boost/boost-1.46.0-spirit.patch59
3 files changed, 187 insertions, 0 deletions
diff --git a/extra/boost/4994-compile-fix-for-Python32-v2.patch b/extra/boost/4994-compile-fix-for-Python32-v2.patch
new file mode 100644
index 000000000..22613b3f2
--- /dev/null
+++ b/extra/boost/4994-compile-fix-for-Python32-v2.patch
@@ -0,0 +1,16 @@
+Index: libs/python/src/converter/builtin_converters.cpp
+===================================================================
+--- libs/python/src/converter/builtin_converters.cpp (revision 67279)
++++ libs/python/src/converter/builtin_converters.cpp (working copy)
+@@ -431,7 +431,11 @@
+ if (!result.empty())
+ {
+ int err = PyUnicode_AsWideChar(
++#if PY_VERSION_HEX >= 0x03020000
++ intermediate
++#else
+ (PyUnicodeObject *)intermediate
++#endif
+ , &result[0]
+ , result.size());
+
diff --git a/extra/boost/PKGBUILD b/extra/boost/PKGBUILD
new file mode 100644
index 000000000..d4f0c9c78
--- /dev/null
+++ b/extra/boost/PKGBUILD
@@ -0,0 +1,112 @@
+# $Id: PKGBUILD 114691 2011-03-15 13:50:13Z andrea $
+# Maintainer: kevin <kevin@archlinux.org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Kritoke <kritoke@gamebox.net>
+# Contributor: Luca Roccia <little_rock@users.sourceforge.net>
+
+pkgbase=boost
+pkgname=('boost-libs' 'boost')
+pkgver=1.46.0
+_boostver=${pkgver//./_}
+pkgrel=4
+arch=('i686' 'x86_64')
+url="http://www.boost.org/"
+makedepends=('icu' 'python' 'python2' 'bzip2' 'zlib' 'openmpi')
+source=(http://downloads.sourceforge.net/sourceforge/${pkgbase}/${pkgbase}_${_boostver}.tar.gz
+ 4994-compile-fix-for-Python32-v2.patch
+ boost-1.46.0-spirit.patch)
+license=('custom')
+md5sums=('820393d5746553c192db7b81ba0e53fe'
+ 'cb59e8adbf2a45ef9264a2f4ab92b849'
+ '9d6e2f13fef23bf27d7bdddc104e182a')
+
+_stagedir="${srcdir}/stagedir"
+
+build() {
+ # set python path for bjam
+ cd "${srcdir}/${pkgbase}_${_boostver}/tools"
+ echo "using python : 2.7 : /usr/bin/python2 ;" >> build/v2/user-config.jam
+ echo "using python : 3.2 : /usr/bin/python : /usr/include/python3.2mu : /usr/lib ;" >> build/v2/user-config.jam
+ echo "using mpi ;" >> build/v2/user-config.jam
+
+ # build bjam
+ cd "${srcdir}/${pkgbase}_${_boostver}/tools/build/v2/engine/src"
+ ./build.sh cc
+
+ _bindir="bin.linuxx86"
+ [ "${CARCH}" = "x86_64" ] && _bindir="bin.linuxx86_64"
+
+ install -d "${_stagedir}"/usr/bin
+ install ${_bindir}/bjam "${_stagedir}"/usr/bin/bjam
+
+ # build bcp
+ cd "${srcdir}/${pkgbase}_${_boostver}/tools/bcp"
+ ../build/v2/engine/src/${_bindir}/bjam --toolset=gcc
+ install -m755 "${srcdir}/${pkgbase}_${_boostver}/dist/bin/bcp" \
+ ${_stagedir}/usr/bin/bcp
+
+ # build libs
+ cd "${srcdir}/${pkgbase}_${_boostver}"
+ #python 3.2 support
+ #https://svn.boost.org/trac/boost/ticket/4994
+ patch -Np0 -i "${srcdir}/4994-compile-fix-for-Python32-v2.patch"
+ patch -Np0 -i "${srcdir}/boost-1.46.0-spirit.patch"
+
+ # default "minimal" install: "release link=shared,static
+ # runtime-link=shared threading=single,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.
+ # install to ${_stagedir} in preparation for split packaging
+
+ ./tools/build/v2/engine/src/${_bindir}/bjam \
+ release debug-symbols=off threading=multi \
+ runtime-link=shared link=shared,static \
+ cflags=-fno-strict-aliasing \
+ toolset=gcc \
+ --prefix="${_stagedir}" \
+ -sTOOLS=gcc \
+ --layout=system \
+ ${MAKEFLAGS} \
+ install
+
+ # pyste is unmaintained: http://www.boost.org/doc/libs/1_46_0/libs/python/doc/index.html
+ # build pyste
+ #cd "${srcdir}/${pkgbase}_${_boostver}/libs/python/pyste/install"
+ #python2 setup.py install --root=${_stagedir} --optimize=1
+}
+
+package_boost() {
+ pkgdesc="Free peer-reviewed portable C++ source libraries - Development"
+ depends=("boost-libs=${pkgver}")
+ optdepends=('python: for python bindings'
+ 'python2: for python2 bindings')
+
+ install -d "${pkgdir}"/usr/{include,lib}
+ # headers/source files
+ cp -r "${_stagedir}"/include/ "${pkgdir}"/usr/
+
+ # static libs
+ cp -r "${_stagedir}"/lib/*.a "${pkgdir}"/usr/lib/
+
+ # utilities (bjam, bcp, pyste)
+ cp -r "${_stagedir}"/usr/* "${pkgdir}"/usr/
+
+ # license
+ install -D -m644 "${srcdir}/${pkgbase}_${_boostver}/LICENSE_1_0.txt" \
+ "${pkgdir}"/usr/share/licenses/boost/LICENSE_1_0.txt
+}
+
+package_boost-libs() {
+ pkgdesc="Free peer-reviewed portable C++ source libraries - Runtime"
+ depends=('gcc-libs' 'bzip2' 'zlib' 'icu')
+ optdepends=('openmpi: for mpi support')
+
+ install -d "${pkgdir}/usr/lib"
+ #shared libs
+ cp -r "${_stagedir}"/lib/*.so{,.*} "${pkgdir}/usr/lib/"
+
+ # license
+ install -D -m644 "${srcdir}/${pkgbase}_${_boostver}/LICENSE_1_0.txt" \
+ "${pkgdir}"/usr/share/licenses/boost-libs/LICENSE_1_0.txt
+}
diff --git a/extra/boost/boost-1.46.0-spirit.patch b/extra/boost/boost-1.46.0-spirit.patch
new file mode 100644
index 000000000..6fae331ee
--- /dev/null
+++ b/extra/boost/boost-1.46.0-spirit.patch
@@ -0,0 +1,59 @@
+Index: boost/spirit/home/qi/nonterminal/detail/parameterized.hpp
+===================================================================
+--- boost/spirit/home/qi/nonterminal/detail/parameterized.hpp (revision 68724)
++++ boost/spirit/home/qi/nonterminal/detail/parameterized.hpp (revision 68725)
+@@ -14,6 +14,7 @@
+
+ #include <boost/ref.hpp>
+
++#include <boost/spirit/home/support/handles_container.hpp>
+ #include <boost/spirit/home/qi/parser.hpp>
+
+ namespace boost { namespace spirit { namespace qi
+@@ -59,4 +60,16 @@ namespace boost { namespace spirit { nam
+ };
+ }}}
+
++namespace boost { namespace spirit { namespace traits
++{
++ ///////////////////////////////////////////////////////////////////////////
++ template <typename Subject, typename Params, typename Attribute
++ , typename Context, typename Iterator>
++ struct handles_container<qi::parameterized_nonterminal<Subject, Params>
++ , Attribute, Context, Iterator>
++ : handles_container<typename remove_const<Subject>::type
++ , Attribute, Context, Iterator>
++ {};
++}}}
++
+ #endif
+Index: boost/spirit/home/karma/nonterminal/detail/parameterized.hpp
+===================================================================
+--- boost/spirit/home/karma/nonterminal/detail/parameterized.hpp (revision 68724)
++++ boost/spirit/home/karma/nonterminal/detail/parameterized.hpp (revision 68725)
+@@ -14,6 +14,7 @@
+
+ #include <boost/ref.hpp>
+
++#include <boost/spirit/home/support/handles_container.hpp>
+ #include <boost/spirit/home/karma/generator.hpp>
+
+ namespace boost { namespace spirit { namespace karma
+@@ -60,4 +61,17 @@ namespace boost { namespace spirit { nam
+ };
+ }}}
+
++
++namespace boost { namespace spirit { namespace traits
++{
++ ///////////////////////////////////////////////////////////////////////////
++ template <typename Subject, typename Params, typename Attribute
++ , typename Context, typename Iterator>
++ struct handles_container<karma::parameterized_nonterminal<Subject, Params>
++ , Attribute, Context, Iterator>
++ : handles_container<typename remove_const<Subject>::type
++ , Attribute, Context, Iterator>
++ {};
++}}}
++
+ #endif