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 +