diff options
Diffstat (limited to 'dev-libs/boost')
-rw-r--r-- | dev-libs/boost/Manifest | 16 | ||||
-rw-r--r-- | dev-libs/boost/boost-1.65.0.ebuild | 439 | ||||
-rw-r--r-- | dev-libs/boost/boost-1.71.0.ebuild | 13 | ||||
-rw-r--r-- | dev-libs/boost/boost-1.72.0.ebuild (renamed from dev-libs/boost/boost-1.70.0.ebuild) | 47 | ||||
-rw-r--r-- | dev-libs/boost/files/boost-1.55.0-context-x32.patch | 42 | ||||
-rw-r--r-- | dev-libs/boost/files/boost-1.56.0-build-auto_index-tool.patch | 13 | ||||
-rw-r--r-- | dev-libs/boost/files/boost-1.65.0-fix-python.patch | 272 | ||||
-rw-r--r-- | dev-libs/boost/files/boost-1.71.0-build-auto_index-tool.patch | 13 | ||||
-rw-r--r-- | dev-libs/boost/files/boost-1.71.0-context-x32.patch (renamed from dev-libs/boost/files/boost-1.69.0-context-x32.patch) | 0 | ||||
-rw-r--r-- | dev-libs/boost/files/boost-1.71.0-disable_icu_rpath.patch (renamed from dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch) | 6 |
10 files changed, 52 insertions, 809 deletions
diff --git a/dev-libs/boost/Manifest b/dev-libs/boost/Manifest index 9872952a1f52..7bbc06012b94 100644 --- a/dev-libs/boost/Manifest +++ b/dev-libs/boost/Manifest @@ -1,12 +1,8 @@ -AUX boost-1.48.0-disable_icu_rpath.patch 1077 BLAKE2B 367246d711de06ef20a93a0e2a354fff4e8360ef79582a75d262b2e6dfcd76a5c2bb00e719a05ca79c7f5f0f3fefa975713251e65cb9f2c09e76cb6c3b16888b SHA512 013503fd16bcb609c624c9952a5448e612b81150db9ce60b5a51acbb57b62ce1cf0e7c5dd4a58c110ca7895c86effef24d8fe55ea3f316c9e47d5c549a33180c -AUX boost-1.55.0-context-x32.patch 1077 BLAKE2B 76ff0e52ca076ccddd58a469b4531f49782d6373bfa9d65ac63fe365fe90d25d10557fa041584f8d0bcf04438a90e78b69624006220f53983a456485b868cbc9 SHA512 0e2e45abe5833396508666355e26bafe114fa4ada628b24d8d9953268edddcb2f8e3dcfe8bc7f27d6c1794418990dc9ef914c936dfa64ed6e5e647a40e3f8a73 -AUX boost-1.56.0-build-auto_index-tool.patch 412 BLAKE2B 4449dbe600547f339eba9afc4d3da5310f08baa2dd1beb30f9c1b4076e95e867c8fa84fef8a84e2aa38bf35368173e52057e73499a66766cbb81e2d3312fa07b SHA512 9fe245adddf76375d0ee8066952c46d229c9e37fdce83ff608fcc1fb5942b1c226a0fba6e28f859bbcd58863dc49a356f32c7fcc3b90baca4069c6bdc9c0f203 -AUX boost-1.65.0-fix-python.patch 9210 BLAKE2B 31e32cfbc8fa0c4e8a5c142f56a4a7b1d06173b6a5b7b4bc1c2fcc64e645eac22e9e4f85c8b278a1fcefcb15e389a38d82ec90facdbb1e7812f9f4cc77d2fe93 SHA512 df2e8841b3415724b2920230da36e3e3aa610a5d7ee7dcada847cb4d6c921405ef4f0c034f96d1ac078d33bb3f32408b748cf7835f173b6e7692c76c6135e2f2 -AUX boost-1.69.0-context-x32.patch 1116 BLAKE2B 16b6ddbdc47d72d5afd39e61441f9f094dff8db46bd7fa4e04e5a8b132c8894c51db506d20356c352022f42d5b9a9923f23c5db2b0f9fa1c64ceeb4e50e16be1 SHA512 cf76691d4adbc4b43f468c587fea23c43e1b337ba7eebff2c856b0403bf32b78826f483faca25a4459c1d47eabbd5b67c65863a4d44407990178022433f718bf -DIST boost_1_65_0.tar.bz2 82597718 BLAKE2B 0080956d6ad2f14130ce4a4734b1bd1ce83d3651b226653689e02770baa83cf11811ef4e44948ff68a168d9ce5cbfaea4f758970df2b4e9faa2d410181885f5b SHA512 7142650fb8d61e3ef16ba066fc918e087f19e9bc2ad1d6a11fb10bf0d6b1b5ad05ab032f076a5233a1624b3669e952b2cc38b7dc074bbf53018e2970ee90fcdd -DIST boost_1_70_0.tar.bz2 97887058 BLAKE2B dc7a974c6dc2662b767dbd87cb832cd1749c24fb745779d1059b73f19f7e52b33b645adfe72b0296c5e098e5cdb3b9f5eddd382374f33fbcd2ad5739287b2206 SHA512 7f2ea9636baf0210e8ed1d21ee798efb6ce23c0710ff8228b285e2214f82193bcd2d912fd435929c554289a59101c7be2e27ce798f93833f307976f0dd070b49 +AUX boost-1.71.0-build-auto_index-tool.patch 265 BLAKE2B 05e52ca716522db7bb11b481576a08138be826f7383a689a6c0725d491a244dc8697fc39fac1a79e4639ba51b3a3eb7ee2f2e11a20883de0ecd3dd3c2fc2c9cd SHA512 28952e7cd791678be0963beb0a29e3e40b54a8c3618c66a8b8d21ab63c414771cfa1e9961f08c0b3818bd4c311c122e777109e15002a71230b0c3c9dbc4d6075 +AUX boost-1.71.0-context-x32.patch 1116 BLAKE2B 16b6ddbdc47d72d5afd39e61441f9f094dff8db46bd7fa4e04e5a8b132c8894c51db506d20356c352022f42d5b9a9923f23c5db2b0f9fa1c64ceeb4e50e16be1 SHA512 cf76691d4adbc4b43f468c587fea23c43e1b337ba7eebff2c856b0403bf32b78826f483faca25a4459c1d47eabbd5b67c65863a4d44407990178022433f718bf +AUX boost-1.71.0-disable_icu_rpath.patch 1077 BLAKE2B c4549b7a706cd934392bdafb44ee89987534d5cca48060b955a4b998f0ac6c8a96b5c0d6f5d46476a0225ba6e66fabc095ec12c0f0c43a60c7147ef922e8a2ae SHA512 7095d94def1ee04f009f0c2e84d0450705211793f6d18ac4a3e0fb673a36127282f31172a7f571ed89f4128b6ffbc38d850e6105a5ad5224d42749557db41ee0 DIST boost_1_71_0.tar.bz2 100124647 BLAKE2B edf5a03d5a5a63ef5826ef3c19a5ee862a43eb93e8e3d76f8a0d1f2c23122f5a0535e045058110574cd19092f3199c28ab9dae53f9db05ffe8c0b0b8cdbe27a9 SHA512 b7937d50c4512cf13cadd0ca829de36cf2cbc6fb788f45b1d4565ad0753e2b206c545125a5862016c2f16016f2e4a6b687928963b466fff17c3e0a4437142c20 -EBUILD boost-1.65.0.ebuild 12413 BLAKE2B 46cecac07c7772137d690212714fa54f29b1afd623ca17270565ac75960408e54185f1b8e70883397084e761cfbaeabf2b5d83879d2e5f81f5693101a911a896 SHA512 d1d91b697c7027587dd90f0ecdc07e0c5af1a3ab922fc33caa7a2850f597e4cf4c67603dd8ba651c0afc02ef09451ee2417c869c64ea16ccbced9151380acf19 -EBUILD boost-1.70.0.ebuild 10140 BLAKE2B 3248ad7f134f001c8a626d0062ce39c72ab00ea451d57c4d78c82f2994a490df20798ebedff5d8e072999abbf5ca7b93b8340f1be9ae411072434720440f7e33 SHA512 8934c3d1ec1f4e35d58779e440db7da9403fe57a49c2bbb3bb87b6bd0f5d2c5f08e3138e96c14dfa99b183f9e67c5e35b87db89b8879b3b243e5112172f4ff2a -EBUILD boost-1.71.0.ebuild 10627 BLAKE2B 20f1f871b900e36f86e66eb22f99de57b44d6fe8b87a06df4203353b68eb5ddd43d38a4db2734dbd3d01100e195c2e6679d559688ffddac1dd87a9c22fe65a50 SHA512 6b5407cb47c297cd75aa069b3c54d2d57de17a04b95537b65d8afe0f9581e7ff65907259797f2b5346b3d95ece976789b1c7eace7b7179b0399c932feeddf034 +DIST boost_1_72_0.tar.bz2 106907358 BLAKE2B ab270a0e3cb24da687d86785e2d2e6d7731b4dbc07bd839eadb642dfa5a428ad584acb1f3529661a8de9a986008ff3427491041059ea2b742348d02e00761cd8 SHA512 63bbd1743e7c904b2e69fdc2eafd1c2a8a30fd70d960dcd366059d0100f000cb605d56cbd9397bb18421631f1c9552a772c434d0f0caddbe56302273f51fd1f6 +EBUILD boost-1.71.0.ebuild 10437 BLAKE2B b0267ac55c5f80ff25aff70d0e789a76dd68489f0a7491b2b409127a2f5fa7ab3e0f2b59abeee63b7e585b9cd8703d264c149197f68d9d17fc7c38622cd26db4 SHA512 48b29502f7cf875cdccb7d1203a7ff51bac79225e99a88c5c21fa09f1b9b8c8411b5a70e4870e1e0499c84b812b25e451bec1908897328592ccfe801c3db5403 +EBUILD boost-1.72.0.ebuild 10479 BLAKE2B 04c1b99222969bdb527316b8c0056a3e84bd83cdecba78e71e95dd16969ecfce2e091a1cd1fded400c0d69172781713e1438b10249a65cb80491622dc15ac01e SHA512 ff57a99c717975379ae993d328939212374dc4855c40d8c3b76ef1ad93a41abcf5f4b231ebd9a9e44fe18fcb648cb034991f55ef17fd483df73f687154c9a4f8 MISC metadata.xml 1398 BLAKE2B ddaab460cad149df5f91c1a37eb7ffaa6a2b90e1062f268925fd3e0db1403d3447963c27fcd72847319e8510723a1a245be398d50a1e317662f59f593991ff0a SHA512 ed8530328af7bef694be2af7d3ba0c83198f769223b35ee5c1a2463cf50c97e964f7a4d8361f5091e9994fe0bff000534b6c5d5e5b517d38d101061026bd01bd diff --git a/dev-libs/boost/boost-1.65.0.ebuild b/dev-libs/boost/boost-1.65.0.ebuild deleted file mode 100644 index 7db346d24331..000000000000 --- a/dev-libs/boost/boost-1.65.0.ebuild +++ /dev/null @@ -1,439 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -PYTHON_COMPAT=( python{2_7,3_{5,6}} ) - -inherit eutils flag-o-matic multiprocessing python-r1 toolchain-funcs versionator multilib-minimal - -MY_P="${PN}_$(replace_all_version_separators _)" -MAJOR_V="$(get_version_component_range 1-2)" - -DESCRIPTION="Boost Libraries for C++" -HOMEPAGE="https://www.boost.org/" -SRC_URI="https://downloads.sourceforge.net/project/boost/${PN}/${PV}/${MY_P}.tar.bz2" - -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 s390 ~sh sparc x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt" - -IUSE="context debug doc icu +nls mpi python static-libs +threads tools" - -RDEPEND="icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] ) - !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] ) - mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP},cxx,threads] ) - python? ( ${PYTHON_DEPS} ) - app-arch/bzip2[${MULTILIB_USEDEP}] - sys-libs/zlib[${MULTILIB_USEDEP}] - !app-admin/eselect-boost" -DEPEND="${RDEPEND} - =dev-util/boost-build-${MAJOR_V}*" -REQUIRED_USE=" - mpi? ( threads ) - python? ( ${PYTHON_REQUIRED_USE} )" - -S="${WORKDIR}/${MY_P}" - -# 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 -# (failing for no good reason) or completely useless (never failing) -# there is no point in having them in the ebuild to begin with. -RESTRICT="test" - -PATCHES=( - "${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" - "${FILESDIR}/${PN}-1.55.0-context-x32.patch" - "${FILESDIR}/${PN}-1.56.0-build-auto_index-tool.patch" - "${FILESDIR}/${PN}-1.65.0-fix-python.patch" -) - -python_bindings_needed() { - multilib_is_native_abi && use python -} - -tools_needed() { - multilib_is_native_abi && use tools -} - -create_user-config.jam() { - local compiler compiler_version compiler_executable - - if [[ ${CHOST} == *-darwin* ]]; then - compiler="darwin" - compiler_version="$(gcc-fullversion)" - compiler_executable="$(tc-getCXX)" - else - compiler="gcc" - compiler_version="$(gcc-version)" - compiler_executable="$(tc-getCXX)" - fi - local mpi_configuration python_configuration - - if use mpi; then - mpi_configuration="using mpi ;" - 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 - # 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 - - cat > "${BOOST_ROOT}/user-config.jam" << __EOF__ || die -using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ; -${mpi_configuration} -${python_configuration} -__EOF__ -} - -pkg_setup() { - # Bail out on unsupported build configuration, bug #456792 - if [[ -f "${EROOT%/}/etc/site-config.jam" ]]; then - grep -q gentoorelease "${EROOT%/}/etc/site-config.jam" && grep -q gentoodebug "${EROOT%/}/etc/site-config.jam" || - ( - eerror "You are using custom ${EROOT%/}/etc/site-config.jam without defined gentoorelease/gentoodebug targets." - eerror "Boost can not be built in such configuration." - eerror "Please, either remove this file or add targets from ${EROOT%/}/usr/share/boost-build/site-config.jam to it." - die - ) - fi -} - -src_prepare() { - default - - # Do not try to build missing 'wave' tool, bug #522682 - # Upstream bugreport - https://svn.boost.org/trac/boost/ticket/10507 - sed -i -e 's:wave/build//wave::' tools/Jamfile.v2 || die - - multilib_copy_sources -} - -ejam() { - local b2_opts=( - "--user-config=${BOOST_ROOT}/user-config.jam" - "$@" - ) - echo b2 "${b2_opts[@]}" - b2 "${b2_opts[@]}" -} - -src_configure() { - # Workaround for too many parallel processes requested, bug #506064 - [[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64" - - OPTIONS=( - $(usex debug gentoodebug gentoorelease) - "-j$(makeopts_jobs)" - -q - -d+2 - ) - - if [[ ${CHOST} == *-darwin* ]]; then - # We need to add the prefix, and in two cases this exceeds, so prepare - # for the largest possible space allocation. - append-ldflags -Wl,-headerpad_max_install_names - elif [[ ${CHOST} == *-winnt* ]]; then - compiler=parity - if [[ $($(tc-getCXX) -v) == *trunk* ]]; then - compilerVersion=trunk - else - compilerVersion=$($(tc-getCXX) -v | sed '1q' \ - | sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,') - fi - compilerExecutable=$(tc-getCXX) - fi - - # bug 298489 - if use ppc || use ppc64; then - [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec - fi - - # Use C++14 globally as of 1.62 - append-cxxflags -std=c++14 - - use icu && OPTIONS+=( - "-sICU_PATH=${EPREFIX}/usr" - ) - use icu || OPTIONS+=( - --disable-icu - boost.locale.icu=off - ) - use mpi || OPTIONS+=( - --without-mpi - ) - use nls || OPTIONS+=( - --without-locale - ) - use context || OPTIONS+=( - --without-context - --without-coroutine - --without-fiber - ) - use threads || OPTIONS+=( - --without-thread - ) - - OPTIONS+=( - pch=off - --boost-build="${EPREFIX}"/usr/share/boost-build - --prefix="${ED%/}/usr" - --layout=system - # 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) - ) - - [[ ${CHOST} == *-winnt* ]] && OPTIONS+=( - -sNO_BZIP2=1 - ) -} - -multilib_src_compile() { - local -x BOOST_ROOT="${BUILD_DIR}" - PYTHON_DIRS="" - MPI_PYTHON_MODULE="" - - building() { - create_user-config.jam - - local PYTHON_OPTIONS - if python_bindings_needed; then - PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}" - else - PYTHON_OPTIONS=" --without-python" - fi - - ejam \ - "${OPTIONS[@]}" \ - ${PYTHON_OPTIONS} \ - || die "Building of Boost libraries failed" - - if python_bindings_needed; then - if [[ -z "${PYTHON_DIRS}" ]]; then - PYTHON_DIRS="$(find bin.v2/libs -name python | sort)" - else - if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then - die "Inconsistent structure of build directories" - fi - fi - - local dir - for dir in ${PYTHON_DIRS}; do - mv ${dir} ${dir}-${EPYTHON} \ - || die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed" - done - - if use mpi; then - if [[ -z "${MPI_PYTHON_MODULE}" ]]; then - MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" - if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then - die "Multiple mpi.so files found" - fi - else - if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then - die "Inconsistent structure of build directories" - fi - fi - - mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \ - || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed" - fi - fi - } - if python_bindings_needed; then - python_foreach_impl building - else - building - fi - - if tools_needed; then - pushd tools >/dev/null || die - - ejam \ - "${OPTIONS[@]}" \ - ${PYTHON_OPTIONS} \ - || die "Building of Boost tools failed" - popd >/dev/null || die - fi -} - -multilib_src_install_all() { - if ! use python; then - rm -r "${ED%/}"/usr/include/boost/python* || die - fi - - if ! use nls; then - rm -r "${ED%/}"/usr/include/boost/locale || die - fi - - if ! use context; then - rm -r "${ED%/}"/usr/include/boost/context || die - rm -r "${ED%/}"/usr/include/boost/coroutine{,2} || die - rm "${ED%/}"/usr/include/boost/asio/spawn.hpp || die - fi - - if use doc; then - # find extraneous files that shouldn't be installed - # as part of the documentation and remove them. - find libs/*/* \( -iname 'test' -o -iname 'src' \) -exec rm -rf '{}' + || die - find doc \( -name 'Jamfile.v2' -o -name 'build' -o -name '*.manifest' \) -exec rm -rf '{}' + || die - find tools \( -name 'Jamfile.v2' -o -name 'src' -o -name '*.cpp' -o -name '*.hpp' \) -exec rm -rf '{}' + || die - - docinto html - dodoc *.{htm,html,png,css} - dodoc -r doc libs more tools - - # To avoid broken links - dodoc LICENSE_1_0.txt - - dosym /usr/include/boost /usr/share/doc/${PF}/html/boost - fi -} - -multilib_src_install() { - local -x BOOST_ROOT="${BUILD_DIR}" - installation() { - create_user-config.jam - - local PYTHON_OPTIONS - if python_bindings_needed; then - local dir - for dir in ${PYTHON_DIRS}; do - cp -pr ${dir}-${EPYTHON} ${dir} \ - || die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed" - done - - if use mpi; then - cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" \ - || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to '${MPI_PYTHON_MODULE}' failed" - cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so \ - || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed" - fi - PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}" - else - PYTHON_OPTIONS=" --without-python" - fi - - ejam \ - "${OPTIONS[@]}" \ - ${PYTHON_OPTIONS} \ - --includedir="${ED%/}/usr/include" \ - --libdir="${ED%/}/usr/$(get_libdir)" \ - install || die "Installation of Boost libraries failed" - - if python_bindings_needed; then - rm -r ${PYTHON_DIRS} || die - - # Move mpi.so Python module to Python site-packages directory. - # https://svn.boost.org/trac/boost/ticket/2838 - if use mpi; then - local moddir=$(python_get_sitedir)/boost - # moddir already includes eprefix - mkdir -p "${D}${moddir}" || die - mv "${ED%/}/usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die - cat << EOF > "${D}${moddir}/__init__.py" || die -import sys -if sys.platform.startswith('linux'): - import DLFCN - flags = sys.getdlopenflags() - sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL) - from . import mpi - sys.setdlopenflags(flags) - del DLFCN, flags -else: - from . import mpi -del sys -EOF - fi - - python_optimize - fi - } - if python_bindings_needed; then - python_foreach_impl installation - else - installation - fi - - 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 - # resorting to dirty hacks like these. Removes lingering symlinks - # from the slotted versions. - local symlink - for symlink in "${EROOT%/}/usr/include/boost" "${EROOT%/}/usr/share/boostbook"; do - if [[ -L ${symlink} ]]; then - rm -f "${symlink}" || die - fi - done - - # some ancient installs still have boost cruft lying around - # for unknown reasons, causing havoc for reverse dependencies - # Bug: 607734 - rm -rf "${EROOT%/}"/usr/include/boost-1_[3-5]? || die -} diff --git a/dev-libs/boost/boost-1.71.0.ebuild b/dev-libs/boost/boost-1.71.0.ebuild index af9362277197..faa5a9609109 100644 --- a/dev-libs/boost/boost-1.71.0.ebuild +++ b/dev-libs/boost/boost-1.71.0.ebuild @@ -16,7 +16,7 @@ SRC_URI="https://dl.bintray.com/boostorg/release/${PV}/source/boost_${MY_PV}.tar 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 s390 ~sh sparc x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-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 ) @@ -49,9 +49,9 @@ BDEPEND="=dev-util/boost-build-${MAJOR_V}*" S="${WORKDIR}/${PN}_${MY_PV}" PATCHES=( - "${FILESDIR}"/${PN}-1.48.0-disable_icu_rpath.patch - "${FILESDIR}"/${PN}-1.69.0-context-x32.patch - "${FILESDIR}"/${PN}-1.56.0-build-auto_index-tool.patch + "${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 ) python_bindings_needed() { @@ -130,11 +130,6 @@ pkg_setup() { src_prepare() { default - - # Do not try to build missing 'wave' tool, bug #522682 - # Upstream bugreport - https://svn.boost.org/trac/boost/ticket/10507 - sed -i -e 's:wave/build//wave::' tools/Jamfile.v2 || die - multilib_copy_sources } diff --git a/dev-libs/boost/boost-1.70.0.ebuild b/dev-libs/boost/boost-1.72.0.ebuild index 4f826fa75b46..7434b5bd5d16 100644 --- a/dev-libs/boost/boost-1.70.0.ebuild +++ b/dev-libs/boost/boost-1.72.0.ebuild @@ -3,16 +3,16 @@ EAPI=7 -PYTHON_COMPAT=( python{2_7,3_{5,6,7}} ) +PYTHON_COMPAT=( python{2_7,3_{6,7,8}} ) inherit flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal -MY_P="${PN}_$(ver_rs 1- _)" +MY_PV="$(ver_rs 1- _)" MAJOR_V="$(ver_cut 1-2)" DESCRIPTION="Boost Libraries for C++" HOMEPAGE="https://www.boost.org/" -SRC_URI="https://downloads.sourceforge.net/project/boost/${PN}/${PV}/${MY_P}.tar.bz2" +SRC_URI="https://dl.bintray.com/boostorg/release/${PV}/source/boost_${MY_PV}.tar.bz2" LICENSE="Boost-1.0" SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122 @@ -39,19 +39,21 @@ RDEPEND=" mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP},cxx,threads] ) python? ( ${PYTHON_DEPS} - numpy? ( >=dev-python/numpy-1.14.5[${PYTHON_USEDEP}] ) + numpy? ( + $(python_gen_cond_dep '>=dev-python/numpy-1.17[${PYTHON_USEDEP}]' -3) + ) ) zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] ) zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )" DEPEND="${RDEPEND}" BDEPEND="=dev-util/boost-build-${MAJOR_V}*" -S="${WORKDIR}/${MY_P}" +S="${WORKDIR}/${PN}_${MY_PV}" PATCHES=( - "${FILESDIR}"/${PN}-1.48.0-disable_icu_rpath.patch - "${FILESDIR}"/${PN}-1.69.0-context-x32.patch - "${FILESDIR}"/${PN}-1.56.0-build-auto_index-tool.patch + "${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 ) python_bindings_needed() { @@ -118,8 +120,8 @@ create_user-config.jam() { pkg_setup() { # Bail out on unsupported build configuration, bug #456792 - if [[ -f "${EROOT}/etc/site-config.jam" ]]; then - if ! grep -q 'gentoo\(debug\|release\)' "${EROOT}/etc/site-config.jam"; then + if [[ -f "${EROOT}"/etc/site-config.jam ]]; then + if ! grep -q 'gentoo\(debug\|release\)' "${EROOT}"/etc/site-config.jam; then eerror "You are using custom ${EROOT}/etc/site-config.jam without defined gentoorelease/gentoodebug targets." eerror "Boost can not be built in such configuration." eerror "Please, either remove this file or add targets from ${EROOT}/usr/share/boost-build/site-config.jam to it." @@ -130,11 +132,6 @@ pkg_setup() { src_prepare() { default - - # Do not try to build missing 'wave' tool, bug #522682 - # Upstream bugreport - https://svn.boost.org/trac/boost/ticket/10507 - sed -i -e 's:wave/build//wave::' tools/Jamfile.v2 || die - multilib_copy_sources } @@ -197,11 +194,6 @@ src_configure() { append-ldflags -Wl,-headerpad_max_install_names fi - # bug 298489 - if use ppc || use ppc64; then - [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec - fi - # Use C++14 globally as of 1.62 append-cxxflags -std=c++14 } @@ -319,7 +311,7 @@ pkg_preinst() { # resorting to dirty hacks like these. Removes lingering symlinks # from the slotted versions. local symlink - for symlink in "${EROOT}/usr/include/boost" "${EROOT}/usr/share/boostbook"; do + for symlink in "${EROOT}"/usr/include/boost "${EROOT}"/usr/share/boostbook; do if [[ -L ${symlink} ]]; then rm -f "${symlink}" || die fi @@ -330,3 +322,16 @@ pkg_preinst() { # Bug: 607734 rm -rf "${EROOT}"/usr/include/boost-1_[3-5]? || die } + +pkg_postinst() { + elog "Boost.Regex is *extremely* ABI sensitive. If you get errors such as" + elog + elog " undefined reference to \`boost::re_detail_$(ver_cut 1)0$(ver_cut 2)00::cpp_regex_traits_implementation" + elog " <char>::transform_primary[abi:cxx11](char const*, char const*) const'" + elog + elog "Then you need 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 + elog "See for instance https://bugs.gentoo.org/638138" +} diff --git a/dev-libs/boost/files/boost-1.55.0-context-x32.patch b/dev-libs/boost/files/boost-1.55.0-context-x32.patch deleted file mode 100644 index 5bf740625381..000000000000 --- a/dev-libs/boost/files/boost-1.55.0-context-x32.patch +++ /dev/null @@ -1,42 +0,0 @@ -https://svn.boost.org/trac/boost/ticket/9445 - -hack to fix x32 builds - ---- a/libs/context/src/asm/jump_i386_sysv_elf_gas.S -+++ b/libs/context/src/asm/jump_i386_sysv_elf_gas.S -@@ -31,6 +31,10 @@ - * * - * *****************************************************************/ - -+#ifdef __x86_64__ -+#include "jump_x86_64_sysv_elf_gas.S" -+#else -+ - .text - .globl jump_fcontext - .align 2 -@@ -73,3 +77,5 @@ jump_fcontext: - - /* Mark that we don't need executable stack. */ - .section .note.GNU-stack,"",%progbits -+ -+#endif ---- a/libs/context/src/asm/make_i386_sysv_elf_gas.S -+++ b/libs/context/src/asm/make_i386_sysv_elf_gas.S -@@ -31,6 +31,10 @@ - * * - * *****************************************************************/ - -+#ifdef __x86_64__ -+#include "make_x86_64_sysv_elf_gas.S" -+#else -+ - .text - .globl make_fcontext - .align 2 -@@ -78,3 +82,5 @@ finish: - - /* Mark that we don't need executable stack. */ - .section .note.GNU-stack,"",%progbits -+ -+#endif diff --git a/dev-libs/boost/files/boost-1.56.0-build-auto_index-tool.patch b/dev-libs/boost/files/boost-1.56.0-build-auto_index-tool.patch deleted file mode 100644 index 48ca51388713..000000000000 --- a/dev-libs/boost/files/boost-1.56.0-build-auto_index-tool.patch +++ /dev/null @@ -1,13 +0,0 @@ -Build auto_index tool with USE="tools" -Gentoo bug report: https://bugs.gentoo.org/show_bug.cgi?id=529066 - ---- a/tools/Jamfile.v2.orig 2014-12-24 12:57:32.290880067 +0300 -+++ b/tools/Jamfile.v2 2014-12-24 12:58:38.403883250 +0300 -@@ -20,6 +20,7 @@ - use-project /boost/regression : regression/build ; - - TOOLS = -+ auto_index/build//auto_index - bcp//bcp - inspect/build//inspect - quickbook//quickbook diff --git a/dev-libs/boost/files/boost-1.65.0-fix-python.patch b/dev-libs/boost/files/boost-1.65.0-fix-python.patch deleted file mode 100644 index 079160218ea2..000000000000 --- a/dev-libs/boost/files/boost-1.65.0-fix-python.patch +++ /dev/null @@ -1,272 +0,0 @@ ---- a/boostcpp.jam -+++ b/boostcpp.jam -@@ -104,7 +104,7 @@ - python-id = [ option.get "python-buildid" ] ; - if $(python-id) - { -- PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ; -+ PYTHON_ID = [ regex.replace $(python-id) [*\\/:\"\'] _ ] ; - } - - ---- a/libs/mpi/build/Jamfile.v2 -+++ b/libs/mpi/build/Jamfile.v2 -@@ -58,81 +58,50 @@ - - if [ python.configured ] - { -- py2-version = [ py-version 2 ] ; -- py3-version = [ py-version 3 ] ; -- -- # These library names are synchronized with those defined by Boost.Python, see libs/python/build/Jamfile. -- lib_boost_python(2) = boost_python ; -- lib_boost_python(3) = boost_python3 ; -- -- lib_boost_python($(py2-version)) = $(lib_boost_python(2)) ; -- lib_boost_python($(py3-version)) = $(lib_boost_python(3)) ; -- -- lib_boost_mpi_python(2) = boost_mpi_python ; -- lib_boost_mpi_python(3) = boost_mpi_python3 ; -- -- lib_boost_mpi_python($(py2-version)) = $(lib_boost_mpi_python(2)) ; -- lib_boost_mpi_python($(py3-version)) = $(lib_boost_mpi_python(3)) ; -- -- for local N in 2 3 -- { -- if $(py$(N)-version) -- { -- lib $(lib_boost_mpi_python($(py$(N)-version))) -- : # Sources -- python/serialize.cpp -- : # Requirements -- <library>boost_mpi -- <library>/mpi//mpi [ mpi.extra-requirements ] -- <library>/boost/python//$(lib_boost_python($(py$(N)-version))) -- <link>shared:<define>BOOST_MPI_DYN_LINK=1 -- <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1 -- <link>shared:<define>BOOST_PYTHON_DYN_LINK=1 -- <define>BOOST_MPI_PYTHON_SOURCE=1 -- -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag -- <tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag -- <python-debugging>on:<define>BOOST_DEBUG_PYTHON -- <python>$(py$(N)-version) -- : # Default build -- <link>shared -- : # Usage requirements -- <library>/mpi//mpi [ mpi.extra-requirements ] -- ; -- -- python-extension mpi -- : # Sources -- python/collectives.cpp -- python/py_communicator.cpp -- python/datatypes.cpp -- python/documentation.cpp -- python/py_environment.cpp -- python/py_nonblocking.cpp -- python/py_exception.cpp -- python/module.cpp -- python/py_request.cpp -- python/skeleton_and_content.cpp -- python/status.cpp -- python/py_timer.cpp -- : # Requirements -- <library>/boost/python//$(lib_boost_python($(py$(N)-version))) -- <library>$(lib_boost_mpi_python($(py$(N)-version))) -- <library>boost_mpi -- <library>/mpi//mpi [ mpi.extra-requirements ] -- <link>shared:<define>BOOST_MPI_DYN_LINK=1 -- <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1 -- <link>shared:<define>BOOST_PYTHON_DYN_LINK=1 -- <link>shared <runtime-link>shared -- <python-debugging>on:<define>BOOST_DEBUG_PYTHON -- <python>$(py$(N)-version) -- ; -- -- libraries += $(lib_boost_mpi_python($(py$(N)-version))) ; -- } -- else -- { -- alias $(lib_boost_mpi_python($(N))) ; -- } -- } -+ lib boost_mpi_python -+ : # Sources -+ python/serialize.cpp -+ : # Requirements -+ <library>boost_mpi -+ <library>/mpi//mpi [ mpi.extra-requirements ] -+ <library>/boost/python//boost_python -+ <link>shared:<define>BOOST_MPI_DYN_LINK=1 -+ <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1 -+ <link>shared:<define>BOOST_PYTHON_DYN_LINK=1 -+ <define>BOOST_MPI_PYTHON_SOURCE=1 -+ -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag -+ <tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag -+ : # Default build -+ <link>shared -+ : # Usage requirements -+ <library>/mpi//mpi [ mpi.extra-requirements ] -+ ; -+ libraries += boost_mpi_python ; -+ -+ python-extension mpi -+ : # Sources -+ python/collectives.cpp -+ python/py_communicator.cpp -+ python/datatypes.cpp -+ python/documentation.cpp -+ python/py_environment.cpp -+ python/py_nonblocking.cpp -+ python/py_exception.cpp -+ python/module.cpp -+ python/py_request.cpp -+ python/skeleton_and_content.cpp -+ python/status.cpp -+ python/py_timer.cpp -+ : # Requirements -+ <library>/boost/python//boost_python -+ <library>boost_mpi_python -+ <library>boost_mpi -+ <library>/mpi//mpi [ mpi.extra-requirements ] -+ <link>shared:<define>BOOST_MPI_DYN_LINK=1 -+ <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1 -+ <link>shared:<define>BOOST_PYTHON_DYN_LINK=1 -+ <link>shared <runtime-link>shared -+ ; - } - } - else if ! ( --without-mpi in [ modules.peek : ARGV ] ) ---- a/libs/python/build/Jamfile -+++ b/libs/python/build/Jamfile -@@ -31,26 +31,23 @@ - ; - } - --py2-version = [ py-version 2 ] ; --py3-version = [ py-version 3 ] ; -- - project boost/python - : source-location ../src - ; - - rule cond ( test ? : yes * : no * ) { if $(test) { return $(yes) ; } else { return $(no) ; } } - rule unless ( test ? : yes * : no * ) { if ! $(test) { return $(yes) ; } else { return $(no) ; } } --local rule eq ( a : b ) { if $(a) = $(b) { return 1 ; } } -- --lib_boost_python(2) = boost_python ; --lib_boost_python(3) = boost_python3 ; -- --lib_boost_python($(py2-version)) = $(lib_boost_python(2)) ; --lib_boost_python($(py3-version)) = $(lib_boost_python(3)) ; - --rule lib_boost_python ( version ) -+rule lib_boost_python - { -- lib $(lib_boost_python($(version))) -+ local python_major_version = [ MATCH "^([^.]+)" : [ feature.values python ] ] ; -+ local python2 ; -+ if $(python_major_version) = 2 -+ { -+ python2 = true ; -+ } -+ -+ lib boost_python - : # sources - list.cpp - long.cpp -@@ -96,7 +93,8 @@ - # python_for_extensions is a target defined by Boost.Build to - # provide the Python include paths, and on Windows, the Python - # import library, as usage requirements. -- [ cond [ python.configured ] : <library>/python//python_for_extensions ] -+ [ cond $(python2) : <cxxflags>-fno-strict-aliasing ] -+ [ cond [ python.configured ] : <library>/python//python ] - - # we prevent building when there is no python available - # as it's not possible anyway, and to cause dependents to -@@ -105,13 +103,10 @@ - <dependency>config-warning - - <python-debugging>on:<define>BOOST_DEBUG_PYTHON -- <python>$(version) - - -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag - <tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag - -- <conditional>@python.require-py -- - : # default build - <link>shared - : # usage requirements -@@ -120,68 +115,8 @@ - ; - } - --lib_boost_numpy(2) = boost_numpy ; --lib_boost_numpy(3) = boost_numpy3 ; -- --lib_boost_numpy($(py2-version)) = $(lib_boost_numpy(2)) ; --lib_boost_numpy($(py3-version)) = $(lib_boost_numpy(3)) ; -- --rule lib_boost_numpy ( version ) --{ -- numpy-include = [ python.numpy-include ] ; -- lib $(lib_boost_numpy($(version))) -- : # sources -- numpy/dtype.cpp -- numpy/matrix.cpp -- numpy/ndarray.cpp -- numpy/numpy.cpp -- numpy/scalars.cpp -- numpy/ufunc.cpp -- : # requirements -- <link>static:<define>BOOST_NUMPY_STATIC_LIB -- <define>BOOST_NUMPY_SOURCE -- [ cond [ python.numpy ] : <library>/python//python_for_extensions ] -- [ unless [ python.numpy ] : <build>no ] -- <include>$(numpy-include) -- <library>$(lib_boost_python($(version))) -- <python-debugging>on:<define>BOOST_DEBUG_PYTHON -- <python>$(version) -+libraries = boost_python ; - -- -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag -- <tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag -- -- <conditional>@python.require-py -- -- : # default build -- <link>shared -- : # usage requirements -- <link>static:<define>BOOST_NUMPY_STATIC_LIB -- <python-debugging>on:<define>BOOST_DEBUG_PYTHON -- ; --} -- --libraries = ; -- --for local N in 2 3 --{ -- if $(py$(N)-version) -- { -- lib_boost_python $(py$(N)-version) ; -- libraries += $(lib_boost_python($(py$(N)-version))) ; -- } -- else -- { -- alias $(lib_boost_python($(N))) ; -- } -- if $(py$(N)-version) && [ python.numpy ] -- { -- lib_boost_numpy $(py$(N)-version) ; -- libraries += $(lib_boost_numpy($(py$(N)-version))) ; -- } -- else -- { -- alias $(lib_boost_numpy($(N))) ; -- } --} -+lib_boost_python ; - - boost-install $(libraries) ; diff --git a/dev-libs/boost/files/boost-1.71.0-build-auto_index-tool.patch b/dev-libs/boost/files/boost-1.71.0-build-auto_index-tool.patch new file mode 100644 index 000000000000..ca793b9d06eb --- /dev/null +++ b/dev-libs/boost/files/boost-1.71.0-build-auto_index-tool.patch @@ -0,0 +1,13 @@ +Build auto_index tool with USE="tools" +See also: https://bugs.gentoo.org/529066 + +--- a/tools/Jamfile.v2 ++++ b/tools/Jamfile.v2 +@@ -18,6 +18,7 @@ + ; + + TOOLS = ++ auto_index/build//auto_index + bcp//bcp + inspect/build//inspect + quickbook//quickbook diff --git a/dev-libs/boost/files/boost-1.69.0-context-x32.patch b/dev-libs/boost/files/boost-1.71.0-context-x32.patch index 9ee3d545d618..9ee3d545d618 100644 --- a/dev-libs/boost/files/boost-1.69.0-context-x32.patch +++ b/dev-libs/boost/files/boost-1.71.0-context-x32.patch diff --git a/dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch b/dev-libs/boost/files/boost-1.71.0-disable_icu_rpath.patch index 23a87830d109..32faf8d0eb31 100644 --- a/dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch +++ b/dev-libs/boost/files/boost-1.71.0-disable_icu_rpath.patch @@ -1,6 +1,6 @@ --- a/libs/locale/build/Jamfile.v2 +++ b/libs/locale/build/Jamfile.v2 -@@ -58,8 +58,8 @@ +@@ -65,8 +65,8 @@ if $(ICU_LINK) { @@ -11,7 +11,7 @@ } else { -@@ -117,7 +117,6 @@ +@@ -124,7 +124,6 @@ <library>icuuc/<link>shared/<runtime-link>shared <library>icudt/<link>shared/<runtime-link>shared <library>icuin/<link>shared/<runtime-link>shared @@ -19,7 +19,7 @@ <runtime-link>shared ; -@@ -176,7 +175,6 @@ +@@ -183,7 +182,6 @@ <library>icuuc_64/<link>shared/<runtime-link>shared <library>icudt_64/<link>shared/<runtime-link>shared <library>icuin_64/<link>shared/<runtime-link>shared |