aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Fish <gentoo@seaofdirac.net>2016-10-15 20:36:03 +0200
committerNicholas Fish <gentoo@seaofdirac.net>2016-10-15 20:36:03 +0200
commitc8bdaa4ab07a8d999d1dee7456a86b51e7699fbf (patch)
tree6b73640f152b9dd8c37bac065dd83b00becd1dab
parentAdd musl-1.1.15 ebuild with a patch to add Felix Janda's pthread_setname_np()... (diff)
downloadennui-c8bdaa4ab07a8d999d1dee7456a86b51e7699fbf.tar.gz
ennui-c8bdaa4ab07a8d999d1dee7456a86b51e7699fbf.tar.bz2
ennui-c8bdaa4ab07a8d999d1dee7456a86b51e7699fbf.zip
Add patch to enable programs making use of Boost.Asio >=1.62.0 to build against LibreSSL
-rw-r--r--dev-libs/boost/Manifest21
-rw-r--r--dev-libs/boost/boost-1.62.0-r2.ebuild (renamed from dev-libs/boost/boost-1.60.0-r99.ebuild)192
-rw-r--r--dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch4
-rw-r--r--dev-libs/boost/files/boost-1.48.0-disable_libboost_python3.patch4
-rw-r--r--dev-libs/boost/files/boost-1.48.0-no_strict_aliasing_python2.patch4
-rw-r--r--dev-libs/boost/files/boost-1.48.0-python_linking.patch4
-rw-r--r--dev-libs/boost/files/boost-1.51.0-respect_python-buildid.patch12
-rw-r--r--dev-libs/boost/files/boost-1.51.0-support_dots_in_python-buildid.patch8
-rw-r--r--dev-libs/boost/files/boost-1.56.0-build-auto_index-tool.patch4
-rw-r--r--dev-libs/boost/files/boost-1.62.0-libressl.patch56
-rw-r--r--dev-libs/boost/metadata.xml12
-rw-r--r--net-libs/rb_libtorrent/Manifest2
-rw-r--r--net-libs/rb_libtorrent/rb_libtorrent-1.1.1-r1.ebuild106
13 files changed, 317 insertions, 112 deletions
diff --git a/dev-libs/boost/Manifest b/dev-libs/boost/Manifest
index 88c505c..94e8907 100644
--- a/dev-libs/boost/Manifest
+++ b/dev-libs/boost/Manifest
@@ -1,11 +1,12 @@
-AUX boost-1.48.0-disable_icu_rpath.patch 1073 SHA256 e1c947d20f0864e22f6dd2b091da6948bb51aec0d3323c37fe4264ddf57204b4 SHA512 efb62b65dbcb52258dcca074997a0380dfc52f48161777a8b6f9672179247e534e098784dcbb574826f495981fd2189290c7fe733d943bba2b668bb62ef50087 WHIRLPOOL 6f9a142e15bf3674114f2b07c8708055888e74cda4c3c775ca5470e8f54c921aa12660a1f905a370ec5f44f16b73f05025d3ff1ccad557d379ff55ad3ad0a8f0
-AUX boost-1.48.0-disable_libboost_python3.patch 1509 SHA256 0b229762863b72a5faa39ea57538f757548abc492325e6458d3801fd49e4804e SHA512 5aa0eb72365a0674d7d654b924c3189501495c22cc1eb50dc1ce7aaee941ba418c17857475ebbcc4d8f8102100d889aa1c059e3782dbff9eb03ff101bea2ffbb WHIRLPOOL 5710ac3ecf1f6d18db0307f07c720d12646666ec83adde2b2464cb87c901d57088e98801720efb176420f9728967c8752382b15ca69f632b00852d51be412795
-AUX boost-1.48.0-no_strict_aliasing_python2.patch 741 SHA256 d11db74992a7a692f655b36c1cd78355fcec6703007fde522b6a82c88f171689 SHA512 cd06ba8bf5623a5ca590cbd024ba27fae14d1d2a193ccd4baf91b06c5d41b6442f40561fa49b5ba14deb0c156d5773fc4a15890a85b6cea35cab91d54e94aa6e WHIRLPOOL 1b5cce1374f56d702213d7479beb90d15413c90010442a37a46821f383afa371aac3de49e657e7623d6e9079d1e3b07353233aa40218b760042161effedd813a
-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.48.0-disable_icu_rpath.patch 1077 SHA256 26aba4b06789cff12b3f96ae3c269db9aae3eabe1acb62035e3217c3b27a89aa SHA512 013503fd16bcb609c624c9952a5448e612b81150db9ce60b5a51acbb57b62ce1cf0e7c5dd4a58c110ca7895c86effef24d8fe55ea3f316c9e47d5c549a33180c WHIRLPOOL ae630623f7f3cf6bec63c63b01b2e58cce5e3aecfebcf54144a9f0130dae0c10a94f7f11cd29734e52df2741fb62ed72983a35e4c1b854cf7c939fed5477c616
+AUX boost-1.48.0-disable_libboost_python3.patch 1513 SHA256 3e0d634e7a9c03c02986abc6fdb39532aa22e4cf5236a25946251e29e769b405 SHA512 9a2b189530af9fa149203f0621b171461f11212306aeb4d94075a2896ed97abb12d47e6bc0429814405829244604044c2101ad34686a10b12ebe3536b2289ed7 WHIRLPOOL d4ad2e099ea443600b493d4f97047002c5f6d1be6607b03de22bfbf3abcccb8abd452403714811aede72be6462154d324a31c7189de627998f432d96750d56cd
+AUX boost-1.48.0-no_strict_aliasing_python2.patch 745 SHA256 f355100a66059afc1c50b243e800a31c1c876c112f5ec7b6efb3c3480aca492b SHA512 ad4c7b8ec59154e2e9588b72a23453f4dc915eecc87a065b10eccc6f713e4a55270f0766bad7766c53dfb934e4d94a25d006567c9e18d0e7dc32649f5a601296 WHIRLPOOL c19224ecf056cfe82762b37a901458def62497a6c555a7236eea04746739ace0c5a6b4835956cab909f9f2f72e346ce6084cfb8ab0e9ad3b9510935db1737308
+AUX boost-1.48.0-python_linking.patch 1282 SHA256 11d283d41767253a9cae3ff2526ed829f6333158e9460ba42f1215746d3c240c SHA512 9aff888908476107bde818f306fafd855408d214dd13abd3406339b911ba3c56a7a76ac2a549c63be16ba73a86275860fc1bf78c2fd976c872772b4199ecedb6 WHIRLPOOL aa89c864b800ba29c77e0ef82d1dd50ed007b36c02c4e6a005ccdae0ddafaf0491cce37801f5e574fb2830669f57b28d82c19edb719dc847eab4fd53043ac999
+AUX boost-1.51.0-respect_python-buildid.patch 1577 SHA256 8a029d597a233eb7efff3fc1fa8c622f6d616f35185cd7e531669b9915247de8 SHA512 bbe7e586a95c615d51612bf0404c07179b07c33a33e67957af5056ff80f44c620f81244d7fe30519f08f2d19e1d87f8fa09fa32c7f5d37f6f13de4590c050731 WHIRLPOOL 8aa6115b15c4402cadfc42b825a145a2b61892211031431def5452ca73ce441adba197690ff7a85cf13a831f8ae8b016b97611b1e164351eb0707597d99d2fd8
+AUX boost-1.51.0-support_dots_in_python-buildid.patch 617 SHA256 7c4e5dd3e0e148fde5f3b008d08160ebd71250aaa01c5e685d667e0cc296a054 SHA512 667452299f96ac3008340f901c6a5355956676b10f82134e650f8c8e06e7c6f8814c2b92d07e958c31b11e013601c0b3ad4020cdc35bbd558761fcd33bb68b3c WHIRLPOOL 26ddfe5c9473ce704b6ca11b9380148028e6a05f5ec62fbf4363d4ced0533d68190d000e975e1151acce67eef3a8430f2dba35a31605a97ff500752d367fb0e9
AUX boost-1.55.0-context-x32.patch 1077 SHA256 1da4ff48b98416cac601c52594d4c4da3fb89d0a3e8908f119f05cc8ae76f9c7 SHA512 0e2e45abe5833396508666355e26bafe114fa4ada628b24d8d9953268edddcb2f8e3dcfe8bc7f27d6c1794418990dc9ef914c936dfa64ed6e5e647a40e3f8a73 WHIRLPOOL 0b7a3521a8ec513b833d0292fa3e3bcafc8232fa96d2e41afd25da8dc30bdb49ee4319c7c8555d95e7d3de55fc704d83e443ba49bf89d6961a3f5af73c024a71
-AUX boost-1.56.0-build-auto_index-tool.patch 408 SHA256 36bbd2652654b48c27eb4297d06968c8bdcdf78eec34127d775fad2b9689ac2a SHA512 916d7060003bceb6ee345de5fad9a4f44ec43473b119bab4cc057360d07b7be89bdab5e9d393df28171a4d1679ac0a3089f2096d5a6554ee2e00bc0805d2cbe2 WHIRLPOOL 172059b31b9128cda03e9119f6deac1a0fde373542e96493156f6e3527c65c7ec8fe16611568b0aed07b2f5ffc3440462386d47557ef7e84d855c8df2acbbea8
-DIST boost_1_60_0.tar.bz2 76553944 SHA256 686affff989ac2488f79a97b9479efb9f2abae035b5ed4d8226de6857933fd3b SHA512 7c851b3fc2b322ff05d642d9cf03e7c30c5f04d5cf0579c99046b1ec708901c58a3d349031dfe24591f5b88c1e664b6a0d40abea6cce89abb52080c02eb725df WHIRLPOOL 828b0797a8b62150ecef5ee13f0e8b8d6b6a0e7365511ec9782d2d8f3a26ac38a98f10876c40d05ea46697c013b1f96f22b3a24c449372520c84bb725059fe48
-EBUILD boost-1.60.0-r99.ebuild 12169 SHA256 cea824453aeb6aa788e269673011363624a645db1da4699732702f378aaeeb98 SHA512 f056bc6fc8bb9cb86c0182fc67d356d105a0cd0ea6e132235671c9e7da2d7d9eb7cb259b2091a0985ee8ef3db341a6f74d35f13c1bd8368dfc4cc758c097e8ea WHIRLPOOL fba96e570bb4cbc8b925de81b3fa248531fab9362e8187794f9cba12961445ef397ae2a97086002d92fbe8f1d6b14ea0049da0a2b79bbfd667ff114a6067f8ab
-MISC metadata.xml 1421 SHA256 e8165c32ec94a53a4a7506562266a61923cab8ba8c4ed4a66eb63a765405b0e3 SHA512 71872caa09cd6f240b4ba83e98207cec33d7391feaafc40d5ca5b6939983e7f6efd1e177a0f60f365054b046db4d7a0147f7455123e8eee9f942db15809fdbd7 WHIRLPOOL fcdd5e2b37239c17a1a6c1e136d4835539efadab230544651a8c7b0814f14c8a861a8440f08694a228de4a0b4769961f6d01b81730af06d1a98eafb3af937e13
+AUX boost-1.56.0-build-auto_index-tool.patch 412 SHA256 02cbad68d52513860ffbdc2e56be1087dd0bd73423b9b51b122bdc015dbd4a4c SHA512 9fe245adddf76375d0ee8066952c46d229c9e37fdce83ff608fcc1fb5942b1c226a0fba6e28f859bbcd58863dc49a356f32c7fcc3b90baca4069c6bdc9c0f203 WHIRLPOOL 4a55212ce969b389c1288496448114b131c70c92f6a4e26c8667c0d24138cdd813026b3a19698667e5aa0418cca9f690820017de06a19376fd63e00898a1d555
+AUX boost-1.62.0-libressl.patch 2607 SHA256 6f69729c4a69983ec3d12b3fa44b052457aeaf09705397d8b74a7a0d4905e6e8 SHA512 d3a51aaa60b7b98c873136833d2f732c0c7197dd4ebfef05cfc4b7584eb4d7b8fb41e665947182c13ab9476c1b8d80e3888241c21cba0a6b11078b3c689ba022 WHIRLPOOL 89e8fea9a97a91d7dca501c98b8f1a953d9442c0e80a5fe809b2c1edb4dc9e8511db37a11151dfb4d471b2dc5d4231659bf3091fa8bbbc5ed30001715b17882d
+DIST boost_1_62_0.tar.bz2 84513338 SHA256 36c96b0f6155c98404091d8ceb48319a28279ca0333fba1ad8611eb90afb2ca0 SHA512 5385ae3d5255a433a704169ad454d8dc2b0b5bcae3fb23defd6570df4ff7d845cf9fcbeebccdc1c5db0eec9f82ee3d90040de9507c8167467c635d3b215463be WHIRLPOOL 49c4558d5e6d72084f083a76217e3d97b504f112d7e4d228eded72dc49fa7e675ba943a9fc52a3c27d296ee689aee27d4566796c6eae71cf647430285777c0fb
+EBUILD boost-1.62.0-r2.ebuild 12553 SHA256 730e003268e2b54927df73645b2f8b9e7f63f7712af28e3a9d040f564843246d SHA512 c66df8b6e60201441eac63e4f5fdaf89bd4cc5c06cb458c2d6799f1ee431aee601effae55bbaa44e68b2b6795a6ab16882fbe374ce3c2168f0662535783739a0 WHIRLPOOL 27b63dc83cace1f82b8b8e552dd447cc7e69f95d7367cd1af457644221939ff33a0b04f62ab0c969914f4b83353abbf8d9e563c37af8e67a361e370123f5995e
+MISC metadata.xml 1654 SHA256 aec7f8916bd76fc5c14a23487e21c9e091a5999ce137c9e054a9db4bbfd06d19 SHA512 13f013eeea54d202881c252764d52dc65e74b585e1aed15f79042f3efcfda7f00c0e6f9047cefbb5ef789aa936e7c231201caf0757ddfedb9f5ba060d810973a WHIRLPOOL 6b765cbe8bce0b84e5a8cfb36d840667cdfe9143da6ccc4d0fc3d250f98a4f3024e7e92549c806b53c02d0937d9378a0d0b35503fedaede1b861eb4edb872ba9
diff --git a/dev-libs/boost/boost-1.60.0-r99.ebuild b/dev-libs/boost/boost-1.62.0-r2.ebuild
index 15f08a9..2605fa2 100644
--- a/dev-libs/boost/boost-1.60.0-r99.ebuild
+++ b/dev-libs/boost/boost-1.62.0-r2.ebuild
@@ -1,29 +1,30 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 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} )
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_4,3_5} )
-inherit eutils flag-o-matic multilib multiprocessing python-r1 toolchain-funcs versionator multilib-minimal
+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="http://www.boost.org/"
-SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
+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-fbsd ~x86-fbsd ~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 \
+ ~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}] )
+RDEPEND="icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
!icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- mpi? ( virtual/mpi[cxx,threads] )
+ mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP},cxx,threads] )
python? ( ${PYTHON_DEPS} )
app-arch/bzip2[${MULTILIB_USEDEP}]
sys-libs/zlib[${MULTILIB_USEDEP}]
@@ -43,6 +44,18 @@ S="${WORKDIR}/${MY_P}"
# there is no point in having them in the ebuild to begin with.
RESTRICT="test"
+PATCHES=(
+ "${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.56.0-build-auto_index-tool.patch"
+ "${FILESDIR}/${PN}-1.62.0-libressl.patch"
+)
+
python_bindings_needed() {
multilib_is_native_abi && use python
}
@@ -51,11 +64,6 @@ 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
@@ -70,7 +78,7 @@ create_user-config.jam() {
fi
local mpi_configuration python_configuration
- if mpi_needed; then
+ if use mpi; then
mpi_configuration="using mpi ;"
fi
@@ -91,7 +99,7 @@ create_user-config.jam() {
fi
fi
- cat > "${BOOST_ROOT}/user-config.jam" << __EOF__
+ cat > "${BOOST_ROOT}/user-config.jam" << __EOF__ || die
using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
${mpi_configuration}
${python_configuration}
@@ -100,48 +108,46 @@ __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" ||
+ 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 "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."
+ 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.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.56.0-build-auto_index-tool.patch"
+ 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
- epatch_user
-
multilib_copy_sources
}
ejam() {
- local b2_opts="--user-config=${BOOST_ROOT}/user-config.jam $@"
- echo b2 ${b2_opts}
- b2 ${b2_opts}
+ 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"
+ [[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64"
- OPTIONS="$(usex debug gentoodebug gentoorelease) -j$(makeopts_jobs) -q -d+2"
+ 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
@@ -163,21 +169,45 @@ src_configure() {
[[ $(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 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"
- 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)"
+ 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-coroutine2
+ )
+ use threads || OPTIONS+=(
+ --without-thread
+ )
- [[ ${CHOST} == *-winnt* ]] && OPTIONS+=" -sNO_BZIP2=1"
+ 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() {
@@ -196,7 +226,7 @@ multilib_src_compile() {
fi
ejam \
- ${OPTIONS} \
+ "${OPTIONS[@]}" \
${PYTHON_OPTIONS} \
|| die "Building of Boost libraries failed"
@@ -215,7 +245,7 @@ multilib_src_compile() {
|| die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
done
- if mpi_needed; then
+ 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
@@ -239,44 +269,44 @@ multilib_src_compile() {
fi
if tools_needed; then
- pushd tools > /dev/null || die
+ pushd tools >/dev/null || die
ejam \
- ${OPTIONS} \
+ "${OPTIONS[@]}" \
${PYTHON_OPTIONS} \
|| die "Building of Boost tools failed"
- popd > /dev/null || die
+ popd >/dev/null || die
fi
}
multilib_src_install_all() {
if ! use python; then
- rm -r "${ED}"/usr/include/boost/python* || die
+ rm -r "${ED%/}"/usr/include/boost/python* || die
fi
if ! use nls; then
- rm -r "${ED}"/usr/include/boost/locale || die
+ 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
+ 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 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
+ # 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
- insinto /usr/share/doc/${PF}/html
- doins LICENSE_1_0.txt
+ dodoc LICENSE_1_0.txt
dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
fi
@@ -295,7 +325,7 @@ multilib_src_install() {
|| die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
done
- if mpi_needed; then
+ 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 \
@@ -307,10 +337,10 @@ multilib_src_install() {
fi
ejam \
- ${OPTIONS} \
+ "${OPTIONS[@]}" \
${PYTHON_OPTIONS} \
- --includedir="${ED}usr/include" \
- --libdir="${ED}usr/$(get_libdir)" \
+ --includedir="${ED%/}/usr/include" \
+ --libdir="${ED%/}/usr/$(get_libdir)" \
install || die "Installation of Boost libraries failed"
if python_bindings_needed; then
@@ -318,11 +348,11 @@ multilib_src_install() {
# Move mpi.so Python module to Python site-packages directory.
# https://svn.boost.org/trac/boost/ticket/2838
- if mpi_needed; then
+ 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
+ mv "${ED%/}/usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die
cat << EOF > "${D}${moddir}/__init__.py" || die
import sys
if sys.platform.startswith('linux'):
@@ -347,7 +377,7 @@ EOF
installation
fi
- pushd "${ED}usr/$(get_libdir)" > /dev/null || die
+ pushd "${ED%/}/usr/$(get_libdir)" >/dev/null || die
local ext=$(get_libname)
if use threads; then
@@ -357,7 +387,7 @@ EOF
done
fi
- popd > /dev/null || die
+ popd >/dev/null || die
if tools_needed; then
dobin dist/bin/*
@@ -374,7 +404,7 @@ EOF
if [[ ${CHOST} == *-darwin* ]]; then
einfo "Working around completely broken build-system(tm)"
local d
- for d in "${ED}"usr/lib/*.dylib; do
+ for d in "${ED%/}"/usr/lib/*.dylib; do
if [[ -f ${d} ]]; then
# fix the "soname"
ebegin " correcting install_name of ${d#${ED}}"
@@ -404,7 +434,9 @@ 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
- [[ -L ${symlink} ]] && rm -f "${symlink}"
+ for symlink in "${EROOT%/}/usr/include/boost" "${EROOT%/}/usr/share/boostbook"; do
+ if [[ -L ${symlink} ]]; then
+ rm -f "${symlink}" || die
+ fi
done
}
diff --git a/dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch b/dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch
index a902d61..23a8783 100644
--- a/dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch
+++ b/dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch
@@ -1,5 +1,5 @@
---- libs/locale/build/Jamfile.v2
-+++ libs/locale/build/Jamfile.v2
+--- a/libs/locale/build/Jamfile.v2
++++ b/libs/locale/build/Jamfile.v2
@@ -58,8 +58,8 @@
if $(ICU_LINK)
diff --git a/dev-libs/boost/files/boost-1.48.0-disable_libboost_python3.patch b/dev-libs/boost/files/boost-1.48.0-disable_libboost_python3.patch
index c24a56c..d456040 100644
--- a/dev-libs/boost/files/boost-1.48.0-disable_libboost_python3.patch
+++ b/dev-libs/boost/files/boost-1.48.0-disable_libboost_python3.patch
@@ -1,5 +1,5 @@
---- libs/python/build/Jamfile.v2
-+++ libs/python/build/Jamfile.v2
+--- a/libs/python/build/Jamfile.v2
++++ b/libs/python/build/Jamfile.v2
@@ -39,23 +39,6 @@
PYTHON_ID = [ regex.replace $(python-id) "[*\\/:\"\']" "_" ] ;
}
diff --git a/dev-libs/boost/files/boost-1.48.0-no_strict_aliasing_python2.patch b/dev-libs/boost/files/boost-1.48.0-no_strict_aliasing_python2.patch
index 89f8109..cb26792 100644
--- a/dev-libs/boost/files/boost-1.48.0-no_strict_aliasing_python2.patch
+++ b/dev-libs/boost/files/boost-1.48.0-no_strict_aliasing_python2.patch
@@ -1,5 +1,5 @@
---- libs/python/build/Jamfile.v2
-+++ libs/python/build/Jamfile.v2
+--- a/libs/python/build/Jamfile.v2
++++ b/libs/python/build/Jamfile.v2
@@ -85,6 +85,12 @@
rule lib_boost_python ( is-py3 ? )
{
diff --git a/dev-libs/boost/files/boost-1.48.0-python_linking.patch b/dev-libs/boost/files/boost-1.48.0-python_linking.patch
index e7f4e7c..330cbb1 100644
--- a/dev-libs/boost/files/boost-1.48.0-python_linking.patch
+++ b/dev-libs/boost/files/boost-1.48.0-python_linking.patch
@@ -1,5 +1,5 @@
---- libs/python/build/Jamfile.v2
-+++ libs/python/build/Jamfile.v2
+--- a/libs/python/build/Jamfile.v2
++++ b/libs/python/build/Jamfile.v2
@@ -109,20 +109,7 @@
<link>static:<define>BOOST_PYTHON_STATIC_LIB
<define>BOOST_PYTHON_SOURCE
diff --git a/dev-libs/boost/files/boost-1.51.0-respect_python-buildid.patch b/dev-libs/boost/files/boost-1.51.0-respect_python-buildid.patch
index 327429e..17a6816 100644
--- a/dev-libs/boost/files/boost-1.51.0-respect_python-buildid.patch
+++ b/dev-libs/boost/files/boost-1.51.0-respect_python-buildid.patch
@@ -1,7 +1,7 @@
https://svn.boost.org/trac/boost/ticket/6286
---- boostcpp.jam
-+++ boostcpp.jam
+--- a/boostcpp.jam
++++ b/boostcpp.jam
@@ -99,13 +99,6 @@
BUILD_ID = [ regex.replace $(build-id) "[*\\/:.\"\' ]" _ ] ;
}
@@ -16,8 +16,8 @@ https://svn.boost.org/trac/boost/ticket/6286
################################################################################
#
---- libs/mpi/build/Jamfile.v2
-+++ libs/mpi/build/Jamfile.v2
+--- a/libs/mpi/build/Jamfile.v2
++++ b/libs/mpi/build/Jamfile.v2
@@ -8,6 +8,8 @@
# Authors: Douglas Gregor
# Andrew Lumsdaine
@@ -41,8 +41,8 @@ https://svn.boost.org/trac/boost/ticket/6286
rule tag ( name : type ? : property-set )
{
local result = $(name) ;
---- libs/python/build/Jamfile.v2
-+++ libs/python/build/Jamfile.v2
+--- a/libs/python/build/Jamfile.v2
++++ b/libs/python/build/Jamfile.v2
@@ -2,6 +2,8 @@
# Software License, Version 1.0. (See accompanying
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/dev-libs/boost/files/boost-1.51.0-support_dots_in_python-buildid.patch b/dev-libs/boost/files/boost-1.51.0-support_dots_in_python-buildid.patch
index c8dc6e1..a8912eb 100644
--- a/dev-libs/boost/files/boost-1.51.0-support_dots_in_python-buildid.patch
+++ b/dev-libs/boost/files/boost-1.51.0-support_dots_in_python-buildid.patch
@@ -1,5 +1,5 @@
---- libs/mpi/build/Jamfile.v2
-+++ libs/mpi/build/Jamfile.v2
+--- a/libs/mpi/build/Jamfile.v2
++++ b/libs/mpi/build/Jamfile.v2
@@ -30,7 +30,7 @@
python-id = [ option.get "python-buildid" ] ;
if $(python-id)
@@ -9,8 +9,8 @@
}
rule tag ( name : type ? : property-set )
---- libs/python/build/Jamfile.v2
-+++ libs/python/build/Jamfile.v2
+--- a/libs/python/build/Jamfile.v2
++++ b/libs/python/build/Jamfile.v2
@@ -36,7 +36,7 @@
python-id = [ option.get "python-buildid" ] ;
if $(python-id)
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
index 5175800..48ca513 100644
--- 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
@@ -1,8 +1,8 @@
Build auto_index tool with USE="tools"
Gentoo bug report: https://bugs.gentoo.org/show_bug.cgi?id=529066
---- tools/Jamfile.v2.orig 2014-12-24 12:57:32.290880067 +0300
-+++ tools/Jamfile.v2 2014-12-24 12:58:38.403883250 +0300
+--- 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 ;
diff --git a/dev-libs/boost/files/boost-1.62.0-libressl.patch b/dev-libs/boost/files/boost-1.62.0-libressl.patch
new file mode 100644
index 0000000..13feb54
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.62.0-libressl.patch
@@ -0,0 +1,56 @@
+--- boost_1_62_0/boost/asio/ssl/impl/context.ipp.orig 2016-10-15 18:46:57.067715180 +0200
++++ boost_1_62_0/boost/asio/ssl/impl/context.ipp 2016-10-15 18:59:36.436002493 +0200
+@@ -228,7 +228,7 @@
+ {
+ if (handle_)
+ {
+-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER))
+ void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
+ #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
+ void* cb_userdata = handle_->default_passwd_callback_userdata;
+@@ -239,7 +239,7 @@
+ static_cast<detail::password_callback_base*>(
+ cb_userdata);
+ delete callback;
+-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER))
+ ::SSL_CTX_set_default_passwd_cb_userdata(handle_, 0);
+ #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
+ handle_->default_passwd_callback_userdata = 0;
+@@ -578,7 +578,7 @@
+ bio_cleanup bio = { make_buffer_bio(chain) };
+ if (bio.p)
+ {
+-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER))
+ pem_password_cb* callback = ::SSL_CTX_get_default_passwd_cb(handle_);
+ void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
+ #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
+@@ -682,7 +682,7 @@
+ {
+ ::ERR_clear_error();
+
+-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER))
+ pem_password_cb* callback = ::SSL_CTX_get_default_passwd_cb(handle_);
+ void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
+ #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
+@@ -749,7 +749,7 @@
+ {
+ ::ERR_clear_error();
+
+-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER))
+ pem_password_cb* callback = ::SSL_CTX_get_default_passwd_cb(handle_);
+ void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
+ #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
+@@ -988,7 +988,7 @@
+ boost::system::error_code context::do_set_password_callback(
+ detail::password_callback_base* callback, boost::system::error_code& ec)
+ {
+-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER))
+ void* old_callback = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
+ ::SSL_CTX_set_default_passwd_cb_userdata(handle_, callback);
+ #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
diff --git a/dev-libs/boost/metadata.xml b/dev-libs/boost/metadata.xml
index 6a63ade..82b66b2 100644
--- a/dev-libs/boost/metadata.xml
+++ b/dev-libs/boost/metadata.xml
@@ -1,11 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <herd>cpp</herd>
+ <maintainer type="project">
+ <email>cpp@gentoo.org</email>
+ <name>Gentoo C++ Project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>office@gentoo.org</email>
+ <description>Please CC on stabilisation bugs</description>
+ </maintainer>
+
<use>
<flag name="context">
Build and install the Boost.Context library and all other
- Boostlibraries that depends on it
+ Boost libraries that depend on it
</flag>
<flag name="tools">
Build and install the boost tools (bcp, quickbook, inspect,
diff --git a/net-libs/rb_libtorrent/Manifest b/net-libs/rb_libtorrent/Manifest
index 352a6f1..65e3a01 100644
--- a/net-libs/rb_libtorrent/Manifest
+++ b/net-libs/rb_libtorrent/Manifest
@@ -1,3 +1,5 @@
DIST rb_libtorrent-1.1.0.tar.gz 2616752 SHA256 7fcee97fef870aeaa6c04e143abdc45536251353af83e23d221e62f152febf19 SHA512 6b8e7ccd38b7799a87503343a08c4f273abd1661bab0cfaf9c13bd055b43ff8f8ab69e2004e53fffb1316c986a511995d401118bfc817577e5a9433668c564c0 WHIRLPOOL 6c2acf035754d65ede98fd833ce8b169d3c9e2ed7a3186e9a1c80e0906af61a577826aee2de90ee80a307f77aa544155a982b6ab68deded8deda109bb52d1cf2
+DIST rb_libtorrent-1.1.1.tar.gz 2635159 SHA256 727015a1b6a82995aa0ab508c97c45f80fe0e97d3f430bf9c6f37208698f0585 SHA512 90137b616ddd1e6593e73568fa3aa36ba6887e810239e705ef4f5c6bafbf4ace0ffbf5ad5deecca9de2603c46e108c12108038fa02583c70b22fbd611ba6d539 WHIRLPOOL b53de548929eb59ff7b1b959e304b066a06c2f276b0bde4b8bd635fe96a3753fc30182b2bb479b92e8588705ea5d9c05810e092242d5c064218947659b86d861
EBUILD rb_libtorrent-1.1.0-r1.ebuild 2369 SHA256 9edc3c8c3af1a1a21bfc9635771b6bce55c72443c368f0714aa26d4ef7a6b60a SHA512 d8d4d15c9f8a97d24d1eef3e5a9d4d2bb3f1e8216cba657622eeca3cd3b629b80b54c74b9da6de983672a23168e14b1d08d03e6228375a582d7da8da320313fb WHIRLPOOL 34fcec9fc53a5087288a536a4a7df844bc0e04f014c0694a2b28423bef2fab6360c34ec4105dd550205714b047255007f961ceac9de2e6620882c87a98730786
+EBUILD rb_libtorrent-1.1.1-r1.ebuild 2371 SHA256 7689271f74e09bca5f586dca750d00a060c24156be5b8a1f03ccf6f992aba6ef SHA512 7c0dbe075ede765c1da0a4bdd0d56f7e470856ec46ab1abeed873d92b018c870567962257d36b4f8deedf54ad9c9ab23d980d26219bbd855ce49e831cc213573 WHIRLPOOL 3e5f735bcfbd4041b5124178aaafa1828dd73c35f8bfda972d08458eb343657000948641b65594c6a0b75c687f7c3d239d9e8626951e8de27688fea8920abd54
MISC metadata.xml 456 SHA256 1daede0b12f2a7fe301c1132f5030f5ea6880069baacd35209b4b9cf4b09b858 SHA512 13e4d80c61b0f3c52d2353cb47512a6f6861e81804d7cc1a49c2db7acb2fe12028b3364843429237fceb91e12a6c1575c3d5199c01ef600644532065fc983bcd WHIRLPOOL 8ffc672aadc78475ca29f11874b6caacc967d0d8e17dba42df192b55c78666d514abd3de13c6ef0a83ddcdc5d0c0a9a882543913312b96900467cb4fe9fcefd3
diff --git a/net-libs/rb_libtorrent/rb_libtorrent-1.1.1-r1.ebuild b/net-libs/rb_libtorrent/rb_libtorrent-1.1.1-r1.ebuild
new file mode 100644
index 0000000..af1f809
--- /dev/null
+++ b/net-libs/rb_libtorrent/rb_libtorrent-1.1.1-r1.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{4,5} )
+PYTHON_REQ_USE="threads"
+DISTUTILS_OPTIONAL=true
+DISTUTILS_IN_SOURCE_BUILD=true
+
+inherit autotools distutils-r1 versionator
+
+MY_PV="1_1_1"
+S=${WORKDIR}/libtorrent-libtorrent-${MY_PV}
+
+DESCRIPTION="C++ BitTorrent implementation focusing on efficiency and scalability"
+HOMEPAGE="http://libtorrent.org"
+SRC_URI="https://github.com/arvidn/libtorrent/archive/libtorrent-${MY_PV}.tar.gz -> rb_libtorrent-${PV}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="debug +dht doc examples libressl python +ssl static-libs test"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ >=dev-libs/boost-1.53:=[threads]
+ sys-libs/zlib
+ virtual/libiconv
+ examples? ( !net-p2p/mldonkey )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl )
+ )
+ python? (
+ ${PYTHON_DEPS}
+ dev-libs/boost:=[python,${PYTHON_USEDEP}]
+ )"
+DEPEND="${RDEPEND}
+ >=sys-devel/libtool-2.2"
+
+RESTRICT="test"
+
+src_prepare() {
+ default
+
+ # make sure lib search dir points to the main `S` dir and not to python copies
+ sed -i "s|-L[^ ]*/src/\.libs|-L${S}/src/.libs|" \
+ -- 'bindings/python/link_flags.in' || die
+
+ # needed or else eautoreconf fails
+ mkdir build-aux && cp {m4,build-aux}/config.rpath || die
+
+ eautoreconf
+
+ use python && python_copy_sources
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-silent-rules # bug 441842
+ --with-boost-system=mt
+ --with-libiconv
+ $(use_enable debug)
+ $(usex debug "--enable-logging=verbose" "")
+ $(use_enable dht)
+ $(use_enable examples)
+ $(use_enable ssl encryption)
+ $(use_enable static-libs static)
+ $(use_enable test tests)
+ )
+ econf "${myeconfargs[@]}"
+
+ python_configure() {
+ local myeconfargs+=(
+ --enable-python-binding
+ --with-boost-python=yes
+ )
+ econf "${myeconfargs[@]}"
+ }
+ use python && distutils-r1_src_configure
+}
+
+src_compile() {
+ default
+
+ python_compile() {
+ cd "${BUILD_DIR}/../bindings/python" || die
+ distutils-r1_python_compile
+ }
+ use python && distutils-r1_src_compile
+}
+
+src_install() {
+ use doc && HTML_DOCS+=( "${S}"/docs )
+
+ default
+
+ python_install() {
+ cd "${BUILD_DIR}/../bindings/python" || die
+ distutils-r1_python_install
+ }
+ use python && distutils-r1_src_install
+}