Date: Monday, March 25, 2013 @ 12:20:51 Author: stephane Revision: 180640
upgpkg: boost 1.53.0-1 version bump Added: boost/trunk/boost-1.53.0-python3.patch (from rev 180637, boost/trunk/boost-1.52.0-python3.patch) Modified: boost/trunk/PKGBUILD Deleted: boost/trunk/boost-1.52.0-python3.patch ----------------------------+ PKGBUILD | 14 +++--- boost-1.52.0-python3.patch | 96 ------------------------------------------- boost-1.53.0-python3.patch | 96 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 103 insertions(+), 103 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2013-03-25 10:55:42 UTC (rev 180639) +++ PKGBUILD 2013-03-25 11:20:51 UTC (rev 180640) @@ -8,28 +8,28 @@ pkgbase=boost pkgname=('boost-libs' 'boost') -pkgver=1.52.0 +pkgver=1.53.0 _boostver=${pkgver//./_} -pkgrel=2 +pkgrel=1 url="http://www.boost.org/" arch=('i686' 'x86_64') license=('custom') makedepends=('icu>=51.1' 'python' 'python2' 'bzip2' 'zlib' 'openmpi') source=(http://downloads.sourceforge.net/${pkgbase}/${pkgbase}_${_boostver}.tar.gz - boost-1.52.0-python3.patch) -sha1sums=('1120430030315b0a94b6d63fc04662960db2444c' + boost-1.53.0-python3.patch) +sha1sums=('0e4ef26cc7780c6bbc63987ef2f29be920e2395b' '34026072a7cb2534164f20e77bb71a5c75093307') _stagedir="${srcdir}/stagedir" build() { local JOBS="$(sed -e 's/.*\(-j *[0-9]\+\).*/\1/' <<< ${MAKEFLAGS})" - + cd "${srcdir}/${pkgbase}_${_boostver}" # Fix build errors with python 3 sed -i "/PYTHON_ROOT/s/print sys.prefix/print(sys.prefix)/g" bootstrap.sh - patch -Np1 -i ../boost-1.52.0-python3.patch + patch -Np1 -i ../boost-1.53.0-python3.patch # Shut up strict aliasing warnings echo "using gcc : : : <compileflags>-fno-strict-aliasing ;" >> ./tools/build/v2/user-config.jam @@ -53,7 +53,7 @@ "${_stagedir}"/bin/bjam --toolset=gcc cflags="-std=gnu++11" library_status popd cp -a dist/bin/* "${_stagedir}"/bin - + #boostbook is needed by quickbook install -d -m 755 "${_stagedir}"/share/boostbook cp -a tools/boostbook/{xsl,dtd} "${_stagedir}"/share/boostbook/ Deleted: boost-1.52.0-python3.patch =================================================================== --- boost-1.52.0-python3.patch 2013-03-25 10:55:42 UTC (rev 180639) +++ boost-1.52.0-python3.patch 2013-03-25 11:20:51 UTC (rev 180640) @@ -1,96 +0,0 @@ -diff -Naur boost_1_53_0.ori/libs/mpi/src/python/datatypes.cpp boost_1_53_0/libs/mpi/src/python/datatypes.cpp ---- boost_1_53_0.ori/libs/mpi/src/python/datatypes.cpp 2007-11-25 13:38:02.000000000 -0500 -+++ boost_1_53_0/libs/mpi/src/python/datatypes.cpp 2013-03-11 20:59:57.171732691 -0400 -@@ -13,6 +13,10 @@ - #include <boost/mpi/python/serialize.hpp> - #include <boost/mpi.hpp> - -+#if PY_MAJOR_VERSION >= 3 -+#define PyInt_Type PyLong_Type -+#endif -+ - namespace boost { namespace mpi { namespace python { - - void export_datatypes() -diff -Naur boost_1_53_0.ori/libs/mpi/src/python/py_environment.cpp boost_1_53_0/libs/mpi/src/python/py_environment.cpp ---- boost_1_53_0.ori/libs/mpi/src/python/py_environment.cpp 2007-11-25 13:38:02.000000000 -0500 -+++ boost_1_53_0/libs/mpi/src/python/py_environment.cpp 2013-03-11 21:02:12.961737401 -0400 -@@ -11,6 +11,9 @@ - * This file reflects the Boost.MPI "environment" class into Python - * methods at module level. - */ -+ -+#include <locale> -+#include <string> - #include <boost/python.hpp> - #include <boost/mpi.hpp> - -@@ -50,11 +53,65 @@ - - // If anything changed, convert C-style argc/argv into Python argv - if (mpi_argv != my_argv) -+ { -+#if PY_MAJOR_VERSION >= 3 -+ // Code stolen from py3k/Modules/python.c. -+ -+ wchar_t **argv_copy = (wchar_t **)PyMem_Malloc(sizeof(wchar_t*)*mpi_argc); -+ /* We need a second copies, as Python might modify the first one. */ -+ wchar_t **argv_copy2 = (wchar_t **)PyMem_Malloc(sizeof(wchar_t*)*mpi_argc); -+ -+ if (!argv_copy || !argv_copy2) { -+ fprintf(stderr, "out of memory\n"); -+ return false; -+ } -+ -+ std::locale mylocale; -+ mbstate_t mystate; -+ -+ const std::codecvt<char, wchar_t, mbstate_t>& myfacet = -+ std::use_facet<std::codecvt<char, wchar_t, mbstate_t> >(mylocale); -+ -+ for (int i = 0; i < mpi_argc; i++) -+ { -+ size_t length = strlen(mpi_argv[i]); -+ -+ wchar_t *dest = (wchar_t *) PyMem_Malloc(sizeof(wchar_t) * (length + 1)); -+ -+ const char *from_next; -+ wchar_t *to_next; -+ -+ std::codecvt<wchar_t,char,mbstate_t>::result myresult = -+ myfacet.out(mystate, -+ mpi_argv[i], mpi_argv[i] + length + 1, from_next, -+ dest, dest+length+1, to_next); -+ -+ if (myresult != std::codecvt<wchar_t,char,mbstate_t>::ok ) -+ { -+ fprintf(stderr, "failure translating argv\n"); -+ return 1; -+ } -+ -+ argv_copy2[i] = argv_copy[i] = dest; -+ if (!argv_copy[i]) -+ return false; -+ } -+ -+ PySys_SetArgv(mpi_argc, argv_copy); -+ -+ for (int i = 0; i < mpi_argc; i++) { -+ PyMem_Free(argv_copy2[i]); -+ } -+ PyMem_Free(argv_copy); -+ PyMem_Free(argv_copy2); -+#else - PySys_SetArgv(mpi_argc, mpi_argv); -+#endif -+ } - -- for (int arg = 0; arg < my_argc; ++arg) -- free(my_argv[arg]); -- delete [] my_argv; -+ for (int arg = 0; arg < mpi_argc; ++arg) -+ free(mpi_argv[arg]); -+ delete [] mpi_argv; - - return true; - } Copied: boost/trunk/boost-1.53.0-python3.patch (from rev 180637, boost/trunk/boost-1.52.0-python3.patch) =================================================================== --- boost-1.53.0-python3.patch (rev 0) +++ boost-1.53.0-python3.patch 2013-03-25 11:20:51 UTC (rev 180640) @@ -0,0 +1,96 @@ +diff -Naur boost_1_53_0.ori/libs/mpi/src/python/datatypes.cpp boost_1_53_0/libs/mpi/src/python/datatypes.cpp +--- boost_1_53_0.ori/libs/mpi/src/python/datatypes.cpp 2007-11-25 13:38:02.000000000 -0500 ++++ boost_1_53_0/libs/mpi/src/python/datatypes.cpp 2013-03-11 20:59:57.171732691 -0400 +@@ -13,6 +13,10 @@ + #include <boost/mpi/python/serialize.hpp> + #include <boost/mpi.hpp> + ++#if PY_MAJOR_VERSION >= 3 ++#define PyInt_Type PyLong_Type ++#endif ++ + namespace boost { namespace mpi { namespace python { + + void export_datatypes() +diff -Naur boost_1_53_0.ori/libs/mpi/src/python/py_environment.cpp boost_1_53_0/libs/mpi/src/python/py_environment.cpp +--- boost_1_53_0.ori/libs/mpi/src/python/py_environment.cpp 2007-11-25 13:38:02.000000000 -0500 ++++ boost_1_53_0/libs/mpi/src/python/py_environment.cpp 2013-03-11 21:02:12.961737401 -0400 +@@ -11,6 +11,9 @@ + * This file reflects the Boost.MPI "environment" class into Python + * methods at module level. + */ ++ ++#include <locale> ++#include <string> + #include <boost/python.hpp> + #include <boost/mpi.hpp> + +@@ -50,11 +53,65 @@ + + // If anything changed, convert C-style argc/argv into Python argv + if (mpi_argv != my_argv) ++ { ++#if PY_MAJOR_VERSION >= 3 ++ // Code stolen from py3k/Modules/python.c. ++ ++ wchar_t **argv_copy = (wchar_t **)PyMem_Malloc(sizeof(wchar_t*)*mpi_argc); ++ /* We need a second copies, as Python might modify the first one. */ ++ wchar_t **argv_copy2 = (wchar_t **)PyMem_Malloc(sizeof(wchar_t*)*mpi_argc); ++ ++ if (!argv_copy || !argv_copy2) { ++ fprintf(stderr, "out of memory\n"); ++ return false; ++ } ++ ++ std::locale mylocale; ++ mbstate_t mystate; ++ ++ const std::codecvt<char, wchar_t, mbstate_t>& myfacet = ++ std::use_facet<std::codecvt<char, wchar_t, mbstate_t> >(mylocale); ++ ++ for (int i = 0; i < mpi_argc; i++) ++ { ++ size_t length = strlen(mpi_argv[i]); ++ ++ wchar_t *dest = (wchar_t *) PyMem_Malloc(sizeof(wchar_t) * (length + 1)); ++ ++ const char *from_next; ++ wchar_t *to_next; ++ ++ std::codecvt<wchar_t,char,mbstate_t>::result myresult = ++ myfacet.out(mystate, ++ mpi_argv[i], mpi_argv[i] + length + 1, from_next, ++ dest, dest+length+1, to_next); ++ ++ if (myresult != std::codecvt<wchar_t,char,mbstate_t>::ok ) ++ { ++ fprintf(stderr, "failure translating argv\n"); ++ return 1; ++ } ++ ++ argv_copy2[i] = argv_copy[i] = dest; ++ if (!argv_copy[i]) ++ return false; ++ } ++ ++ PySys_SetArgv(mpi_argc, argv_copy); ++ ++ for (int i = 0; i < mpi_argc; i++) { ++ PyMem_Free(argv_copy2[i]); ++ } ++ PyMem_Free(argv_copy); ++ PyMem_Free(argv_copy2); ++#else + PySys_SetArgv(mpi_argc, mpi_argv); ++#endif ++ } + +- for (int arg = 0; arg < my_argc; ++arg) +- free(my_argv[arg]); +- delete [] my_argv; ++ for (int arg = 0; arg < mpi_argc; ++arg) ++ free(mpi_argv[arg]); ++ delete [] mpi_argv; + + return true; + }