Summary: | dev-libs/boost-1.70.0 version bump | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Alex Turbov <I.zaufi> |
Component: | Current packages | Assignee: | C++ Team [disbanded] <cpp+disabled> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | bugs.gentoo.org, carlphilippreh, eugene.shalygin, gentoo, holger, jstein, luzpaz, O01eg, perfect007gentleman, polynomial-c, qinq_net, viklevin2 |
Priority: | Normal | Keywords: | PullRequest |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | https://www.boost.org/users/history/version_1_67_0.html | ||
See Also: | https://github.com/gentoo/gentoo/pull/11659 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
boost-1.67.0-fix-python.patch
boost-1.67.0.ebuild.patch boost-1.67.0-fix-python.patch |
Description
Alex Turbov
2018-04-23 12:02:47 UTC
Created attachment 533924 [details, diff]
boost-1.67.0-fix-python.patch
Patch to build boost-1.67.0 USE=python with dev-python/numpy
The boost pythong libraries have different names:
# ls -al /usr/lib64/libboost_{python,numpy}*
lrwxrwxrwx. 1 root root 19 May 29 10:32 /usr/lib64/libboost_numpy27-mt.so -> libboost_numpy27.so
lrwxrwxrwx. 1 root root 26 May 29 10:32 /usr/lib64/libboost_numpy27.so -> libboost_numpy27.so.1.67.0
-rwxr-xr-x. 1 root root 46936 May 29 10:30 /usr/lib64/libboost_numpy27.so.1.67.0
lrwxrwxrwx. 1 root root 19 May 29 10:32 /usr/lib64/libboost_numpy34-mt.so -> libboost_numpy34.so
lrwxrwxrwx. 1 root root 26 May 29 10:32 /usr/lib64/libboost_numpy34.so -> libboost_numpy34.so.1.67.0
-rwxr-xr-x. 1 root root 46936 May 29 10:30 /usr/lib64/libboost_numpy34.so.1.67.0
lrwxrwxrwx. 1 root root 19 May 29 10:32 /usr/lib64/libboost_numpy35-mt.so -> libboost_numpy35.so
lrwxrwxrwx. 1 root root 26 May 29 10:32 /usr/lib64/libboost_numpy35.so -> libboost_numpy35.so.1.67.0
-rwxr-xr-x. 1 root root 46936 May 29 10:30 /usr/lib64/libboost_numpy35.so.1.67.0
lrwxrwxrwx. 1 root root 19 May 29 10:32 /usr/lib64/libboost_numpy36-mt.so -> libboost_numpy36.so
lrwxrwxrwx. 1 root root 26 May 29 10:32 /usr/lib64/libboost_numpy36.so -> libboost_numpy36.so.1.67.0
-rwxr-xr-x. 1 root root 46936 May 29 10:30 /usr/lib64/libboost_numpy36.so.1.67.0
lrwxrwxrwx. 1 root root 20 May 29 10:32 /usr/lib64/libboost_python27-mt.so -> libboost_python27.so
lrwxrwxrwx. 1 root root 27 May 29 10:32 /usr/lib64/libboost_python27.so -> libboost_python27.so.1.67.0
-rwxr-xr-x. 1 root root 300456 May 29 10:30 /usr/lib64/libboost_python27.so.1.67.0
lrwxrwxrwx. 1 root root 20 May 29 10:32 /usr/lib64/libboost_python34-mt.so -> libboost_python34.so
lrwxrwxrwx. 1 root root 27 May 29 10:32 /usr/lib64/libboost_python34.so -> libboost_python34.so.1.67.0
-rwxr-xr-x. 1 root root 288168 May 29 10:30 /usr/lib64/libboost_python34.so.1.67.0
lrwxrwxrwx. 1 root root 20 May 29 10:32 /usr/lib64/libboost_python35-mt.so -> libboost_python35.so
lrwxrwxrwx. 1 root root 27 May 29 10:32 /usr/lib64/libboost_python35.so -> libboost_python35.so.1.67.0
-rwxr-xr-x. 1 root root 288168 May 29 10:30 /usr/lib64/libboost_python35.so.1.67.0
lrwxrwxrwx. 1 root root 20 May 29 10:32 /usr/lib64/libboost_python36-mt.so -> libboost_python36.so
lrwxrwxrwx. 1 root root 27 May 29 10:32 /usr/lib64/libboost_python36.so -> libboost_python36.so.1.67.0
-rwxr-xr-x. 1 root root 288168 May 29 10:30 /usr/lib64/libboost_python36.so.1.67.0
#
Which is handled by /usr/share/cmake/Modules/FindBoost.cmake from =dev-util/cmake-3.11.2, however it usually requires changes in cmake build systems
for packages that depend on boost python, as they have have to specify the
python version when looking for the boost python package with something
like "python36". An example hack for media-gfx/openvdb-4.0.2.ebuild from
the blender overlay:
src_prepare() {
default
if use python && has_version ">=dev-util/cmake-3.11.2"; then
python_export EPYTHON
local py_dot_ver="${EPYTHON#python}"
local py_ver="${py_dot_ver#.}"
sed -i openvdb/python/CMakeLists.txt \
-e "s@\(REQUIRED COMPONENTS python\)@\1${py_ver}@" \
-e "s@\(Boost_PYTHON\)\(_LIBRARY\)@\1${py_ver}\2@" \
|| die
fi
}
Created attachment 533926 [details, diff]
boost-1.67.0.ebuild.patch
The changes from boost-1.66.0.ebuild to bump it to boost-1.67.0.ebuild and
adding support for numpy.
Created attachment 533928 [details, diff]
boost-1.67.0-fix-python.patch
this patch from OpenSUSE works better
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=224556f6e9363673a864d8fd7fe98d37beb8051e commit 224556f6e9363673a864d8fd7fe98d37beb8051e Author: Patrick McLean <chutzpah@gentoo.org> AuthorDate: 2018-07-31 22:27:11 +0000 Commit: Patrick McLean <chutzpah@gentoo.org> CommitDate: 2018-07-31 22:27:11 +0000 dev-libs/boost: Unkeyworded version bump to 1.67.0 (bug #653878) Bug: https://bugs.gentoo.org/653878 Package-Manager: Portage-2.3.44, Repoman-2.3.10 dev-libs/boost/Manifest | 1 + dev-libs/boost/boost-1.67.0.ebuild | 419 +++++++++++++++++++++ dev-libs/boost/files/boost-1.67.0-fix-python.patch | 153 ++++++++ 3 files changed, 573 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=df61da25757debcf3343391b127ee365503eab69 commit df61da25757debcf3343391b127ee365503eab69 Author: Patrick McLean <chutzpah@gentoo.org> AuthorDate: 2018-07-31 22:26:04 +0000 Commit: Patrick McLean <chutzpah@gentoo.org> CommitDate: 2018-07-31 22:26:04 +0000 dev-util/boost-build: Unkeyworded version bump to 1.67.0 (bug #653878) Bug: https://bugs.gentoo.org/653878 Package-Manager: Portage-2.3.44, Repoman-2.3.10 dev-util/boost-build/Manifest | 1 + dev-util/boost-build/boost-build-1.67.0.ebuild | 140 +++++++++++++++++++++++++ 2 files changed, 141 insertions(+) *** Bug 672546 has been marked as a duplicate of this bug. *** Moderately Good News everyone! I've played with 1.69 and it looks reasonable: - boost-build is a simple bump - boost requires a few fixes: - the atomics patch for https://bugs.gentoo.org/630754#c13 is upstream - the x32 ABI patch no longer applies at all - the python patch MAY need new fixing for USE=mpi; the mpi hunks no longer apply, but the others do and are in fact still required for correct boost-python .so names. I don't use mpi, don't speak jam (wtf) and couldn't really tell how to fix it, so I left it out for now. - Both LibreOffice 6.1.x and 6.2.x need a patch to fix building against 1.69, which I stole from LO master [1]. It's a now explicit type conversion that can probably be applied with older (less strict) boost versions too. And with that I have 1.69 working for: - LibreOffice & deps, both 6.1 and today's 6.2 - libtorrent-rasterbar - Deluge working fine - nghttp2 - thin-provisoning-tools Hope this helps someone. [1] https://github.com/hhoffstaette/portage-patches/blob/master/app-office/libreoffice/boost-1.69.0-compatibility.patch *** Bug 630754 has been marked as a duplicate of this bug. *** The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0c52eca5a522be8bf5c43d2f4da043553dbf36ce commit 0c52eca5a522be8bf5c43d2f4da043553dbf36ce Author: David Seifert <soap@gentoo.org> AuthorDate: 2019-04-14 23:40:42 +0000 Commit: David Seifert <soap@gentoo.org> CommitDate: 2019-04-14 23:40:42 +0000 dev-libs/boost: Version bump to 1.70.0 * bzip2/lzma/zlib/zstd support can now be disabled via USE flags explicitly. * Upstream has fixed Boost.Python to finally support building against multiple Python 3 implementations concurrently: https://github.com/boostorg/python/commit/d4d41d94aecc Going forward, Gentoo will stop modifying the upstream build system for its multiple implementations. This will lead to some short-term pain, as the library pattern changes from libboost_python-3.6.so to libboost_python36.so which is the canonical name used by upstream. Changing this name should be avoided, as the filename is also encoded as a macro in various boost headers. Bug: https://bugs.gentoo.org/631590 Closes: https://bugs.gentoo.org/653878 Closes: https://github.com/gentoo/gentoo/pull/11659 Package-Manager: Portage-2.3.62, Repoman-2.3.12 Signed-off-by: David Seifert <soap@gentoo.org> dev-libs/boost/Manifest | 1 + dev-libs/boost/boost-1.70.0.ebuild | 327 +++++++++++++++++++++ .../boost/files/boost-1.69.0-context-x32.patch | 38 +++ ...-1.70.0-fix-python-cmake-duplicate-target.patch | 33 +++ dev-libs/boost/metadata.xml | 2 + dev-util/boost-build/Manifest | 1 + dev-util/boost-build/boost-build-1.70.0.ebuild | 142 +++++++++ profiles/arch/amd64-fbsd/package.use.mask | 4 + profiles/package.mask | 5 + 9 files changed, 553 insertions(+) |