summaryrefslogtreecommitdiff
path: root/dev-libs
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2015-11-10 18:38:43 +0100
committerMichał Górny <mgorny@gentoo.org>2015-11-11 11:22:13 +0100
commit04e5898847f506eef4e6d0c58ce21710e2671cee (patch)
tree59a2ed8f13ab71656639033c7f9ab148c933bccf /dev-libs
parentc7a174af449ecf4e84c51e8acfdc1811c4f1f69e (diff)
downloadgentoo-04e5898847f506eef4e6d0c58ce21710e2671cee.tar.gz
gentoo-04e5898847f506eef4e6d0c58ce21710e2671cee.tar.xz
dev-libs/boost: Work-around library rename due to ABIFLAGS
Create a compatibility symlink to work-around Boost linking failures when Python library name contains ABIFLAGS. A proper fix would be preferable but the build system is convoluted and buggy, so a work-around is put in place instead.
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/boost/boost-1.57.0.ebuild11
-rw-r--r--dev-libs/boost/boost-1.58.0-r1.ebuild11
2 files changed, 20 insertions, 2 deletions
diff --git a/dev-libs/boost/boost-1.57.0.ebuild b/dev-libs/boost/boost-1.57.0.ebuild
index caddfd55889..a1273eccd5e 100644
--- a/dev-libs/boost/boost-1.57.0.ebuild
+++ b/dev-libs/boost/boost-1.57.0.ebuild
@@ -75,10 +75,19 @@ create_user-config.jam() {
fi
if python_bindings_needed; then
+ # boost expects libpython$(pyver) and doesn't allow overrides
+ # and the build system is so creepy that it's easier just to
+ # provide a symlink (linker's going to use SONAME anyway)
+ # TODO: replace it with proper override one day
+ ln -f -s "$(python_get_library_path)" "${T}/lib${EPYTHON}$(get_libname)" || die
+
if tc-is-cross-compiler; then
python_configuration="using python : ${EPYTHON#python} : : ${SYSROOT:-${EROOT}}/usr/include/${EPYTHON} : ${SYSROOT:-${EROOT}}/usr/$(get_libdir) ;"
else
- python_configuration="using python : : ${PYTHON} ;"
+ # note: we need to provide version explicitly because of
+ # a bug in the build system:
+ # https://github.com/boostorg/build/pull/104
+ python_configuration="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) : ${T} ;"
fi
fi
diff --git a/dev-libs/boost/boost-1.58.0-r1.ebuild b/dev-libs/boost/boost-1.58.0-r1.ebuild
index 6389bc0577a..10cddb99443 100644
--- a/dev-libs/boost/boost-1.58.0-r1.ebuild
+++ b/dev-libs/boost/boost-1.58.0-r1.ebuild
@@ -74,10 +74,19 @@ create_user-config.jam() {
fi
if python_bindings_needed; then
+ # boost expects libpython$(pyver) and doesn't allow overrides
+ # and the build system is so creepy that it's easier just to
+ # provide a symlink (linker's going to use SONAME anyway)
+ # TODO: replace it with proper override one day
+ ln -f -s "$(python_get_library_path)" "${T}/lib${EPYTHON}$(get_libname)" || die
+
if tc-is-cross-compiler; then
python_configuration="using python : ${EPYTHON#python} : : ${SYSROOT:-${EROOT}}/usr/include/${EPYTHON} : ${SYSROOT:-${EROOT}}/usr/$(get_libdir) ;"
else
- python_configuration="using python : : ${PYTHON} ;"
+ # note: we need to provide version explicitly because of
+ # a bug in the build system:
+ # https://github.com/boostorg/build/pull/104
+ python_configuration="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) : ${T} ;"
fi
fi