[arch-commits] Commit in boost/trunk (3 files)

Stéphane Gaudreault stephane at nymeria.archlinux.org
Wed Mar 27 13:29:27 UTC 2013


    Date: Wednesday, March 27, 2013 @ 14:29:26
  Author: stephane
Revision: 180861

upgpkg: boost 1.52.0-3

Fix FS#34478 for 1.52.0

Added:
  boost/trunk/boost-1.52.0-python3.patch
    (from rev 180859, boost/trunk/boost-1.53.0-python3.patch)
Modified:
  boost/trunk/PKGBUILD
Deleted:
  boost/trunk/boost-1.53.0-python3.patch

----------------------------+
 PKGBUILD                   |   13 +++--
 boost-1.52.0-python3.patch |   96 +++++++++++++++++++++++++++++++++++++++++++
 boost-1.53.0-python3.patch |   96 -------------------------------------------
 3 files changed, 103 insertions(+), 102 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2013-03-27 12:36:17 UTC (rev 180860)
+++ PKGBUILD	2013-03-27 13:29:26 UTC (rev 180861)
@@ -8,16 +8,16 @@
 
 pkgbase=boost
 pkgname=('boost-libs' 'boost')
-pkgver=1.53.0
+pkgver=1.52.0
 _boostver=${pkgver//./_}
-pkgrel=1
+pkgrel=3
 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.53.0-python3.patch)
-sha1sums=('0e4ef26cc7780c6bbc63987ef2f29be920e2395b'
+        boost-1.52.0-python3.patch)
+sha1sums=('1120430030315b0a94b6d63fc04662960db2444c'
           '34026072a7cb2534164f20e77bb71a5c75093307')
 
 _stagedir="${srcdir}/stagedir"
@@ -29,7 +29,7 @@
 
    # 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.53.0-python3.patch
+   patch -Np1 -i ../boost-1.52.0-python3.patch
 
    # Shut up strict aliasing warnings
    echo "using gcc : : : <compileflags>-fno-strict-aliasing ;" >> ./tools/build/v2/user-config.jam
@@ -65,12 +65,13 @@
    # --layout=system no longer adds the -mt suffix for multi-threaded libs.
    # install to ${_stagedir} in preparation for split packaging
    "${_stagedir}"/bin/bjam \
-      release \
+      variant=release \
       debug-symbols=off \
       threading=multi \
       runtime-link=shared \
       link=shared \
       toolset=gcc \
+      python=2.7 \
       --layout=system \
       --prefix="${_stagedir}" \
       ${JOBS} \

Copied: boost/trunk/boost-1.52.0-python3.patch (from rev 180859, boost/trunk/boost-1.53.0-python3.patch)
===================================================================
--- boost-1.52.0-python3.patch	                        (rev 0)
+++ boost-1.52.0-python3.patch	2013-03-27 13:29:26 UTC (rev 180861)
@@ -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;
+ }

Deleted: boost-1.53.0-python3.patch
===================================================================
--- boost-1.53.0-python3.patch	2013-03-27 12:36:17 UTC (rev 180860)
+++ boost-1.53.0-python3.patch	2013-03-27 13:29:26 UTC (rev 180861)
@@ -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;
- }




More information about the arch-commits mailing list