Date: Thursday, July 12, 2018 @ 00:08:19
  Author: foutrelis
Revision: 328291

upgpkg: boost 1.67.0-5

Add upstream fix for libboost_numpy3 throwing
endianness errors on some machines (FS#58881).

Added:
  boost/trunk/add-missing-return-statement-in-numpy-import.patch
Modified:
  boost/trunk/PKGBUILD

----------------------------------------------------+
 PKGBUILD                                           |    7 +++-
 add-missing-return-statement-in-numpy-import.patch |   29 +++++++++++++++++++
 2 files changed, 35 insertions(+), 1 deletion(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2018-07-11 22:27:32 UTC (rev 328290)
+++ PKGBUILD    2018-07-12 00:08:19 UTC (rev 328291)
@@ -11,15 +11,17 @@
 pkgname=('boost-libs' 'boost')
 pkgver=1.67.0
 _boostver=${pkgver//./_}
-pkgrel=4
+pkgrel=5
 url='http://www.boost.org/'
 arch=('x86_64')
 license=('custom')
 makedepends=('icu' 'python' 'python2' 'python-numpy' 'python2-numpy' 'bzip2' 
'zlib' 'openmpi')
 
source=(https://downloads.sourceforge.net/project/${pkgbase}/${pkgbase}/${pkgver}/${pkgbase}_${_boostver}.tar.bz2
+        add-missing-return-statement-in-numpy-import.patch
         lockfree-add-include-boost-next_prior.patch
         fix-return-var-qualifier-in-svm_ptr-get_context.patch)
 sha256sums=('2684c972994ee57fc5632e03bf044746f6eb45d4920c343937a465fd67a5adba'
+            '04aa755427415c3e1e8080d2bc607c27856f806599c8d35737a3c263b419ed8d'
             '2639c43e33f9279ffbebf270be0e0951b9f0e7a8264f8c3bfebb5b9901da2db6'
             '43cdc2081f90d2acc7e4d9de6689bce07b2a1b4754e85dc7fa50872afa330ffa')
 
@@ -27,6 +29,9 @@
    cd ${pkgbase}_${_boostver}
    patch -Np2 -i ../lockfree-add-include-boost-next_prior.patch
    patch -Np2 -i ../fix-return-var-qualifier-in-svm_ptr-get_context.patch
+
+   # https://github.com/boostorg/python/issues/209
+   patch -d libs/python -Np1 < 
../add-missing-return-statement-in-numpy-import.patch
 }
 
 build() {

Added: add-missing-return-statement-in-numpy-import.patch
===================================================================
--- add-missing-return-statement-in-numpy-import.patch                          
(rev 0)
+++ add-missing-return-statement-in-numpy-import.patch  2018-07-12 00:08:19 UTC 
(rev 328291)
@@ -0,0 +1,29 @@
+From ed4776b59caec6dfbea548a96701a810653e6f24 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Moritz=20Wanzenb=C3=B6ck?= <moritz.wanzenbo...@catalysts.cc>
+Date: Wed, 11 Jul 2018 11:57:46 +0200
+Subject: [PATCH] Add missing return statement in numpy import
+
+This adds a missing return statement in the python3 specific
+import logic of boost.python.numpy.
+
+For python3 wrap_import_array() needs to return a pointer value.
+The import_array() macro only returns NULL in case of error. The
+missing return statement is UB, so the compiler can assume it does
+not happen. This means the compiler can assume the error branch
+is always taken, so import_array must always fail.
+---
+ src/numpy/numpy.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/numpy/numpy.cpp b/src/numpy/numpy.cpp
+index 8e259bc75..3ae2295e3 100644
+--- a/src/numpy/numpy.cpp
++++ b/src/numpy/numpy.cpp
+@@ -19,6 +19,7 @@ static void wrap_import_array()
+ static void * wrap_import_array()
+ {
+   import_array();
++  return NULL;
+ }
+ #endif
+ 

Reply via email to