From c20928a175bc477d37d7f0837f82bcb041ace1ab Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Thu, 12 Jul 2018 00:36:29 +0000 Subject: [PATCH] extra/boost to 1.67.0-5 --- extra/boost/PKGBUILD | 7 ++++- ...ing-return-statement-in-numpy-import.patch | 29 +++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 extra/boost/add-missing-return-statement-in-numpy-import.patch diff --git a/extra/boost/PKGBUILD b/extra/boost/PKGBUILD index fb0596c92..aaf1eb9f7 100644 --- a/extra/boost/PKGBUILD +++ b/extra/boost/PKGBUILD @@ -17,15 +17,17 @@ pkgbase=boost 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') @@ -33,6 +35,9 @@ prepare() { 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() { diff --git a/extra/boost/add-missing-return-statement-in-numpy-import.patch b/extra/boost/add-missing-return-statement-in-numpy-import.patch new file mode 100644 index 000000000..fd66f6938 --- /dev/null +++ b/extra/boost/add-missing-return-statement-in-numpy-import.patch @@ -0,0 +1,29 @@ +From ed4776b59caec6dfbea548a96701a810653e6f24 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Moritz=20Wanzenb=C3=B6ck?= +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 +