diff options
Diffstat (limited to 'extra/boost')
-rw-r--r-- | extra/boost/4994-compile-fix-for-Python32-v2.patch | 16 | ||||
-rw-r--r-- | extra/boost/PKGBUILD | 112 | ||||
-rw-r--r-- | extra/boost/boost-1.46.0-spirit.patch | 59 |
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 |