mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-16 09:26:58 +02:00
dev-libs/boost: Sync with gentoo
It's from gentoo commit 80aab75a103a5976b57d67abbdb052fe4c8d4ef0.
This commit is contained in:
parent
0eebccc2db
commit
e9744e6291
@ -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
|
||||
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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
|
@ -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;
|
23
sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.76-boost-numpy.patch
vendored
Normal file
23
sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.76-boost-numpy.patch
vendored
Normal 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
|
21
sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.76-sparc-define.patch
vendored
Normal file
21
sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.76-sparc-define.patch
vendored
Normal 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)
|
44
sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.77.0-python-3.10.patch
vendored
Normal file
44
sdk_container/src/third_party/portage-stable/dev-libs/boost/files/boost-1.77.0-python-3.10.patch
vendored
Normal 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
|
||||
|
@ -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>
|
||||
|
Loading…
Reference in New Issue
Block a user