summaryrefslogtreecommitdiff
path: root/dev-util/boost-build
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-util/boost-build
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-util/boost-build')
-rw-r--r--dev-util/boost-build/Manifest17
-rw-r--r--dev-util/boost-build/boost-build-1.62.0-r1.ebuild139
-rw-r--r--dev-util/boost-build/boost-build-1.63.0.ebuild139
-rw-r--r--dev-util/boost-build/boost-build-1.65.0.ebuild139
-rw-r--r--dev-util/boost-build/files/boost-build-1.48.0-disable_python_rpath.patch11
-rw-r--r--dev-util/boost-build/files/boost-build-1.49.0-darwin-gentoo-toolchain.patch26
-rw-r--r--dev-util/boost-build/files/boost-build-1.50.0-respect-c_ld-flags.patch53
-rw-r--r--dev-util/boost-build/files/boost-build-1.52.0-darwin-no-python-framework.patch17
-rw-r--r--dev-util/boost-build/files/boost-build-1.54.0-fix-test.patch11
-rw-r--r--dev-util/boost-build/files/boost-build-1.54.0-support_dots_in_python-buildid.patch19
-rw-r--r--dev-util/boost-build/files/boost-build-1.55.0-ppc-aix.patch13
-rw-r--r--dev-util/boost-build/files/site-config.jam11
-rw-r--r--dev-util/boost-build/metadata.xml11
13 files changed, 606 insertions, 0 deletions
diff --git a/dev-util/boost-build/Manifest b/dev-util/boost-build/Manifest
new file mode 100644
index 000000000000..5ec58e5a8596
--- /dev/null
+++ b/dev-util/boost-build/Manifest
@@ -0,0 +1,17 @@
+AUX boost-build-1.48.0-disable_python_rpath.patch 341 SHA256 09ef14db30f00f0a23690d732ca9b4bdd908603cadeeec35a5366e1145695b93 SHA512 1bc89bcf7210d6f3fcf88b48c7d173fc76c16dae804a9c927509f7ff525c6c77b09d9fa5c1f02e77ec36dac303d516b3d00bed08626007852a22c400adc992a4 WHIRLPOOL f9548c30eb85643fec84a3b6b7f76d58010d67d318c3efebd79551a8ae57c125fa531a6e46bbf2bd0b895056624483dc80e1ac737ee3e587b1778f39dbeb4e34
+AUX boost-build-1.49.0-darwin-gentoo-toolchain.patch 651 SHA256 574c97624c5ea338a5de966def2059fc465512e097e69f8480879d99a74bad14 SHA512 54606684921997c4d280eae7f6033ef6d02dc76d8c56499db25b359879a5a89e0220ec9733d197c4c482339d9968771ddd90891edf543f11f622595ed2bf43cd WHIRLPOOL dd4e7d1e6010a5192fdf6320f1c26dc7b67e4fcccc90575f71181e731bf6e6cef8918f7e6f9665bb9d4f5b310092dbcfec086c0d85bccfbfbb9f38cf7d19dcc4
+AUX boost-build-1.50.0-respect-c_ld-flags.patch 1868 SHA256 5db88b833f809f69e837fb1163168757ef05f5d7d50a53b83aca90cbeb34d5f3 SHA512 821ceff3027c318191b0959c265c420c9f43b9e8185fc20c902a31efaf7bbaaa4dfe4f01408557f7b89774b15104ad391671f467ad2e70af93235e8a0b8d18ee WHIRLPOOL d15ddf4febcbcbc3f48c18b9f9da22b0852b784fb0f13978c1615626b8cc011a866b5c9107d0c5c7683cdafe7533108f0da3d81ac07d673b30c4320712216251
+AUX boost-build-1.52.0-darwin-no-python-framework.patch 419 SHA256 0f235841e63cef9f7c7dff735d0f8d80e22df8cf635c2082f64f33f5de8b76ac SHA512 23f281c53c3e580a30efbea83e2c63d28021151e299b0086b106d1148f3b20e81237a3141a6842b71403f36cd531a58c4eb7ab5bf030ce0e23aa08198202cc48 WHIRLPOOL 1ef0fd28c4abf6bcacb80004098cee30e9fe8dac94afcd5f348cd1bbce01b3b4e0b6f98a75c1102bcc143eebf0f2c9dde2433aa9991b668e0af55c1960939143
+AUX boost-build-1.54.0-fix-test.patch 363 SHA256 af3522cae66111645521b4ae21c479d5b2c96e49980a004fbb4c9de8d757c938 SHA512 d349ff3040c219c3a9f9f6182ca3f1fe7e25d8f2975dd04e66d8e281caf10a5b27cab5e6fa6240ed57b24524fa045a88ba1cf9220efcf065726c78c68378c5e8 WHIRLPOOL d94445eb62312a2a7fe156d7c7c194db92cf8c0daeec3699be78a8e4f8f4774451bc9b0ac24655c311773334190b82d4ee909d1b3d2b8df4c168d64d7f3c0267
+AUX boost-build-1.54.0-support_dots_in_python-buildid.patch 487 SHA256 2b53ba51832cdf5da613750f226e0a20a6be5e08315be149bd119fb38099aaa7 SHA512 41fbe223120452a6ddf7b8ec9f64b2f653ee3d18b2dfccdba90d9040632f911159ac4102947371e12af7e52ca251aa39db2be9b362251ec86c12860867e50e68 WHIRLPOOL a13dcd8cf3c6e60205e9d749dd82d1dca5ca788f675418f5ab1de760b0395f4f8d98dd697ac8324ea3538721a0855d03b11eaba7d27843a0ca5295cb15b9795f
+AUX boost-build-1.55.0-ppc-aix.patch 228 SHA256 a542a91ac8f2ac969a08655d89d6b5291edbf1e4894295149fa0d1eeade4f53d SHA512 a320bfb744667312230cf601d034217f72e3a78fe06851678c5810bb47c8239007aaeffb5719513696922ffc2d4c2200e60e140b34e3992dc353ad0fc69177fe WHIRLPOOL 196b48c62493b198ec06df39039cc18ef63e35dbb4ee921df5f73d96a31c6ab8adf7452075487c9925d084505f67359f8e129d6d4bf561bb47d6fa1d6e4c5c40
+AUX site-config.jam 688 SHA256 795b0719536a934a1c65cfd4abf09ad4f30ad7d90ad4d55b00c858ee35e8890f SHA512 b65bf1be3133f9f66d3139b00f195a288591bb20a13ba35041507c2c33d7d2da6047c3b02dc27bc4eb21798b91e1262a60e294b7fd4af90808b9de0f5af517df WHIRLPOOL be4e6a1a308dc41e522be919d765b85cb67909ed74d022ca4bf8264ec86ade1caffe8d69a630b21d4abfed1d0c1e8ef079f874046a713fcdf4f0d72f3f0b6386
+DIST boost_1_62_0.tar.bz2 84513338 SHA256 36c96b0f6155c98404091d8ceb48319a28279ca0333fba1ad8611eb90afb2ca0 SHA512 5385ae3d5255a433a704169ad454d8dc2b0b5bcae3fb23defd6570df4ff7d845cf9fcbeebccdc1c5db0eec9f82ee3d90040de9507c8167467c635d3b215463be WHIRLPOOL 49c4558d5e6d72084f083a76217e3d97b504f112d7e4d228eded72dc49fa7e675ba943a9fc52a3c27d296ee689aee27d4566796c6eae71cf647430285777c0fb
+DIST boost_1_63_0.tar.bz2 81984414 SHA256 beae2529f759f6b3bf3f4969a19c2e9d6f0c503edcb2de4a61d1428519fcb3b0 SHA512 c915c5f5778dee49b8e9d0a40f37f90f56fb1fdb1d8ce92d97bf48bc7bc462212487badfe4bbe30b06196d1149cfb221da12ac54e97499b0d4cb6466813bb4ad WHIRLPOOL 28c241785097272a1e0952e529eef082444e4ef35a8d738161e4a491a986d75359d3afe888b2ea91a4a81b6ec7a5772ebea337c9d09377b43f6eed66cac90378
+DIST boost_1_65_0.tar.bz2 82597718 SHA256 ea26712742e2fb079c2a566a31f3266973b76e38222b9f88b387e3c8b2f9902c SHA512 7142650fb8d61e3ef16ba066fc918e087f19e9bc2ad1d6a11fb10bf0d6b1b5ad05ab032f076a5233a1624b3669e952b2cc38b7dc074bbf53018e2970ee90fcdd WHIRLPOOL ca389eff2ffc4836b88688504c187e57f236a5967654e40377792d59dd2e4fc3d6ccb079174eae095ad610ccd683e795964c5011429845b27ab67166f8a82c19
+EBUILD boost-build-1.62.0-r1.ebuild 3916 SHA256 ca05843f63b44f4927195b8d639039f84b2aa759dae692749727aa74a3926d5b SHA512 56673f5714aa82b4ad00be76b7937d332814c6ac3d4e2824861ffc1565aee1d7f79050a8e4201d8f6144acd1be08f5081c997b1453724c266fcae337894178e1 WHIRLPOOL f5bb30048a5bd7ee68b25c0fd5ccf2d522103be685d4bd629e2f75998298b2516453d0a0dbde0c05fc96d6ab11e105765c47c164b410e8125ce55e69e298322a
+EBUILD boost-build-1.63.0.ebuild 3846 SHA256 1df946023553b79ba40441742476ff4967cad94a9d93faef32254097e3c22a36 SHA512 1935e4b6ba2c88b1a623783f26241ab4677873dc3f6acada49214a2b6401a8ae608ae3562013fc4ebbb26f2070d46ff13c61f95174e4ab8da2ea8619cdf12da4 WHIRLPOOL 32b809a856135d662ed45bad751ca17cfb0a721c990509e425ab09e470c019e703767d4147a99d4b091619c92e5e581f58730e2a8b9852f1aa965eb96bc3d523
+EBUILD boost-build-1.65.0.ebuild 3849 SHA256 558401ac239ef3667394def3e2ef7d4851c5934d58d47c36d4a15b1aeecb2cb2 SHA512 fce84e1116e4ff5259d75ed4adf8ac2bb1cbdfd24d5ddcba9f5f964656b3eb737b379bd1d87cbe9b3e02913e3bd4b6bd9e3da91b35f8ee6b0571b8347101c36e WHIRLPOOL 1a47f359b80be66e29f3dc7f65eb113c4f78fc4e4362595c6188444bdef134589cf0fdd4753d2a8b1e7a688fffc4e800ab812669c6ef43f4970e5d88279ddc27
+MISC ChangeLog 6926 SHA256 5b6756f0013121ec09198c73da2d7129ec1ac2b1d6fc61f5747b93dca22eaa12 SHA512 08ca2bc9b31b300716becca8c9d2517ff5f883bb1a9e699c08801422998c5e4d66d081c63365739d656417cf2dbd40d4e6aac11f15bfda0134f8083531d39c19 WHIRLPOOL 437676783bc3e32e926f4f3d73c607c48ac093e92457afc55142b7fed55009cecee6a2ec8d331855ec0450c0aa926663e51c5a2baa89b50b3754e901f5703cf9
+MISC ChangeLog-2015 22458 SHA256 8341068142b55bc555677104798816b8c9a9e135b924faf03d03e6a371003f1f SHA512 b6eee67178faa003cbbee237311dfd302b9544d7c8cfb397a4a26234e6db628e91f3fa802a37dc8df68c88bfd3d5bd156c16e0c33f57e35cb55cd6bfc4513e46 WHIRLPOOL eae5386edd1e2275e2656bf4fba0edfa3adfaa3ecd7cf889eb65177895a91ff1ff31a7e52d2f70b9c3bb7017fffec8045bc607a7ecacd6fca32a9d3b1c1bb33a
+MISC metadata.xml 334 SHA256 247038e2c8e01feb3d58a507761974ec2d1904fedd028be5bf1d1627be82d9d5 SHA512 bc1fa12d69f5711c380a938546914a325ac9dee1b35b2b75136144bbf90190fdc7e113a8eedf26a5c23d1564baf71f936141d71ad715ad6f212f32226601706e WHIRLPOOL e5413e89efb623ebfff8259965a51ed6c6c8d207eeaa6f6ad691b6001945664a72cb9e4dc501c0ee0d560cabc0fdc20d3181b5212e031ee15e357c0ccc72a985
diff --git a/dev-util/boost-build/boost-build-1.62.0-r1.ebuild b/dev-util/boost-build/boost-build-1.62.0-r1.ebuild
new file mode 100644
index 000000000000..2a3d08d3323d
--- /dev/null
+++ b/dev-util/boost-build/boost-build-1.62.0-r1.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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="https://downloads.sourceforge.net/project/boost/boost/${PV}/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 ~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"
+
+PATCHES=(
+ "${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"
+)
+
+pkg_setup() {
+ if use python || use test; then
+ python-single-r1_pkg_setup
+ fi
+}
+
+src_unpack() {
+ tar xjf "${DISTDIR}/${A}" boost_${MY_PV}/tools/build || die "unpacking tar failed"
+}
+
+src_prepare() {
+ default
+
+ pushd ../ >/dev/null || die
+ eapply "${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"
+}
+
+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|27 26 25 24 23 22|${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/boost-build-1.63.0.ebuild b/dev-util/boost-build/boost-build-1.63.0.ebuild
new file mode 100644
index 000000000000..d0a1a9d58114
--- /dev/null
+++ b/dev-util/boost-build/boost-build-1.63.0.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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="https://downloads.sourceforge.net/project/boost/boost/${PV}/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 ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~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"
+
+PATCHES=(
+ "${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"
+)
+
+pkg_setup() {
+ if use python || use test; then
+ python-single-r1_pkg_setup
+ fi
+}
+
+src_unpack() {
+ tar xjf "${DISTDIR}/${A}" boost_${MY_PV}/tools/build || die "unpacking tar failed"
+}
+
+src_prepare() {
+ default
+
+ pushd ../ >/dev/null || die
+ eapply "${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"
+}
+
+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|27 26 25 24 23 22|${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
+
+ if ! use python; then
+ find "${ED%/}/usr/share/boost-build" -iname "*.py" -delete || die "removing experimental python files failed"
+ fi
+
+ dodoc ../notes/{changes,release_procedure,build_dir_option,relative_source_paths}.txt
+
+ if use examples; then
+ docinto examples
+ dodoc -r ../example/.
+ docompress -x /usr/share/doc/${PF}/examples
+ 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/boost-build-1.65.0.ebuild b/dev-util/boost-build/boost-build-1.65.0.ebuild
new file mode 100644
index 000000000000..1909c089d68c
--- /dev/null
+++ b/dev-util/boost-build/boost-build-1.65.0.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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="https://downloads.sourceforge.net/project/boost/boost/${PV}/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 ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~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"
+
+PATCHES=(
+ "${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"
+)
+
+pkg_setup() {
+ if use python || use test; then
+ python-single-r1_pkg_setup
+ fi
+}
+
+src_unpack() {
+ tar xjf "${DISTDIR}/${A}" boost_${MY_PV}/tools/build || die "unpacking tar failed"
+}
+
+src_prepare() {
+ default
+
+ pushd ../ >/dev/null || die
+ eapply "${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"
+}
+
+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|27 26 25 24 23 22|${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
+
+ if ! use python; then
+ find "${ED%/}/usr/share/boost-build" -iname "*.py" -delete || die "removing experimental python files failed"
+ fi
+
+ dodoc ../notes/{changes,release_procedure,build_dir_option,relative_source_paths}.txt
+
+ if use examples; then
+ docinto examples
+ dodoc -r ../example/.
+ docompress -x /usr/share/doc/${PF}/examples
+ 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 000000000000..84734f7473fe
--- /dev/null
+++ b/dev-util/boost-build/files/boost-build-1.48.0-disable_python_rpath.patch
@@ -0,0 +1,11 @@
+--- a/tools/python.jam
++++ b/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.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 000000000000..032feaf9625f
--- /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.
+
+--- a/tools/darwin.jam
++++ b/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-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 000000000000..8775583cbc00
--- /dev/null
+++ b/dev-util/boost-build/files/boost-build-1.50.0-respect-c_ld-flags.patch
@@ -0,0 +1,53 @@
+--- a/engine/build.jam
++++ b/engine/build.jam
+@@ -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
+--- a/engine/build.sh
++++ b/engine/build.sh
+@@ -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 000000000000..cacbe00a7ef9
--- /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
+
+--- a/engine/build.jam
++++ b/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 000000000000..3f8b177c7102
--- /dev/null
+++ b/dev-util/boost-build/files/boost-build-1.54.0-fix-test.patch
@@ -0,0 +1,11 @@
+--- a/test/startup_v2.py
++++ b/test/startup_v2.py
+@@ -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 000000000000..a04aa0b7aab1
--- /dev/null
+++ b/dev-util/boost-build/files/boost-build-1.54.0-support_dots_in_python-buildid.patch
@@ -0,0 +1,19 @@
+--- a/tools/common.jam
++++ b/tools/common.jam
+@@ -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 000000000000..d8b6a5af1e9c
--- /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
+
+--- a/engine/mem.h
++++ b/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 000000000000..6afe52684ccc
--- /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 000000000000..ef3f9148d5aa
--- /dev/null
+++ b/dev-util/boost-build/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cpp@gentoo.org</email>
+ <name>Gentoo C++ Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">boost</remote-id>
+ </upstream>
+</pkgmetadata>