Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 653878 - dev-libs/boost-1.70.0 version bump
Summary: dev-libs/boost-1.70.0 version bump
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 2 votes (vote)
Assignee: C++ Team [disbanded]
URL: https://www.boost.org/users/history/v...
Whiteboard:
Keywords: PullRequest
: 630754 672546 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-04-23 12:02 UTC by Alex Turbov
Modified: 2019-04-14 23:41 UTC (History)
12 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
boost-1.67.0-fix-python.patch (boost-1.67.0-fix-python.patch,7.33 KB, patch)
2018-05-29 07:33 UTC, Mark Wright
Details | Diff
boost-1.67.0.ebuild.patch (boost-1.67.0.ebuild.patch,872 bytes, patch)
2018-05-29 07:35 UTC, Mark Wright
Details | Diff
boost-1.67.0-fix-python.patch (boost-1.67.0-fix-python.patch,4.98 KB, patch)
2018-05-29 08:18 UTC, Perfect Gentleman
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Turbov 2018-04-23 12:02:47 UTC
The new upstream release available

Reproducible: Always
Comment 1 Mark Wright gentoo-dev 2018-05-29 07:33:40 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
}
Comment 2 Mark Wright gentoo-dev 2018-05-29 07:35:20 UTC
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.
Comment 3 Perfect Gentleman 2018-05-29 08:18:29 UTC
Created attachment 533928 [details, diff]
boost-1.67.0-fix-python.patch

this patch from OpenSUSE works better
Comment 4 Larry the Git Cow gentoo-dev 2018-07-31 22:27:25 UTC
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(+)
Comment 5 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2018-08-09 08:07:27 UTC
https://www.boost.org/users/history/version_1_68_0.html
Comment 6 Sergei Trofimovich (RETIRED) gentoo-dev 2018-12-05 07:19:01 UTC
*** Bug 672546 has been marked as a duplicate of this bug. ***
Comment 7 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2018-12-12 10:09:56 UTC
https://www.boost.org/users/history/version_1_69_0.html
Comment 8 Holger Hoffstätte 2019-03-12 16:33:36 UTC
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
Comment 9 David Seifert gentoo-dev 2019-04-12 15:10:40 UTC
*** Bug 630754 has been marked as a duplicate of this bug. ***
Comment 10 Larry the Git Cow gentoo-dev 2019-04-14 23:41:08 UTC
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(+)