dev-libs/boost: Sync with gentoo

It's from gentoo commit 80aab75a103a5976b57d67abbdb052fe4c8d4ef0.
This commit is contained in:
Krzesimir Nowak 2021-11-30 17:34:40 +01:00
parent 0eebccc2db
commit e9744e6291
9 changed files with 242 additions and 328 deletions

View File

@ -1,2 +1,3 @@
DIST boost_1_74_0.tar.bz2 109600630 BLAKE2B 2982f64fccf6fdb3b4b74452e603f459242d7abb42df4162278d9b558b637786a2eb97442126967b19088d591777c64ced8f60a23e71eaa0b7545e80f800de63 SHA512 4ec9c1164ec9b95ce46ba1c073e586c94b3882dce5b7347ea14bbef0c1da230e12aa5328a501ce38cae1b1d7623daa3246325625899179b4cc309242540982a4
DIST boost_1_75_0.tar.bz2 121849575 BLAKE2B ce7ecd8bcee518ce54f7e5302f202acbea60cedd6ae9248708c0bb5bbc2713607b2e1967a9e6f77cc20a4c008c1ee4db651def55937efc80407487a7a44fa8d6 SHA512 d86f060245e98dca5c7f3f831c98ea9ccbfa8310f20830dd913d9d4c939fbe7cb94accd35f1128e7c4faf6c27adb6f4bb54e5477a6bde983dfc7aa33c4eed03a
DIST boost-1.77.0-patches-1.tar.xz 9612 BLAKE2B b56e45cee94329c97e8ee4e6f040832829e63fb0ae47f02fb1aa54720311f56e68b4d4d53557952bb280d60316ecf64ffc1a1e9c9411b70a733690270b85c2d2 SHA512 1358fa6d3afa45fe414f0c11bb583cc8b95737405c6fc3831f7485e22edac990e98849c06c851a4d0fe26bbeec7b8b40103090dc80417ae717ba33caa2088d86
DIST boost_1_76_0.tar.bz2 110073117 BLAKE2B 45445e6a9725cb99131e0b831b2fac0840d083692c13887b41adeac5cb8b3732026db3641d6be20591a676b78a87fcf363eb9b1508f87ed26039bba6a1ced533 SHA512 5d68bed98c57e03b4cb2420d9b856e5f0669561a6142a4b0c9c8a58dc5b6b28e16ccbb16ac559c3a3198c45769a246bf996b96cb7b6a019dd15f05c2270e9429
DIST boost_1_77_0.tar.bz2 110361537 BLAKE2B 106aeb09ec7705b595f2ca966a76c53c649eac6fac50d88c156862e0991c33c89a2f3a09edcbcb453fa44bf71cdde030b35d0a0889ad97b65f3a868cb877a532 SHA512 39b45c9b60bc5a2a4c669a4463d1272c1e093376b2fb374d7f20a84ea10a3e23bb04b335a735a83a04575731f874d9bff77e89acd947524b3fbbae1b26ae1f2f

View File

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=(python3_6)
PYTHON_COMPAT=( python3_{8..10} )
inherit flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal
@ -12,16 +12,16 @@ MAJOR_V="$(ver_cut 1-2)"
DESCRIPTION="Boost Libraries for C++"
HOMEPAGE="https://www.boost.org/"
SRC_URI="https://dl.bintray.com/boostorg/release/${PV}/source/boost_${MY_PV}.tar.bz2"
SRC_URI="https://boostorg.jfrog.io/artifactory/main/release/${PV}/source/boost_${MY_PV}.tar.bz2"
S="${WORKDIR}/${PN}_${MY_PV}"
LICENSE="Boost-1.0"
SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
IUSE="bzip2 context debug doc icu lzma +nls mpi numpy python static-libs +threads tools zlib zstd"
REQUIRED_USE="
mpi? ( threads )
python? ( ${PYTHON_REQUIRED_USE} )"
# the tests will never fail because these are not intended as sanity
# tests at all. They are more a way for upstream to check their own code
# on new compilers. Since they would either be completely unreliable
@ -45,9 +45,7 @@ RDEPEND="
zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] )
zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
DEPEND="${RDEPEND}"
BDEPEND="=dev-util/boost-build-${MAJOR_V}*"
S="${WORKDIR}/${PN}_${MY_PV}"
BDEPEND=">=dev-util/boost-build-${MAJOR_V}-r2"
PATCHES=(
"${FILESDIR}"/${PN}-1.71.0-disable_icu_rpath.patch
@ -55,9 +53,9 @@ PATCHES=(
"${FILESDIR}"/${PN}-1.71.0-build-auto_index-tool.patch
# Boost.MPI's __init__.py doesn't work on Py3
"${FILESDIR}"/${PN}-1.73-boost-mpi-python-PEP-328.patch
# Remove annoying #pragma message
"${FILESDIR}"/${PN}-1.73-property-tree-include.patch
"${FILESDIR}"/${PN}-1.74-CVE-2012-2677.patch
"${FILESDIR}"/${PN}-1.76-boost-numpy.patch
"${FILESDIR}"/${PN}-1.76-sparc-define.patch
)
python_bindings_needed() {
@ -173,13 +171,8 @@ src_configure() {
$(usex context '' '--without-context --without-coroutine --without-fiber')
$(usex threads '' '--without-thread')
--without-stacktrace
--boost-build="${BROOT}"/usr/share/boost-build
--prefix="${ED}/usr"
--boost-build="${BROOT}"/usr/share/boost-build/src
--layout=system
# CMake has issues working with multiple python impls,
# disable cmake config generation for the time being
# https://github.com/boostorg/python/issues/262#issuecomment-483069294
--no-cmake-config
# building with threading=single is currently not possible
# https://svn.boost.org/trac/boost/ticket/7105
threading=multi
@ -203,17 +196,79 @@ src_configure() {
}
multilib_src_compile() {
ejam "${OPTIONS[@]}" || die
ejam \
--prefix="${EPREFIX}"/usr \
"${OPTIONS[@]}" || die
if tools_needed; then
pushd tools >/dev/null || die
ejam \
--prefix="${EPREFIX}"/usr \
"${OPTIONS[@]}" \
|| die "Building of Boost tools failed"
popd >/dev/null || die
fi
}
multilib_src_install() {
ejam \
--prefix="${ED}"/usr \
--includedir="${ED}"/usr/include \
--libdir="${ED}"/usr/$(get_libdir) \
"${OPTIONS[@]}" install || die "Installation of Boost libraries failed"
pushd "${ED}"/usr/$(get_libdir) >/dev/null || die
local ext=$(get_libname)
if use threads; then
local f
for f in *${ext}; do
dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
done
fi
popd >/dev/null || die
if tools_needed; then
dobin dist/bin/*
insinto /usr/share
doins -r dist/share/boostbook
fi
# boost's build system truely sucks for not having a destdir. Because for
# this reason we are forced to build with a prefix that includes the
# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
# DESTROOT instread of the actual EPREFIX. There is no way out of here
# but to do it the dirty way of manually setting the right install_names.
if [[ ${CHOST} == *-darwin* ]]; then
einfo "Working around completely broken build-system(tm)"
local d
for d in "${ED}"/usr/lib/*.dylib; do
if [[ -f ${d} ]]; then
# fix the "soname"
ebegin " correcting install_name of ${d#${ED}}"
install_name_tool -id "/${d#${D}}" "${d}"
eend $?
# fix references to other libs
refs=$(otool -XL "${d}" | \
sed -e '1d' -e 's/^\t//' | \
grep "^libboost_" | \
cut -f1 -d' ')
local r
for r in ${refs}; do
ebegin " correcting reference to ${r}"
install_name_tool -change \
"${r}" \
"${EPREFIX}/usr/lib/${r}" \
"${d}"
eend $?
done
fi
done
fi
}
multilib_src_install_all() {
if ! use numpy; then
rm -r "${ED}"/usr/include/boost/python/numpy* || die
@ -266,67 +321,8 @@ multilib_src_install_all() {
fi
}
multilib_src_install() {
ejam \
"${OPTIONS[@]}" \
--includedir="${ED}/usr/include" \
--libdir="${ED}/usr/$(get_libdir)" \
install || die "Installation of Boost libraries failed"
pushd "${ED}/usr/$(get_libdir)" >/dev/null || die
local ext=$(get_libname)
if use threads; then
local f
for f in *${ext}; do
dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
done
fi
popd >/dev/null || die
if tools_needed; then
dobin dist/bin/*
insinto /usr/share
doins -r dist/share/boostbook
fi
# boost's build system truely sucks for not having a destdir. Because for
# this reason we are forced to build with a prefix that includes the
# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
# DESTROOT instread of the actual EPREFIX. There is no way out of here
# but to do it the dirty way of manually setting the right install_names.
if [[ ${CHOST} == *-darwin* ]]; then
einfo "Working around completely broken build-system(tm)"
local d
for d in "${ED}"/usr/lib/*.dylib; do
if [[ -f ${d} ]]; then
# fix the "soname"
ebegin " correcting install_name of ${d#${ED}}"
install_name_tool -id "/${d#${D}}" "${d}"
eend $?
# fix references to other libs
refs=$(otool -XL "${d}" | \
sed -e '1d' -e 's/^\t//' | \
grep "^libboost_" | \
cut -f1 -d' ')
local r
for r in ${refs}; do
ebegin " correcting reference to ${r}"
install_name_tool -change \
"${r}" \
"${EPREFIX}/usr/lib/${r}" \
"${d}"
eend $?
done
fi
done
fi
}
pkg_preinst() {
# Yai for having symlinks that are nigh-impossible to remove without
# Yay for having symlinks that are nigh-impossible to remove without
# resorting to dirty hacks like these. Removes lingering symlinks
# from the slotted versions.
local symlink
@ -350,7 +346,7 @@ pkg_postinst() {
elog
elog "Then you need to recompile Boost and all its reverse dependencies"
elog "using the same toolchain. In general, *every* change of the C++ toolchain"
elog "requires a complete rebuild of the boost-dependent ecosystem."
elog "requires a complete rebuild of the Boost-dependent ecosystem."
elog
elog "See for instance https://bugs.gentoo.org/638138"
}

View File

@ -1,9 +1,9 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EAPI=8
PYTHON_COMPAT=(python3_6)
PYTHON_COMPAT=( python3_{8..10} )
inherit flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal
@ -12,16 +12,15 @@ MAJOR_V="$(ver_cut 1-2)"
DESCRIPTION="Boost Libraries for C++"
HOMEPAGE="https://www.boost.org/"
SRC_URI="https://dl.bintray.com/boostorg/release/${PV}/source/boost_${MY_PV}.tar.bz2"
SRC_URI="https://boostorg.jfrog.io/artifactory/main/release/${PV}/source/boost_${MY_PV}.tar.bz2"
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-patches-1.tar.xz"
S="${WORKDIR}/${PN}_${MY_PV}"
LICENSE="Boost-1.0"
SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt"
IUSE="bzip2 context debug doc icu lzma +nls mpi numpy python static-libs +threads tools zlib zstd"
REQUIRED_USE="
mpi? ( threads )
python? ( ${PYTHON_REQUIRED_USE} )"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
IUSE="bzip2 context debug doc icu lzma +nls mpi numpy python tools zlib zstd"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
# the tests will never fail because these are not intended as sanity
# tests at all. They are more a way for upstream to check their own code
# on new compilers. Since they would either be completely unreliable
@ -40,27 +39,24 @@ RDEPEND="
mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP},cxx,threads] )
python? (
${PYTHON_DEPS}
numpy? ( $(python_gen_cond_dep 'dev-python/numpy[${PYTHON_USEDEP}]' -3) )
numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
)
zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] )
zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
DEPEND="${RDEPEND}"
BDEPEND="=dev-util/boost-build-${MAJOR_V}*"
S="${WORKDIR}/${PN}_${MY_PV}"
BDEPEND=">=dev-util/boost-build-${MAJOR_V}-r2"
PATCHES=(
"${FILESDIR}"/${PN}-1.71.0-disable_icu_rpath.patch
"${FILESDIR}"/${PN}-1.71.0-context-x32.patch
"${FILESDIR}"/${PN}-1.71.0-build-auto_index-tool.patch
# upstream unresponsive to pull request
# https://github.com/boostorg/python/pull/286
"${FILESDIR}"/${PN}-1.73-boost-python-cleanup.patch
"${WORKDIR}"/${PN}-1.71.0-disable_icu_rpath.patch
"${WORKDIR}"/${PN}-1.71.0-context-x32.patch
"${WORKDIR}"/${PN}-1.71.0-build-auto_index-tool.patch
# Boost.MPI's __init__.py doesn't work on Py3
"${FILESDIR}"/${PN}-1.73-boost-mpi-python-PEP-328.patch
# Remove annoying #pragma message
"${FILESDIR}"/${PN}-1.73-property-tree-include.patch
"${FILESDIR}"/${PN}-1.74-CVE-2012-2677.patch
"${WORKDIR}"/${PN}-1.73-boost-mpi-python-PEP-328.patch
"${WORKDIR}"/${PN}-1.74-CVE-2012-2677.patch
"${WORKDIR}"/${PN}-1.76-sparc-define.patch
"${WORKDIR}"/${PN}-1.77-math-deprecated-include.patch
"${WORKDIR}"/${PN}-1.77-geometry.patch
"${FILESDIR}"/${P}-python-3.10.patch
)
python_bindings_needed() {
@ -171,22 +167,16 @@ src_configure() {
-d+2
pch=off
$(usex icu "-sICU_PATH=${ESYSROOT}/usr" '--disable-icu boost.locale.icu=off')
$(usex mpi '' '--without-mpi')
$(usex nls '' '--without-locale')
$(usex context '' '--without-context --without-coroutine --without-fiber')
$(usex threads '' '--without-thread')
$(usev !mpi --without-mpi)
$(usev !nls --without-locale)
$(usev !context '--without-context --without-coroutine --without-fiber')
--without-stacktrace
--boost-build="${BROOT}"/usr/share/boost-build
--prefix="${ED}/usr"
--boost-build="${BROOT}"/usr/share/boost-build/src
--layout=system
# CMake has issues working with multiple python impls,
# disable cmake config generation for the time being
# https://github.com/boostorg/python/issues/262#issuecomment-483069294
--no-cmake-config
# building with threading=single is currently not possible
# https://svn.boost.org/trac/boost/ticket/7105
threading=multi
link=$(usex static-libs shared,static shared)
link=shared
# this seems to be the only way to disable compression algorithms
# https://www.boost.org/doc/libs/1_70_0/libs/iostreams/doc/installation.html#boost-build
-sNO_BZIP2=$(usex bzip2 0 1)
@ -206,17 +196,67 @@ src_configure() {
}
multilib_src_compile() {
ejam "${OPTIONS[@]}" || die
ejam \
--prefix="${EPREFIX}"/usr \
"${OPTIONS[@]}" || die
if tools_needed; then
pushd tools >/dev/null || die
ejam \
--prefix="${EPREFIX}"/usr \
"${OPTIONS[@]}" \
|| die "Building of Boost tools failed"
popd >/dev/null || die
fi
}
multilib_src_install() {
ejam \
--prefix="${ED}"/usr \
--includedir="${ED}"/usr/include \
--libdir="${ED}"/usr/$(get_libdir) \
"${OPTIONS[@]}" install || die "Installation of Boost libraries failed"
if tools_needed; then
dobin dist/bin/*
insinto /usr/share
doins -r dist/share/boostbook
fi
# boost's build system truely sucks for not having a destdir. Because for
# this reason we are forced to build with a prefix that includes the
# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
# DESTROOT instread of the actual EPREFIX. There is no way out of here
# but to do it the dirty way of manually setting the right install_names.
if [[ ${CHOST} == *-darwin* ]]; then
einfo "Working around completely broken build-system(tm)"
local d
for d in "${ED}"/usr/lib/*.dylib; do
if [[ -f ${d} ]]; then
# fix the "soname"
ebegin " correcting install_name of ${d#${ED}}"
install_name_tool -id "/${d#${D}}" "${d}"
eend $?
# fix references to other libs
refs=$(otool -XL "${d}" | \
sed -e '1d' -e 's/^\t//' | \
grep "^libboost_" | \
cut -f1 -d' ')
local r
for r in ${refs}; do
ebegin " correcting reference to ${r}"
install_name_tool -change \
"${r}" \
"${EPREFIX}/usr/lib/${r}" \
"${d}"
eend $?
done
fi
done
fi
}
multilib_src_install_all() {
if ! use numpy; then
rm -r "${ED}"/usr/include/boost/python/numpy* || die
@ -269,67 +309,8 @@ multilib_src_install_all() {
fi
}
multilib_src_install() {
ejam \
"${OPTIONS[@]}" \
--includedir="${ED}/usr/include" \
--libdir="${ED}/usr/$(get_libdir)" \
install || die "Installation of Boost libraries failed"
pushd "${ED}/usr/$(get_libdir)" >/dev/null || die
local ext=$(get_libname)
if use threads; then
local f
for f in *${ext}; do
dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
done
fi
popd >/dev/null || die
if tools_needed; then
dobin dist/bin/*
insinto /usr/share
doins -r dist/share/boostbook
fi
# boost's build system truely sucks for not having a destdir. Because for
# this reason we are forced to build with a prefix that includes the
# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
# DESTROOT instread of the actual EPREFIX. There is no way out of here
# but to do it the dirty way of manually setting the right install_names.
if [[ ${CHOST} == *-darwin* ]]; then
einfo "Working around completely broken build-system(tm)"
local d
for d in "${ED}"/usr/lib/*.dylib; do
if [[ -f ${d} ]]; then
# fix the "soname"
ebegin " correcting install_name of ${d#${ED}}"
install_name_tool -id "/${d#${D}}" "${d}"
eend $?
# fix references to other libs
refs=$(otool -XL "${d}" | \
sed -e '1d' -e 's/^\t//' | \
grep "^libboost_" | \
cut -f1 -d' ')
local r
for r in ${refs}; do
ebegin " correcting reference to ${r}"
install_name_tool -change \
"${r}" \
"${EPREFIX}/usr/lib/${r}" \
"${d}"
eend $?
done
fi
done
fi
}
pkg_preinst() {
# Yai for having symlinks that are nigh-impossible to remove without
# Yay for having symlinks that are nigh-impossible to remove without
# resorting to dirty hacks like these. Removes lingering symlinks
# from the slotted versions.
local symlink
@ -353,7 +334,7 @@ pkg_postinst() {
elog
elog "Then you need to recompile Boost and all its reverse dependencies"
elog "using the same toolchain. In general, *every* change of the C++ toolchain"
elog "requires a complete rebuild of the boost-dependent ecosystem."
elog "requires a complete rebuild of the Boost-dependent ecosystem."
elog
elog "See for instance https://bugs.gentoo.org/638138"
}

View File

@ -1,107 +0,0 @@
From c1cae8e6b0480e046ea627679a3afe488ed02dc1 Mon Sep 17 00:00:00 2001
From: David Seifert <soap@gentoo.org>
Date: Wed, 25 Dec 2019 12:37:35 +0100
Subject: [PATCH] Remove Boost.Python-specific python-tag code
---
libs/python/Jamfile | 68 ---------------------------------------------------
libs/python/build/Jamfile | 4 +--
2 files changed, 2 insertions(+), 70 deletions(-)
delete mode 100644 Jamfile
diff --git a/libs/python/Jamfile b/libs/python/Jamfile
deleted file mode 100644
index 32e87d80f..000000000
--- a/libs/python/Jamfile
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright (c) 2018 Stefan Seefeld
-# All rights reserved.
-#
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-import option ;
-import regex ;
-import python ;
-
-#
-# The `version-suffix` rule really belongs into python.jam, and
-# should be moved there. `split-version` is only duplicated here
-# as a prerequisite. (See https://github.com/boostorg/build/pull/290)
-#
-
-
-# Validate the version string and extract the major/minor part we care about.
-#
-local rule split-version ( version )
-{
- local major-minor = [ MATCH "^([0-9]+)\.([0-9]+)(.*)$" : $(version) : 1 2 3 ] ;
- if ! $(major-minor[2]) || $(major-minor[3])
- {
- ECHO "Warning: \"using python\" expects a two part (major, minor) version number; got" $(version) instead ;
-
- # Add a zero to account for the missing digit if necessary.
- major-minor += 0 ;
- }
-
- return $(major-minor[1]) $(major-minor[2]) ;
-}
-
-# Define a version suffix for libraries depending on Python.
-# For example, Boost.Python built for Python 2.7 uses the suffix "27"
-rule version-suffix ( version )
-{
- local major-minor = [ split-version $(version) ] ;
- local suffix = $(major-minor:J="") ;
- return $(suffix) ;
-}
-
-
-# Python build id (for Python libraries only).
-python-id = [ option.get "python-buildid" ] ;
-if $(python-id)
-{
- PYTHON_ID = [ regex.replace $(python-id) "[*\\/:.\"\']" _ ] ;
-}
-
-rule python-tag ( name : type ? : property-set )
-{
- local result = $(name) ;
- if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB
- {
- local version = [ $(property-set).get <python> ] ;
- local lib-suffix = [ version-suffix $(version) ] ;
- result = $(result)$(lib-suffix) ;
- }
- if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB && $(PYTHON_ID)
- {
- result = $(result)-$(PYTHON_ID) ;
- }
-
- # forward to the boost tagging rule
- return [ tag $(result) : $(type) : $(property-set) ] ;
-}
diff --git a/libs/python/build/Jamfile b/libs/python/build/Jamfile
index d03d4dd08..dbc9fb203 100644
--- a/libs/python/build/Jamfile
+++ b/libs/python/build/Jamfile
@@ -95,7 +95,7 @@
<dependency>config-warning
<python-debugging>on:<define>BOOST_DEBUG_PYTHON
-<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
- <tag>@$(__name__).python-tag
+ <tag>@python-tag
<conditional>@python.require-py
: # default build
@@ -123,7 +123,7 @@
<library>boost_python
<python-debugging>on:<define>BOOST_DEBUG_PYTHON
-<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
- <tag>@$(__name__).python-tag
+ <tag>@python-tag
<conditional>@python.require-py
: # default build

View File

@ -1,45 +0,0 @@
From d1c8825a45a0717e1ad79583d3283b0e5e32831e Mon Sep 17 00:00:00 2001
From: Andrey Semashev <Lastique@users.noreply.github.com>
Date: Tue, 28 Apr 2020 22:03:04 +0300
Subject: [PATCH] Fix usage of deprecated Boost.Bind features
This fixes deprecation warnings generated by boost/bind.hpp.
Also, use a more actual include path for ref.hpp.
---
boost/property_tree/json_parser/detail/parser.hpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/boost/property_tree/json_parser/detail/parser.hpp b/boost/property_tree/json_parser/detail/parser.hpp
index 5554990fb..6cf636394 100644
--- a/boost/property_tree/json_parser/detail/parser.hpp
+++ b/boost/property_tree/json_parser/detail/parser.hpp
@@ -3,8 +3,8 @@
#include <boost/property_tree/json_parser/error.hpp>
-#include <boost/ref.hpp>
-#include <boost/bind.hpp>
+#include <boost/core/ref.hpp>
+#include <boost/bind/bind.hpp>
#include <boost/format.hpp>
#include <iterator>
@@ -214,7 +214,7 @@ namespace boost { namespace property_tree {
void process_codepoint(Sentinel end, EncodingErrorFn error_fn) {
encoding.transcode_codepoint(cur, end,
boost::bind(&Callbacks::on_code_unit,
- boost::ref(callbacks), _1),
+ boost::ref(callbacks), boost::placeholders::_1),
error_fn);
}
@@ -517,7 +517,7 @@ namespace boost { namespace property_tree {
void feed(unsigned codepoint) {
encoding.feed_codepoint(codepoint,
boost::bind(&Callbacks::on_code_unit,
- boost::ref(callbacks), _1));
+ boost::ref(callbacks), boost::placeholders::_1));
}
Callbacks& callbacks;

View File

@ -0,0 +1,23 @@
From 0796305c863804a2b31610507c531da5c0408422 Mon Sep 17 00:00:00 2001
From: Peter Dimov <pdimov@gmail.com>
Date: Mon, 24 May 2021 22:14:55 +0300
Subject: [PATCH] Use the /python//numpy target instead of [ numpy.include ]
(fixes #361)
---
libs/python/build/Jamfile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libs/python/build/Jamfile b/libs/python/build/Jamfile
index dbc9fb203..03b69a25d 100644
--- a/libs/python/build/Jamfile
+++ b/libs/python/build/Jamfile
@@ -117,7 +117,7 @@ lib boost_numpy
<define>BOOST_NUMPY_SOURCE
[ cond [ python.numpy ] : <library>/python//python_for_extensions ]
[ unless [ python.numpy ] : <build>no ]
- <include>$(numpy-include)
+ <library>/python//numpy
<library>boost_python
<python-debugging>on:<define>BOOST_DEBUG_PYTHON
-<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag

View File

@ -0,0 +1,21 @@
https://github.com/boostorg/predef/commit/1be0e4a2d8db15a405f64a6f65507b87c1be7e1a.patch
From 1be0e4a2d8db15a405f64a6f65507b87c1be7e1a Mon Sep 17 00:00:00 2001
From: tkoecker <tkoecker@gmx.net>
Date: Fri, 21 May 2021 16:31:11 +0200
Subject: [PATCH] added missing brackets (#118)
--- a/boost/predef/architecture/sparc.h
+++ b/boost/predef/architecture/sparc.h
@@ -34,10 +34,10 @@ Distributed under the Boost Software License, Version 1.0.
#if defined(__sparc__) || defined(__sparc)
# undef BOOST_ARCH_SPARC
-# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv9) || defined(__sparc_v9__)
+# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv9) || defined(__sparc_v9__))
# define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(9,0,0)
# endif
-# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv8) || defined(__sparc_v8__)
+# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv8) || defined(__sparc_v8__))
# define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(8,0,0)
# endif
# if !defined(BOOST_ARCH_SPARC)

View File

@ -0,0 +1,44 @@
https://github.com/boostorg/boost_install/commit/0605dadfacf51994dcd8c5c82fb733dc6fa24073
From: Martin Jansa <martin.jansa@lge.com>
Date: Tue, 19 Oct 2021 12:24:31 +0000
Subject: [PATCH] BoostConfig.cmake: allow searching for python310
* accept double digits in Python3_VERSION_MINOR
* if someone is using e.g.:
find_package(Python3 REQUIRED)
find_package(Boost REQUIRED python${Python3_VERSION_MAJOR}${Python3_VERSION_MINOR})
with python-3.10 then it currently fails with:
-- Found PythonLibs: /usr/lib/libpython3.10.so (found version "3.10.0")
-- Found Python3: -native/usr/bin/python3-native/python3 (found version "3.10.0") found components: Interpreter
CMake Error at /usr/lib/cmake/Boost-1.77.0/BoostConfig.cmake:141 (find_package):
Could not find a package configuration file provided by "boost_python310"
(requested version 1.77.0) with any of the following names:
boost_python310Config.cmake
boost_python310-config.cmake
Add the installation prefix of "boost_python310" to CMAKE_PREFIX_PATH or
set "boost_python310_DIR" to a directory containing one of the above files.
If "boost_python310" provides a separate development package or SDK, be
sure it has been installed.
Call Stack (most recent call first):
/usr/lib/cmake/Boost-1.77.0/BoostConfig.cmake:258 (boost_find_component)
/usr/share/cmake-3.21/Modules/FindBoost.cmake:594 (find_package)
CMakeLists.txt:18 (find_package)
Signed-off-by: Martin Jansa <martin.jansa@lge.com>
--- a/tools/boost_install/BoostConfig.cmake
+++ b/tools/boost_install/BoostConfig.cmake
@@ -113,7 +113,7 @@ macro(boost_find_component comp required quiet)
set(_BOOST_REQUIRED REQUIRED)
endif()
- if("${comp}" MATCHES "^(python|numpy|mpi_python)([1-9])([0-9])$")
+ if("${comp}" MATCHES "^(python|numpy|mpi_python)([1-9])([0-9][0-9]?)$")
# handle pythonXY and numpyXY versioned components for compatibility

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>soap@gentoo.org</email>