[OE-core] [RFC/PATCH] boost: Fix issue with python-numpy
Moritz Fischer
moritz.fischer at ettus.com
Sat Mar 4 16:26:15 UTC 2017
Boost 1.63 merged Boost.Python numpy support, however there
are no configuration options to turn it off or on.
If PACKAGECONFIG[python] is enabled, now depend on python-numpy
and python3-numpy.
Signed-off-by: Moritz Fischer <moritz.fischer at ettus.com>
---
Hi all,
I'm not sure if this is the entirely correct fix.
I've seen other places like gentoo ([1]) simply patch out the
numpy support to get earlier behavior.
Maybe making it another PACKAGECONFIG[numpy] option
would be desirable?
Cheers,
Moritz
[1] http://bit.ly/2m7WBRW
---
meta/recipes-support/boost/boost.inc | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/meta/recipes-support/boost/boost.inc b/meta/recipes-support/boost/boost.inc
index 87b6b88..7b55132 100644
--- a/meta/recipes-support/boost/boost.inc
+++ b/meta/recipes-support/boost/boost.inc
@@ -42,13 +42,13 @@ PACKAGECONFIG ??= "locale"
PACKAGECONFIG[locale] = ",,icu"
PACKAGECONFIG[graph_parallel] = ",,,boost-mpi mpich"
PACKAGECONFIG[mpi] = ",,mpich"
-PACKAGECONFIG[python] = ",,python python3"
+PACKAGECONFIG[python] = ",,python python3 python-numpy python3-numpy"
BOOST_LIBS += "\
${@bb.utils.filter('PACKAGECONFIG', 'locale', d)} \
${@bb.utils.contains('PACKAGECONFIG', 'graph_parallel', 'graph_parallel mpi', \
bb.utils.filter('PACKAGECONFIG', 'mpi', d), d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python python3', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python python3 numpy numpy3', '', d)} \
"
inherit python-dir
@@ -61,7 +61,8 @@ python __anonymous () {
extras = []
for lib in d.getVar('BOOST_LIBS').split( ):
# BJAM does not know '--with-python3' (only --with-python)
- if lib != "python3":
+ # the same goes for numpy and numpy3
+ if (lib != "python3") and (lib != "numpy") and (lib != "numpy3"):
extras.append("--with-%s" % lib)
pkg = "boost-%s" % lib.replace("_", "-")
packages.append(pkg)
@@ -69,6 +70,9 @@ python __anonymous () {
# special: python*.so matches python3.so !!
if not d.getVar("FILES_%s" % pkg):
d.setVar("FILES_%s" % pkg, "${libdir}/libboost_%s.so.*" % lib)
+ elif(lib == "numpy"):
+ if not d.getVar("FILES_%s" % pkg):
+ d.setVar("FILES_%s" % pkg, "${libdir}/libboost_%s.so.*" % lib)
else:
if not d.getVar("FILES_%s" % pkg):
d.setVar("FILES_%s" % pkg, "${libdir}/libboost_%s*.so.*" % lib)
--
2.7.4
More information about the Openembedded-core
mailing list