diff options
author | Nicholas Fish <gentoo@seaofdirac.net> | 2016-01-26 22:19:58 +0100 |
---|---|---|
committer | Nicholas Fish <gentoo@seaofdirac.net> | 2016-01-26 22:19:58 +0100 |
commit | a5873af26d2d5031be3fa2fba4293c2a52f7f5a7 (patch) | |
tree | b9fc295ffae40a0e425a0de06318a9ed2b60d3af | |
parent | Add initial revision of boost-1.60.0 ebuild, trim boost-1.56.0 ebuild (diff) | |
download | ennui-a5873af26d2d5031be3fa2fba4293c2a52f7f5a7.tar.gz ennui-a5873af26d2d5031be3fa2fba4293c2a52f7f5a7.tar.bz2 ennui-a5873af26d2d5031be3fa2fba4293c2a52f7f5a7.zip |
Fix boost-1.60.0 ebuild and add accompanying boost-build ebuild
Remove boost-1.57.0 ebuild
20 files changed, 446 insertions, 551 deletions
diff --git a/dev-libs/boost/Manifest b/dev-libs/boost/Manifest index f9ee3f6..88c505c 100644 --- a/dev-libs/boost/Manifest +++ b/dev-libs/boost/Manifest @@ -4,13 +4,8 @@ AUX boost-1.48.0-no_strict_aliasing_python2.patch 741 SHA256 d11db74992a7a692f65 AUX boost-1.48.0-python_linking.patch 1278 SHA256 5bb937bd4423e039aa406ee4a366c61542a8067ec96b22dbcc48e8826bb7b1f8 SHA512 d588d9391c654a0c3cd49078933563705da4157cd79929ac2ff2021a2e86eec1b87ed85f5ec6d2028b76974abe7e947bd379d78aa60d97da9dc23a6f74c77ec2 WHIRLPOOL 879318dd228ca01841dd3ef0d8020810357c4699fbd1d9f164b0db07319b599634bd823f0e06dd462157d81550bc9f101506d0a7469ad2352d4b1b366bb7fb00 AUX boost-1.51.0-respect_python-buildid.patch 1565 SHA256 a783cd262cfda7c0046a9a9f34dd91cdc48bc2442c4c466873e85ead818326bb SHA512 65a7456c63db5eeab862fdb6245ba3a26536e26b56be9ed7a502a3d5be91bc278cd4a22cf1c5a1d8917bdeaa6575cbf37a11bfc3e982272f56308117fd2b230e WHIRLPOOL fb430e9c5368540493e13fdadff94df426203c9e6776891a3fc421488266b39f7e5720e5f5d289665d62d753c9bce7a33198cf6e911d94961714c22d1452ac92 AUX boost-1.51.0-support_dots_in_python-buildid.patch 609 SHA256 189299e2ef3cde98584e60a5bdd8606894c19bceb0c4d40b38f04aae0aed0edd SHA512 0bf1e4cae598a098b8c252bab1938b29dd5d3ea19d9355156b14add27238e9359ad39a73d3afecb031efebd801215804ecebc11ca8fa6ac2b7b3c2f5ff9bc32f WHIRLPOOL ffc318bc06c33263906be6d0e565ef4c2e3fde9f6224cc5413c02cbe446d9f286c69153f4aee6f588472b058b9b4a37110b0be696bd22362989f1b6a8c8fc13e -AUX boost-1.52.0-threads.patch 2089 SHA256 b59323cefaf4f89078db62b1ece2a6e3b2cf7e8861996c0e366bee4d4638bdb3 SHA512 c6b43e9d8bebbeeb89681ec2bca61c2d656b8b5b1d508c5cd7e545f8ff3ca9b2b3bdf5f66b33ae043548d74b58a9d49096e3c971cd4a1487ef7ee90a9473a92d WHIRLPOOL cf75f6f740a22b001466018e9fb90a75c6912f1723486bda1e53ae2af5eeca5dedec7d430755a0a26cb433ba9d1b56aaa449ed543356ebf2ac4c67c62899ee2c AUX boost-1.55.0-context-x32.patch 1077 SHA256 1da4ff48b98416cac601c52594d4c4da3fb89d0a3e8908f119f05cc8ae76f9c7 SHA512 0e2e45abe5833396508666355e26bafe114fa4ada628b24d8d9953268edddcb2f8e3dcfe8bc7f27d6c1794418990dc9ef914c936dfa64ed6e5e647a40e3f8a73 WHIRLPOOL 0b7a3521a8ec513b833d0292fa3e3bcafc8232fa96d2e41afd25da8dc30bdb49ee4319c7c8555d95e7d3de55fc704d83e443ba49bf89d6961a3f5af73c024a71 -AUX boost-1.55.0-tools-c98-compat.patch 680 SHA256 08192ebf36a3087d3bce31d7b78c29c6e38bca6e5164744878783f648024beec SHA512 fc132898d9ef1a9fab607f277003f86080306fd0f30f89ab0916eb4c3217b390f15cfa00d1e410e79080d469714866a417ba72a3c0727189e8425cd72a1d6a47 WHIRLPOOL 17eb9e80ae33ef9fa8e4c442c511e35d1f5c2ac5251462931e9fbbd53bb29ef5adf699680729af71ef4c12ec87c6d83c821a8e30a03f7f1abedc2207c3125c1c AUX boost-1.56.0-build-auto_index-tool.patch 408 SHA256 36bbd2652654b48c27eb4297d06968c8bdcdf78eec34127d775fad2b9689ac2a SHA512 916d7060003bceb6ee345de5fad9a4f44ec43473b119bab4cc057360d07b7be89bdab5e9d393df28171a4d1679ac0a3089f2096d5a6554ee2e00bc0805d2cbe2 WHIRLPOOL 172059b31b9128cda03e9119f6deac1a0fde373542e96493156f6e3527c65c7ec8fe16611568b0aed07b2f5ffc3440462386d47557ef7e84d855c8df2acbbea8 -AUX boost-1.56.0-no-ssl3.patch 1781 SHA256 01783f897d5fd2a3a0926b3161537bdd66ad1e4681f06c7b94406481abdae76c SHA512 b7658bee73826c9ec07d3fc59e872837b4d85b5570ebc34e8ee9166f09596f7acf91aaf0a0d8a320b77984f267739ca843d972e75619ef90ab77f4c7e618f16a WHIRLPOOL 79389e600dbe55973bd15fefc2507b581e1adddf6f8fa4b074d7d7d5bc6c614777c59cfeceb1878755a39b2d7e463eb1272eff3a1bd1ff33d18026bee4ec54c3 -DIST boost_1_57_0.tar.bz2 60821561 SHA256 910c8c022a33ccec7f088bd65d4f14b466588dda94ba2124e78b8c57db264967 SHA512 61881440fd89644c43c6e3bc6292e9fed75a6d3a76f98654b189d0ed4e1087d77b585884e882270c08bf9f7132b173bfc1fde05848e06aa78ba7f1008d10714d WHIRLPOOL ff092af332434082a774645a5eb42829cdbdac805ef86dccce8988542062901524bd4d5fc890e3a9c01f0a721047501e5d8b13d50ffa5368066c3438dcf719d6 DIST boost_1_60_0.tar.bz2 76553944 SHA256 686affff989ac2488f79a97b9479efb9f2abae035b5ed4d8226de6857933fd3b SHA512 7c851b3fc2b322ff05d642d9cf03e7c30c5f04d5cf0579c99046b1ec708901c58a3d349031dfe24591f5b88c1e664b6a0d40abea6cce89abb52080c02eb725df WHIRLPOOL 828b0797a8b62150ecef5ee13f0e8b8d6b6a0e7365511ec9782d2d8f3a26ac38a98f10876c40d05ea46697c013b1f96f22b3a24c449372520c84bb725059fe48 -EBUILD boost-1.57.0-r1.ebuild 12313 SHA256 577b7f47b935499e3da19c149d2bee6b8af8a20c75ed1d3122cf010ff6a92e33 SHA512 e9a86d020da9cbd6c1f569773e4da84f8d4a2c31952949c5ac7420629c11ad03d80790456ba62fb059ba16322f449f9498cd58f784c15e5e1c2a3313cad16e7d WHIRLPOOL ae8d15d780227399a694ed781c86d107d235aafcd6eb84626ed07e0d8bd631ec2a50b5c8e6914ade21722389e4c14948452615828d8fd52a8a59aa258867ec36 -EBUILD boost-1.60.0-r99.ebuild 12313 SHA256 577b7f47b935499e3da19c149d2bee6b8af8a20c75ed1d3122cf010ff6a92e33 SHA512 e9a86d020da9cbd6c1f569773e4da84f8d4a2c31952949c5ac7420629c11ad03d80790456ba62fb059ba16322f449f9498cd58f784c15e5e1c2a3313cad16e7d WHIRLPOOL ae8d15d780227399a694ed781c86d107d235aafcd6eb84626ed07e0d8bd631ec2a50b5c8e6914ade21722389e4c14948452615828d8fd52a8a59aa258867ec36 +EBUILD boost-1.60.0-r99.ebuild 12169 SHA256 cea824453aeb6aa788e269673011363624a645db1da4699732702f378aaeeb98 SHA512 f056bc6fc8bb9cb86c0182fc67d356d105a0cd0ea6e132235671c9e7da2d7d9eb7cb259b2091a0985ee8ef3db341a6f74d35f13c1bd8368dfc4cc758c097e8ea WHIRLPOOL fba96e570bb4cbc8b925de81b3fa248531fab9362e8187794f9cba12961445ef397ae2a97086002d92fbe8f1d6b14ea0049da0a2b79bbfd667ff114a6067f8ab MISC metadata.xml 1421 SHA256 e8165c32ec94a53a4a7506562266a61923cab8ba8c4ed4a66eb63a765405b0e3 SHA512 71872caa09cd6f240b4ba83e98207cec33d7391feaafc40d5ca5b6939983e7f6efd1e177a0f60f365054b046db4d7a0147f7455123e8eee9f942db15809fdbd7 WHIRLPOOL fcdd5e2b37239c17a1a6c1e136d4835539efadab230544651a8c7b0814f14c8a861a8440f08694a228de4a0b4769961f6d01b81730af06d1a98eafb3af937e13 diff --git a/dev-libs/boost/boost-1.57.0-r1.ebuild b/dev-libs/boost/boost-1.57.0-r1.ebuild deleted file mode 100644 index 0fbf234..0000000 --- a/dev-libs/boost/boost-1.57.0-r1.ebuild +++ /dev/null @@ -1,413 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI="5" -PYTHON_COMPAT=( python{2_7,3_3,3_4,3_5} ) - -inherit eutils flag-o-matic multilib 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="http://www.boost.org/" -SRC_URI="mirror://sourceforge/boost/${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-fbsd ~x86-fbsd ~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="abi_x86_32? ( !app-emulation/emul-linux-x86-cpplibs[-abi_x86_32(-)] ) - icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] ) - !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] ) - mpi? ( virtual/mpi[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" - -python_bindings_needed() { - multilib_is_native_abi && use python -} - -tools_needed() { - multilib_is_native_abi && use tools -} - -# MPI stuff is not ported on multilib yet, disabling it for non-native ABIs -mpi_needed() { - multilib_is_native_abi && use mpi -} - -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 mpi_needed; 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__ -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() { - epatch \ - "${FILESDIR}/${PN}-1.56.0-no-ssl3.patch" \ - "${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch" \ - "${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch" \ - "${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch" \ - "${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch" \ - "${FILESDIR}/${PN}-1.48.0-python_linking.patch" \ - "${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" \ - "${FILESDIR}/${PN}-1.55.0-context-x32.patch" \ - "${FILESDIR}/${PN}-1.55.0-tools-c98-compat.patch" \ - "${FILESDIR}/${PN}-1.52.0-threads.patch" \ - "${FILESDIR}/${PN}-1.56.0-build-auto_index-tool.patch" - - # 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 - - epatch_user - - 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 - - # Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard. - append-cxxflags -std=gnu++98 - - use icu && OPTIONS+=" -sICU_PATH=${EPREFIX}/usr" - use icu || OPTIONS+=" --disable-icu boost.locale.icu=off" - mpi_needed || OPTIONS+=" --without-mpi" - use nls || OPTIONS+=" --without-locale" - use context || OPTIONS+=" --without-context --without-coroutine" - - OPTIONS+=" pch=off" - OPTIONS+=" --boost-build=${EPREFIX}/usr/share/boost-build --prefix=\"${ED}usr\"" - OPTIONS+=" --layout=system" - OPTIONS+=" threading=$(usex threads multi single) 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 mpi_needed; 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 || die - fi - - if use doc; then - find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf - dohtml \ - -A pdf,txt,cpp,hpp \ - *.{htm,html,png,css} \ - -r doc - dohtml -A pdf,txt -r tools - insinto /usr/share/doc/${PF}/html - doins -r libs - doins -r more - - # To avoid broken links - insinto /usr/share/doc/${PF}/html - doins 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 mpi_needed; 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 mpi_needed; 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 - [[ -L ${symlink} ]] && rm -f "${symlink}" - done -} diff --git a/dev-libs/boost/boost-1.60.0-r99.ebuild b/dev-libs/boost/boost-1.60.0-r99.ebuild index 0fbf234..15f08a9 100644 --- a/dev-libs/boost/boost-1.60.0-r99.ebuild +++ b/dev-libs/boost/boost-1.60.0-r99.ebuild @@ -113,7 +113,6 @@ pkg_setup() { src_prepare() { epatch \ - "${FILESDIR}/${PN}-1.56.0-no-ssl3.patch" \ "${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch" \ "${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch" \ "${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch" \ @@ -121,8 +120,6 @@ src_prepare() { "${FILESDIR}/${PN}-1.48.0-python_linking.patch" \ "${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" \ "${FILESDIR}/${PN}-1.55.0-context-x32.patch" \ - "${FILESDIR}/${PN}-1.55.0-tools-c98-compat.patch" \ - "${FILESDIR}/${PN}-1.52.0-threads.patch" \ "${FILESDIR}/${PN}-1.56.0-build-auto_index-tool.patch" # Do not try to build missing 'wave' tool, bug #522682 diff --git a/dev-libs/boost/files/boost-1.52.0-threads.patch b/dev-libs/boost/files/boost-1.52.0-threads.patch deleted file mode 100644 index e078fc2..0000000 --- a/dev-libs/boost/files/boost-1.52.0-threads.patch +++ /dev/null @@ -1,63 +0,0 @@ -Index: /trunk/boostcpp.jam
-===================================================================
---- /trunk/boostcpp.jam (revision 79301)
-+++ /trunk/boostcpp.jam (revision 81000)
-@@ -210,6 +210,44 @@
- }
-
-+rule filtered-target ( name : message + : sources + : requirements * )
-+{
-+ message $(name)-message : warning: $(message) ;
-+ alias $(name) : $(sources) : $(requirements) ;
-+ alias $(name) : $(name)-message ;
-+
-+ local p = [ project.current ] ;
-+ $(p).mark-target-as-explicit $(name) ;
-+ $(p).mark-target-as-explicit $(name)-message ;
-+}
-+
- rule declare_install_and_stage_proper_targets ( libraries * : headers * )
- {
-+ for local l in $(libraries)
-+ {
-+ if $(l) = locale
-+ {
-+ filtered-target $(l)-for-install :
-+ Skipping Boost.Locale library with threading=single. :
-+ libs/$(l)/build : <threading>multi ;
-+ }
-+ else if $(l) = wave
-+ {
-+ filtered-target $(l)-for-install :
-+ Skipping Boost.Wave library with threading=single. :
-+ libs/$(l)/build : <threading>multi ;
-+ }
-+ else if $(l) = thread
-+ {
-+ filtered-target $(l)-for-install :
-+ Skipping Boost.Thread library with threading=single. :
-+ libs/$(l)/build : <threading>multi ;
-+ }
-+ else
-+ {
-+ alias $(l)-for-install : libs/$(l)/build ;
-+ }
-+ }
-+ local library-targets = $(libraries)-for-install ;
-+
- install-requirements = <install-source-root>$(BOOST_ROOT)/boost ;
-
-@@ -239,5 +277,5 @@
- : $(install-requirements) <install-no-version-symlinks>on
- :
-- : libs/$(libraries)/build
-+ : $(libraries)-for-install
- : $(headers)
- ;
-@@ -246,5 +284,5 @@
- # Install just library.
- install stage-proper
-- : libs/$(libraries)/build
-+ : $(libraries)-for-install
- : <location>$(stage-locate)/lib
- <install-dependencies>on <install-type>LIB
diff --git a/dev-libs/boost/files/boost-1.55.0-tools-c98-compat.patch b/dev-libs/boost/files/boost-1.55.0-tools-c98-compat.patch deleted file mode 100644 index df2a14a..0000000 --- a/dev-libs/boost/files/boost-1.55.0-tools-c98-compat.patch +++ /dev/null @@ -1,17 +0,0 @@ -Make tools compiled successfully with forced C++98 - -Gentoo bugreport: https://bugs.gentoo.org/show_bug.cgi?id=503468 - -diff --git a/tools/regression/src/compiler_status.cpp b/tools/regression/src/compiler_status.cpp -index 63f8134..3f3374a 100644 ---- a/tools/regression/src/compiler_status.cpp -+++ b/tools/regression/src/compiler_status.cpp -@@ -128,7 +128,7 @@ namespace - string ln(line); - if (ln.find("Revision: ") != string::npos) - { -- for(auto itr = ln.begin()+10; itr != ln.end() && isdigit(*itr); ++itr) -+ for(string::iterator itr = ln.begin()+10; itr != ln.end() && isdigit(*itr); ++itr) - rev += *itr; - } - } diff --git a/dev-libs/boost/files/boost-1.56.0-no-ssl3.patch b/dev-libs/boost/files/boost-1.56.0-no-ssl3.patch deleted file mode 100644 index d182db7..0000000 --- a/dev-libs/boost/files/boost-1.56.0-no-ssl3.patch +++ /dev/null @@ -1,49 +0,0 @@ ---- boost/asio/ssl/impl/context.ipp.orig 2014-07-28 06:32:26.000000000 +0000 -+++ boost/asio/ssl/impl/context.ipp 2015-12-27 07:01:33.717877523 +0000 -@@ -87,6 +87,14 @@ - handle_ = ::SSL_CTX_new(::SSLv2_server_method()); - break; - #endif // defined(OPENSSL_NO_SSL2) -+#if defined(OPENSSL_NO_SSL3) -+ case context::sslv3: -+ case context::sslv3_client: -+ case context::sslv3_server: -+ boost::asio::detail::throw_error( -+ boost::asio::error::invalid_argument, "context"); -+ break; -+#else // defined(OPENSSL_NO_SSL3) - case context::sslv3: - handle_ = ::SSL_CTX_new(::SSLv3_method()); - break; -@@ -96,6 +104,7 @@ - case context::sslv3_server: - handle_ = ::SSL_CTX_new(::SSLv3_server_method()); - break; -+#endif // defined(OPENSSL_NO_SSL3) - case context::tlsv1: - handle_ = ::SSL_CTX_new(::TLSv1_method()); - break; ---- boost/asio/ssl/old/detail/openssl_context_service.hpp.orig 2014-07-28 06:32:26.000000000 +0900 -+++ boost/asio/ssl/old/detail/openssl_context_service.hpp 2015-12-27 07:03:55.384691141 +0900 -@@ -85,6 +85,13 @@ - impl = ::SSL_CTX_new(::SSLv2_server_method()); - break; - #endif // defined(OPENSSL_NO_SSL2) -+#if defined(OPENSSL_NO_SSL3) -+ case context_base::sslv3: -+ case context_base::sslv3_client: -+ case context_base::sslv3_server: -+ boost::asio::detail::throw_error(boost::asio::error::invalid_argument); -+ break; -+#else // defined(OPENSSL_NO_SSL3) - case context_base::sslv3: - impl = ::SSL_CTX_new(::SSLv3_method()); - break; -@@ -94,6 +101,7 @@ - case context_base::sslv3_server: - impl = ::SSL_CTX_new(::SSLv3_server_method()); - break; -+#endif // defined(OPENSSL_NO_SSL3) - case context_base::tlsv1: - impl = ::SSL_CTX_new(::TLSv1_method()); - break; diff --git a/dev-util/boost-build/ChangeLog b/dev-util/boost-build/ChangeLog new file mode 100644 index 0000000..55057ae --- /dev/null +++ b/dev-util/boost-build/ChangeLog @@ -0,0 +1,93 @@ +# ChangeLog for dev-util/boost-build +# Copyright 1999-2016 Gentoo Foundation; Distributed under the GPL v2 +# (auto-generated from git log) + +*boost-build-1.58.0 (09 Aug 2015) +*boost-build-1.57.0 (09 Aug 2015) +*boost-build-1.56.0 (09 Aug 2015) +*boost-build-1.55.0-r1 (09 Aug 2015) +*boost-build-1.55.0 (09 Aug 2015) +*boost-build-1.54.0 (09 Aug 2015) +*boost-build-1.53.0 (09 Aug 2015) +*boost-build-1.52.0-r1 (09 Aug 2015) + + 09 Aug 2015; Robin H. Johnson <robbat2@gentoo.org> + +boost-build-1.52.0-r1.ebuild, +boost-build-1.53.0.ebuild, + +boost-build-1.54.0.ebuild, +boost-build-1.55.0.ebuild, + +boost-build-1.55.0-r1.ebuild, +boost-build-1.56.0.ebuild, + +boost-build-1.57.0.ebuild, +boost-build-1.58.0.ebuild, + +files/boost-build-1.48.0-disable_python_rpath.patch, + +files/boost-build-1.48.0-support_dots_in_python-buildid.patch, + +files/boost-build-1.49.0-darwin-gentoo-toolchain.patch, + +files/boost-build-1.50.0-fix-test.patch, + +files/boost-build-1.50.0-respect-c_ld-flags.patch, + +files/boost-build-1.52.0-darwin-no-python-framework.patch, + +files/boost-build-1.54.0-fix-test.patch, + +files/boost-build-1.54.0-support_dots_in_python-buildid.patch, + +files/boost-build-1.55.0-ppc-aix.patch, +files/site-config.jam, + +metadata.xml: + proj/gentoo: Initial commit + + This commit represents a new era for Gentoo: + Storing the gentoo-x86 tree in Git, as converted from CVS. + + This commit is the start of the NEW history. + Any historical data is intended to be grafted onto this point. + + Creation process: + 1. Take final CVS checkout snapshot + 2. Remove ALL ChangeLog* files + 3. Transform all Manifests to thin + 4. Remove empty Manifests + 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ + 5.1. Do not touch files with -kb/-ko keyword flags. + + Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> + X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration + tests + X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this + project + X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo + developer, wrote Git features for the migration + X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve + cvs2svn + X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts + X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 + work in migration + X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging + X-Thanks: All of other Gentoo developers - many ideas and lots of paint on + the bikeshed + + 24 Aug 2015; Justin Lecher <jlec@gentoo.org> metadata.xml: + Use https by default + + Convert all URLs for sites supporting encrypted connections from http to + https + + Signed-off-by: Justin Lecher <jlec@gentoo.org> + + 24 Aug 2015; Mike Gilbert <floppym@gentoo.org> metadata.xml: + Revert DOCTYPE SYSTEM https changes in metadata.xml + + repoman does not yet accept the https version. + This partially reverts eaaface92ee81f30a6ac66fe7acbcc42c00dc450. + + Bug: https://bugs.gentoo.org/552720 + +*boost-build-1.59.0 (20 Jan 2016) + + 20 Jan 2016; Sergey Popov <pinkbyte@gentoo.org> +boost-build-1.59.0.ebuild: + version bump, port to EAPI 6 + + Package-Manager: portage-2.2.26 + + 20 Jan 2016; Sergey Popov <pinkbyte@gentoo.org> + boost-build-1.52.0-r1.ebuild, boost-build-1.53.0.ebuild, + boost-build-1.54.0.ebuild, boost-build-1.55.0.ebuild, + boost-build-1.55.0-r1.ebuild, boost-build-1.56.0.ebuild, + boost-build-1.57.0.ebuild, boost-build-1.58.0.ebuild, + boost-build-1.59.0.ebuild: + shorten DESCRIPTION + + Package-Manager: portage-2.2.26 + diff --git a/dev-util/boost-build/Manifest b/dev-util/boost-build/Manifest new file mode 100644 index 0000000..a73dd4b --- /dev/null +++ b/dev-util/boost-build/Manifest @@ -0,0 +1,14 @@ +AUX boost-build-1.48.0-disable_python_rpath.patch 337 SHA256 979727bd1aabf6df05d8b06e3ac525bb6d44c2b18c3e4e1331528c4633b7e9df SHA512 4244814e05c15478992a775b9f63fc0b7477caa4770af7f61f0e664af7e681c33c3a5be3b6842e1d4e159af43adde820d00cc0f92c990cea59899ec0aa2d273c WHIRLPOOL 3d395f0adb341430192f2bc3507d8f585ea2afe7cedcbfd95e5b6fce53fd6cf34b5a612d36937cf3413f38e20f9b2bb72938f1b1fb07895f63297d5e4c4c2a6e +AUX boost-build-1.48.0-support_dots_in_python-buildid.patch 627 SHA256 e544b0c81a09ad3e56800bef4e7a3e78b5b27ee7377e7f4fc66d1aecd955ae0a SHA512 3f7be047fab021890870797b349122a6e71f51f4187ce430e9f325c7c25981bf5378fe41c32e8f3be87fec8e91ba9640cc87ccf75fd27cf9aa505e1a607afd71 WHIRLPOOL b7dab03a0d89e0131009dccfcf9945acfa35b222c07a7db4f880aef80140c9ff13d18f570763502a1e8bdc066b13b7320b82c3d9e8cfd0848c1b0aff7b168a43 +AUX boost-build-1.49.0-darwin-gentoo-toolchain.patch 647 SHA256 f729f8e7cd9046cbb653e2f687a8e72e71a313cffb14805e8783e7799786441b SHA512 53a4f0b53a53d65c9777d2621b957a5b2620899f631017858bad975b82be3ac3c0acbef9d694c3b86fe41b0aba5c170e4e0b63b169c5d00a6d4448fa506b66a4 WHIRLPOOL e2c83f06667938c6f2b32aefa2f5a7ad07a68c1366c55eef7b9bda9c42b31f417c34127f518cca151245c82704e45fe6a5402e3b26383f79de417c728e67e667 +AUX boost-build-1.50.0-fix-test.patch 428 SHA256 649d36035315caad20807a6b6931155c94c04cd3a0d4ff0e4987e247798d39b6 SHA512 8ceb373209eef19a7bce932b004eb4ec3655110840f5af10198883f25657ef048cf6ab6b6e962ab4ceeb2327af117b8c8b788f23c84549324f36adf5f0dfd4cf WHIRLPOOL be8c7567c61cfeafd36df92356a59738a421b1db95a62f1694e23a9a5d803060b9bb734fe78ef12252aa98e7c47d5527d720b89f62ada9b1d8352cba98d242f7 +AUX boost-build-1.50.0-respect-c_ld-flags.patch 2014 SHA256 15db5440bee28ff3109f0a9a45a4426026b1ded36da88fa8f8a828bff961cd74 SHA512 cd9454009a09795f9b6ad7da187046e43ad624cb56ac79d53596771b69793666247bac540e580060a20694ea7c42f0bb13b266b98cee43a04397bc8931016508 WHIRLPOOL 9267db366be1dff9ead6b846c88a78312600fd2b3a0b9864fa3c7c767a3bd41a4b10b2508f44eb39bb0748163bacda4423eafe2872b2b6482bdcc269c25a1bdd +AUX boost-build-1.52.0-darwin-no-python-framework.patch 415 SHA256 1a85311e133f3cdb3d17bfd10fe64c244c2efa23722def1334f89dad9274dace SHA512 68a43d610f5d92f5733b9fbf08348e06e190ec7e30f8d5e63ff95c3123539bc582b4d4fe960de586c0df243c5c49e36e9bccf49ca2017884aaa6a2a2b5759d56 WHIRLPOOL 82458d31670568b583f5c067c3224560d50c97f830e67138c31054371267012a29f9a1e902f885c576b2b39af4d92a387028183223d626a3e45a8cfbc9ef366d +AUX boost-build-1.54.0-fix-test.patch 436 SHA256 244d923dda51f68f2b8535342727307a4e4e2c0b99c11c4b0806e7ca524982d5 SHA512 9a7cb66b6cd82f7e27074f4a3edad20817fcaa0d9b54d14e87311a57bb59498e9b880c37342d2afccbc8146422702f6a908dacf7a7aae0d24354b0709c2d4891 WHIRLPOOL 151a186c0ef18dca513f29114b877959e71976ed15d7aae9d81f6015db16e9efc0d6d712712d73bc79168d23ba6ee6eedb0df096e614db2b1232ff1ac110396c +AUX boost-build-1.54.0-support_dots_in_python-buildid.patch 560 SHA256 a986984f85908e19577908376c02f258b8a224cbdf7b4b0e9d57a2bb364c5b4f SHA512 06edc9d25a2fb9cf9b9124e67a9c7d9afccf50d41bf2a65814b6b0a0e6b43a3ec1950bf2919a08908b6f5f5ff7ad13e41352c2328b9bca2ddf1e5a5cc60ff59b WHIRLPOOL ba22249002c0d1169dd463b0c8df3db81bc35f0e161eb0d8168a75c8b8c2e7b96f2658a2bba0018d6178e0dccac4045d5a2fa7a53849271002018f6a4f322081 +AUX boost-build-1.55.0-ppc-aix.patch 224 SHA256 a285da0182907f07e678c5831fe0588beb96ef3bd4542058a71d4eb540711221 SHA512 ae3d9fd5c39ef7330fffc0a0c36f7680c133a5180ba796fcd4193f2799cb43afe35599e0efca3f9ba8fcb049fd260f04349674731a870594c343aa4c7808c569 WHIRLPOOL c75b080226d4f85266f43a935191c67f83af640f3f7cc5bed2f7ba1617e82d3381e9c7fad38999bd51a7bdac57c1d82856ab3b8553873159fd748d894f6f5f3f +AUX site-config.jam 688 SHA256 795b0719536a934a1c65cfd4abf09ad4f30ad7d90ad4d55b00c858ee35e8890f SHA512 b65bf1be3133f9f66d3139b00f195a288591bb20a13ba35041507c2c33d7d2da6047c3b02dc27bc4eb21798b91e1262a60e294b7fd4af90808b9de0f5af517df WHIRLPOOL be4e6a1a308dc41e522be919d765b85cb67909ed74d022ca4bf8264ec86ade1caffe8d69a630b21d4abfed1d0c1e8ef079f874046a713fcdf4f0d72f3f0b6386 +DIST boost_1_60_0.tar.bz2 76553944 SHA256 686affff989ac2488f79a97b9479efb9f2abae035b5ed4d8226de6857933fd3b SHA512 7c851b3fc2b322ff05d642d9cf03e7c30c5f04d5cf0579c99046b1ec708901c58a3d349031dfe24591f5b88c1e664b6a0d40abea6cce89abb52080c02eb725df WHIRLPOOL 828b0797a8b62150ecef5ee13f0e8b8d6b6a0e7365511ec9782d2d8f3a26ac38a98f10876c40d05ea46697c013b1f96f22b3a24c449372520c84bb725059fe48 +EBUILD boost-build-1.60.0.ebuild 3947 SHA256 896a2e18b2280f50f59a2fb6b06992196af5a0786abcd9ed3bcf0edcad54dc3a SHA512 ad9e1dff9322b1eb644ddb10e825f40520b5bb974bb7d1f2d1d4f02eb006980aa89d556195076ca2747cf168455d48024325acb0fc5cb7a5f0f93fc0cd4ba534 WHIRLPOOL 7b8f6289f4068834f386d104eea57267cc7dcd6585fa05d5433af090f39589006365b43e9940327ff2226dea8cd0c474b978b776edd573525ab8d77bdd7c7fbf +MISC ChangeLog 3583 SHA256 0a6b94412f04db8a652bd60cf8f0c5c95f18d8fc4f8872bd2fce33140cccc4b9 SHA512 d70769bf7ad49a3891ef77a0bd7ddec30bafa5f782ed5c0a787a91093901fdb915b466a4377d765ff066f94172edfe241410969bc8a2275e015764d2aa4ac981 WHIRLPOOL bb2b8d3061f0fd1cf620356ca6cf87c2b19afca4e619cb33a217aa7feed009de8a0d7e4bd9ad46b2c8d60d3d82f6a90552e2fb5ac178421ba3bd57b70e7bf8c2 +MISC metadata.xml 237 SHA256 bdf06e9a18eceb28c29f9b67130b589dcbf696b73f8314ed9662efce92ac7180 SHA512 a925bb94e7b5590efc5e309246a6c2916c7241e6135eb738645f84a20e3fe41cd8a2d7896771a8c67628fc7d118c1bee12162b994853ecd7791f918345d3022b WHIRLPOOL cf1b2530de3d629248a74b7ce7a5a4052aefbb7d485ac76fe4bb628e3c0d530f64a30b8491d7d50f78e051c4df68f74e7a727f533caab2252ae7406df4c4d5bb diff --git a/dev-util/boost-build/boost-build-1.60.0.ebuild b/dev-util/boost-build/boost-build-1.60.0.ebuild new file mode 100644 index 0000000..1a34b4b --- /dev/null +++ b/dev-util/boost-build/boost-build-1.60.0.ebuild @@ -0,0 +1,139 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="6" + +RESTRICT="test" + +PYTHON_COMPAT=( python2_7 ) +inherit eutils flag-o-matic python-single-r1 toolchain-funcs versionator + +MY_PV="$(replace_all_version_separators _)" + +DESCRIPTION="A system for large project software construction, simple to use and powerful" +HOMEPAGE="http://www.boost.org/doc/tools/build/index.html" +SRC_URI="mirror://sourceforge/boost/boost_${MY_PV}.tar.bz2" + +LICENSE="Boost-1.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="examples python test" + +RDEPEND="python? ( ${PYTHON_DEPS} ) + !<dev-libs/boost-1.34.0 + !<=dev-util/boost-build-1.35.0-r1" +DEPEND="${RDEPEND} + test? ( sys-apps/diffutils + ${PYTHON_DEPS} )" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) + test? ( ${PYTHON_REQUIRED_USE} )" + +S="${WORKDIR}/boost_${MY_PV}/tools/build/src" + +pkg_setup() { + if use python || use test; then + python-single-r1_pkg_setup + fi +} + +src_unpack() { + tar xjpf "${DISTDIR}/${A}" boost_${MY_PV}/tools/build || die "unpacking tar failed" +} + +src_prepare() { + epatch \ + "${FILESDIR}/${PN}-1.48.0-disable_python_rpath.patch" \ + "${FILESDIR}/${PN}-1.50.0-respect-c_ld-flags.patch" \ + "${FILESDIR}/${PN}-1.49.0-darwin-gentoo-toolchain.patch" \ + "${FILESDIR}/${PN}-1.52.0-darwin-no-python-framework.patch" \ + "${FILESDIR}/${PN}-1.54.0-support_dots_in_python-buildid.patch" \ + "${FILESDIR}/${PN}-1.55.0-ppc-aix.patch" + + pushd ../ &>/dev/null || die + epatch "${FILESDIR}/${PN}-1.54.0-fix-test.patch" + popd &>/dev/null || die + + # Remove stripping option + # Fix python components build on multilib systems, bug #496446 + cd "${S}/engine" || die + sed -i \ + -e 's|-s\b||' \ + -e "/libpython/s/lib ]/$(get_libdir) ]/" \ + build.jam || die "sed failed" + + # Force regeneration + rm jambase.c || die + + # This patch allows us to fully control optimization + # and stripping flags when bjam is used as build-system + # We simply extend the optimization and debug-symbols feature + # with empty dummies called 'none' + cd "${S}" || die + sed -i \ + -e 's/\(off speed space\)/\1 none/' \ + -e 's/\(debug-symbols : on off\)/\1 none/' \ + tools/builtin.jam || die "sed failed" + + eapply_user +} + +src_configure() { + if use python; then + # replace versions by user-selected one (TODO: fix this when slot-op + # deps are available to always match the best version available) + sed -i \ + -e "s|2.7 2.6 2.5 2.4 2.3 2.2|${EPYTHON#python}|" \ + engine/build.jam || die "sed failed" + fi +} + +src_compile() { + cd engine || die + + local toolset + + if [[ ${CHOST} == *-darwin* ]]; then + toolset=darwin + else + # Using boost's generic toolset here, which respects CC and CFLAGS + toolset=cc + fi + + CC=$(tc-getCC) ./build.sh ${toolset} -d+2 $(use_with python python "${EROOT}"/usr) || die "building bjam failed" +} + +src_install() { + dobin engine/bin.*/{bjam,b2} + + insinto /usr/share/boost-build + doins -r "${FILESDIR}/site-config.jam" \ + ../boost-build.jam bootstrap.jam build-system.jam ../example/user-config.jam *.py \ + build kernel options tools util + + rm "${ED}/usr/share/boost-build/build/project.ann.py" || die "removing faulty python file failed" + if ! use python; then + find "${ED}/usr/share/boost-build" -iname "*.py" -delete || die "removing experimental python files failed" + fi + + dodoc ../notes/{changes,hacking,release_procedure,build_dir_option,relative_source_paths}.txt + + if use examples; then + dodoc -r ../example + docompress -x "/usr/share/doc/${PF}/example" + fi +} + +src_test() { + cd ../test || die + + export TMP="${T}" + + DO_DIFF="${PREFIX}/usr/bin/diff" ${PYTHON} test_all.py + + if [[ -s test_results.txt ]]; then + eerror "At least one test failed: $(<test_results.txt)" + die "tests failed" + fi +} diff --git a/dev-util/boost-build/files/boost-build-1.48.0-disable_python_rpath.patch b/dev-util/boost-build/files/boost-build-1.48.0-disable_python_rpath.patch new file mode 100644 index 0000000..8b88b43 --- /dev/null +++ b/dev-util/boost-build/files/boost-build-1.48.0-disable_python_rpath.patch @@ -0,0 +1,11 @@ +--- tools/python.jam ++++ tools/python.jam +@@ -961,7 +961,7 @@ + # linux). + : $(usage-requirements) + <testing.launcher>$(set-PYTHONPATH) +- <library-path>$(libraries) <dll-path>$(dll-path) <library>python.lib ++ <library-path>$(libraries) <library>python.lib + ; + } + diff --git a/dev-util/boost-build/files/boost-build-1.48.0-support_dots_in_python-buildid.patch b/dev-util/boost-build/files/boost-build-1.48.0-support_dots_in_python-buildid.patch new file mode 100644 index 0000000..b3bee03 --- /dev/null +++ b/dev-util/boost-build/files/boost-build-1.48.0-support_dots_in_python-buildid.patch @@ -0,0 +1,19 @@ +--- tools/common.jam ++++ tools/common.jam +@@ -759,7 +759,15 @@ + switch $(f:G) + { + case <base> : +- result += $(name:B) ; ++ local matched = [ MATCH "^(boost.*python)-.*" : $(name) ] ; ++ if $(matched) = boost_python || $(matched) = boost_mpi_python ++ { ++ result += $(name) ; ++ } ++ else ++ { ++ result += $(name:B) ; ++ } + + case <toolset> : + result += [ join-tag $(f:G=) : [ toolset-tag $(name) : $(type) : diff --git a/dev-util/boost-build/files/boost-build-1.49.0-darwin-gentoo-toolchain.patch b/dev-util/boost-build/files/boost-build-1.49.0-darwin-gentoo-toolchain.patch new file mode 100644 index 0000000..f5d6188 --- /dev/null +++ b/dev-util/boost-build/files/boost-build-1.49.0-darwin-gentoo-toolchain.patch @@ -0,0 +1,26 @@ +Avoid adding all kinds of things to the toolchain's flags that within +Gentoo (Prefix) we really shouldn't, such as sysroot, deployment target, +arch, etc. + +--- tools/darwin.jam ++++ tools/darwin.jam +@@ -227,6 +227,9 @@ + } + } + ++ # leave compiler flags etc. up to the toolchain ++ return $(version-feature) ; ++ + if $(version-feature) + { + if $(.debug-configuration) +@@ -387,7 +390,8 @@ + support-ppc64 = ; + } + } +- switch $(arch) ++ # Gentoo Prefix toolchain doesn't do multi-arch, so don't try either ++ switch $(donotaddarchpleaseXXXarch) + { + case combined : + { diff --git a/dev-util/boost-build/files/boost-build-1.50.0-fix-test.patch b/dev-util/boost-build/files/boost-build-1.50.0-fix-test.patch new file mode 100644 index 0000000..31f8db2 --- /dev/null +++ b/dev-util/boost-build/files/boost-build-1.50.0-fix-test.patch @@ -0,0 +1,11 @@ +--- test/startup_v2.py.orig 2012-08-19 11:48:12.020600368 +0200 ++++ test/startup_v2.py 2012-08-19 11:48:28.564516623 +0200 +@@ -14,7 +14,7 @@ + return re.match(expected,actual,re.DOTALL) != None + + # Test the v1 startup behavior. +-t = BoostBuild.Tester(match=match_re, boost_build_path='', pass_toolset=0) ++t = BoostBuild.Tester(match=match_re, boost_build_path='/invalid/location', pass_toolset=0) + + t.set_tree('startup') + diff --git a/dev-util/boost-build/files/boost-build-1.50.0-respect-c_ld-flags.patch b/dev-util/boost-build/files/boost-build-1.50.0-respect-c_ld-flags.patch new file mode 100644 index 0000000..f0a1561 --- /dev/null +++ b/dev-util/boost-build/files/boost-build-1.50.0-respect-c_ld-flags.patch @@ -0,0 +1,53 @@ +--- engine/build.jam.orig 2012-08-19 09:47:23.916383518 +0200 ++++ engine/build.jam 2012-08-19 09:53:38.011554690 +0200 +@@ -3,7 +3,7 @@ + #~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) + + # Clean env vars of any "extra" empty values. +-for local v in ARGV CC CFLAGS LIBS ++for local v in ARGV CC CFLAGS LDFLAGS LIBS + { + local values ; + for local x in $($(v)) +@@ -179,10 +179,10 @@ + if ! $(CC) { CC = cc ; } + toolset cc $(CC) : "-o " : -D + : $(CFLAGS) +- [ opt --release : -s -O ] ++ [ opt --release : ] + [ opt --debug : -g ] + -I$(--python-include) -I$(--extra-include) +- : $(LIBS) -L$(--python-lib[1]) -l$(--python-lib[2]) ; ++ : $(LDFLAGS) $(LIBS) -L$(--python-lib[1]) -l$(--python-lib[2]) ; + ## Comeau C/C++ 4.x + toolset como como : "-o " : -D + : --c +@@ -201,11 +201,11 @@ + ## MacOSX Darwin, using GCC 2.9.x, 3.x + toolset darwin cc : "-o " : -D + : +- [ opt --release : -Wl,-x -O3 -finline-functions ] ++ [ opt --release : -Wl,-x -finline-functions ] + [ opt --debug : -g -O0 -fno-inline -pg ] + [ opt --profile : -Wl,-x -O3 -finline-functions -g -pg ] + -I$(--python-include) -I$(--extra-include) +- : -L$(--python-lib[1]) -l$(--python-lib[2]) ; ++ : $(LDFLAGS) -L$(--python-lib[1]) -l$(--python-lib[2]) ; + ## GCC 2.x, 3.x, 4.x + toolset gcc gcc : "-o " : -D + : -pedantic -fno-strict-aliasing +--- engine/build.sh.orig 2012-08-19 12:09:56.400780866 +0200 ++++ engine/build.sh 2012-08-19 12:10:49.728499203 +0200 +@@ -224,9 +224,9 @@ + cc) + if test -z "$CC" ; then CC=cc ; fi + BOOST_JAM_CC=$CC +- BOOST_JAM_OPT_JAM="$BOOST_JAM_OPT_JAM $CFLAGS $LIBS" +- BOOST_JAM_OPT_MKJAMBASE="$BOOST_JAM_OPT_MKJAMBASE $CFLAGS $LIBS" +- BOOST_JAM_OPT_YYACC="$BOOST_JAM_OPT_YYACC $CFLAGS $LIBS" ++ BOOST_JAM_OPT_JAM="$BOOST_JAM_OPT_JAM $CFLAGS $LDFLAGS $LIBS" ++ BOOST_JAM_OPT_MKJAMBASE="$BOOST_JAM_OPT_MKJAMBASE $CFLAGS $LDFLAGS $LIBS" ++ BOOST_JAM_OPT_YYACC="$BOOST_JAM_OPT_YYACC $CFLAGS $LDFLAGS $LIBS" + ;; + + qcc) diff --git a/dev-util/boost-build/files/boost-build-1.52.0-darwin-no-python-framework.patch b/dev-util/boost-build/files/boost-build-1.52.0-darwin-no-python-framework.patch new file mode 100644 index 0000000..08b40f3 --- /dev/null +++ b/dev-util/boost-build/files/boost-build-1.52.0-darwin-no-python-framework.patch @@ -0,0 +1,17 @@ +Don't look for the framework path, we build Python the UNIX way for +Gentoo Prefix + +--- engine/build.jam ++++ engine/build.jam +@@ -82,11 +82,6 @@ + } + --python-lib = $(--python-lib[1]) ; + } +- else if $(OS) = MACOSX +- { +- --python-include = [ .path $(python-location) Headers ] ; +- --python-lib = $(python-location) Python ; +- } + else + { + --python-include = ; diff --git a/dev-util/boost-build/files/boost-build-1.54.0-fix-test.patch b/dev-util/boost-build/files/boost-build-1.54.0-fix-test.patch new file mode 100644 index 0000000..a44afb9 --- /dev/null +++ b/dev-util/boost-build/files/boost-build-1.54.0-fix-test.patch @@ -0,0 +1,11 @@ +--- test/startup_v2.py.orig 2013-08-27 12:23:10.520185408 +0400 ++++ test/startup_v2.py 2013-08-27 12:23:27.155186209 +0400 +@@ -50,7 +50,7 @@ + return re.match(expected, actual, re.DOTALL) != None + + +-t = BoostBuild.Tester(match=match_re, boost_build_path="", pass_toolset=0) ++t = BoostBuild.Tester(match=match_re, boost_build_path="/invalid/location", pass_toolset=0) + t.set_tree("startup") + check_for_existing_boost_build_jam(t) + diff --git a/dev-util/boost-build/files/boost-build-1.54.0-support_dots_in_python-buildid.patch b/dev-util/boost-build/files/boost-build-1.54.0-support_dots_in_python-buildid.patch new file mode 100644 index 0000000..bddcdac --- /dev/null +++ b/dev-util/boost-build/files/boost-build-1.54.0-support_dots_in_python-buildid.patch @@ -0,0 +1,19 @@ +--- tools/common.jam.orig 2013-08-27 12:13:56.865158748 +0400 ++++ tools/common.jam 2013-08-27 12:15:08.760162210 +0400 +@@ -763,7 +763,15 @@ + switch $(f:G) + { + case <base> : +- result += $(name:B) ; ++ local matched = [ MATCH "^(boost.*python)-.*" : $(name) ] ; ++ if $(matched) = boost_python || $(matched) = boost_mpi_python ++ { ++ result += $(name) ; ++ } ++ else ++ { ++ result += $(name:B) ; ++ } + + case <toolset> : + result += [ join-tag $(f:G=) : [ toolset-tag $(name) : $(type) : diff --git a/dev-util/boost-build/files/boost-build-1.55.0-ppc-aix.patch b/dev-util/boost-build/files/boost-build-1.55.0-ppc-aix.patch new file mode 100644 index 0000000..a521309 --- /dev/null +++ b/dev-util/boost-build/files/boost-build-1.55.0-ppc-aix.patch @@ -0,0 +1,13 @@ +https://svn.boost.org/trac/boost/ticket/10122 + +--- engine/mem.h ++++ engine/mem.h +@@ -8,6 +8,8 @@ + #ifndef BJAM_MEM_H + #define BJAM_MEM_H + ++#include "jam.h" ++ + #ifdef OPT_BOEHM_GC + + /* Use Boehm GC memory allocator. */ diff --git a/dev-util/boost-build/files/site-config.jam b/dev-util/boost-build/files/site-config.jam new file mode 100644 index 0000000..6afe526 --- /dev/null +++ b/dev-util/boost-build/files/site-config.jam @@ -0,0 +1,11 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) + +# Define two new variants to be used when building boost (or separate boost-libs) +# on Gentoo. The two variants make use of Gentoo-specific optimization and debug-symbols +# values "none" which are not part of the official boost distribution. +# DO NOT RELY ON THE FOLLOWING VARIANTS TO BE PRESENT ON OTHER OS! +variant gentoorelease : release : <optimization>none <debug-symbols>none <runtime-link>shared ; +variant gentoodebug : debug : <optimization>none <debug-symbols>on <runtime-link>shared ; + diff --git a/dev-util/boost-build/metadata.xml b/dev-util/boost-build/metadata.xml new file mode 100644 index 0000000..031ebfc --- /dev/null +++ b/dev-util/boost-build/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>cpp</herd> + <upstream> + <remote-id type="sourceforge">boost</remote-id> + </upstream> +</pkgmetadata> |