summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2021-12-11 01:11:43 +0000
committerSam James <sam@gentoo.org>2021-12-11 01:16:17 +0000
commit68bc7de6a6d3ec4d00500b6886beb90feb3afb45 (patch)
treed2b6a43eec38c5aba32e7cc8aad5b5186b146e5f /net-libs/libtorrent-rasterbar
parentdev-util/clazy: use llvm.eclass to declare compatibility (diff)
downloadgentoo-68bc7de6a6d3ec4d00500b6886beb90feb3afb45.tar.gz
gentoo-68bc7de6a6d3ec4d00500b6886beb90feb3afb45.tar.bz2
gentoo-68bc7de6a6d3ec4d00500b6886beb90feb3afb45.zip
net-libs/libtorrent-rasterbar: fix 1.2.15 build (static linking against Boost)
After some fighting with b2/jam, I've given in and just switched to CMake like we already did for newer versions. The handling of Boost is saner there and it means we can simplify the Python handling again too. Closes: https://bugs.gentoo.org/828676 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'net-libs/libtorrent-rasterbar')
-rw-r--r--net-libs/libtorrent-rasterbar/Manifest2
-rw-r--r--net-libs/libtorrent-rasterbar/libtorrent-rasterbar-1.2.15-r1.ebuild69
-rw-r--r--net-libs/libtorrent-rasterbar/libtorrent-rasterbar-1.2.15.ebuild112
3 files changed, 70 insertions, 113 deletions
diff --git a/net-libs/libtorrent-rasterbar/Manifest b/net-libs/libtorrent-rasterbar/Manifest
index d759e057a42b..60b3ed6a000f 100644
--- a/net-libs/libtorrent-rasterbar/Manifest
+++ b/net-libs/libtorrent-rasterbar/Manifest
@@ -1,5 +1,5 @@
DIST libtorrent-1.2.14.tar.gz 3614077 BLAKE2B 423cd0c467510e3b4d33485ea108912a90ef0d66746e6f912eeb07930e7091d1ce8e28953a48dab3bb03c6232a9e958be423d4563bd63c083ec1423c4753b3df SHA512 9ba7d8a271ecc7330ae9c794f3966a6d1677b9d2a02a24df8b6e63daa4d5c0a7ef88607a73b417247b4afc5195e46cd0ca75859358f9e50915af56b3ed19f322
-DIST libtorrent-1.2.15.tar.gz 3624131 BLAKE2B d3ec61efd7016aebc229631e8187b0e484337d42093a4d068d0d5cddb90c85209d8a6837e6844bccc0ed5dbf6fa0bcbbbb7b7817906937690089c39ab9a29a94 SHA512 75a959f3cf0eb13e93266f4ff91ead8a2f36b990270fc14abe3799be0c6f4e3580d841f4f24e05a7cfae3654ca865fef56a40d46b0f575fe90ef3e90d6ee46c8
+DIST libtorrent-rasterbar-1.2.15.tar.gz 4163049 BLAKE2B 282d6cf19897706f96d68c75df3c1f5f004df38c07ca2fcaa760f0004512dc8759ea47d4e0c96ff4d8ac2d23569a05507c5dd0667d83c702e14825a0d9ffcd0e SHA512 c409c53ec9c299a05b51ab61d7df1209803cbd6070f0a014dd6fb42c30f6f5230ea90848330f901c61816bc70901e618409acacc95bb0e5acb7f81211d001fa2
DIST libtorrent-rasterbar-2.0.4-ssl-tests-certs.patch.bz2 26530 BLAKE2B 0958f11be84860cfb0e9224901a6052d9acb80edbd9f9e6eeb2e621e30e75fac4c4db64c71573b7c7f91761e74b9c5781ef8d1a202aef06cd92e3edb15d9f810 SHA512 f3afc4e0857838a44fa3671d657b5f669194c504d07d8f72ca5ddc060786127e3d6ad4ae9efa39e9f02fbe396f4785a1755dd1fd9607c1cef31aa60574b3511e
DIST libtorrent-rasterbar-2.0.4.tar.gz 4311319 BLAKE2B fee8255d46d5ca019cd487b57fc6003744c208ea5e78873b925f53881667c55c506d302fc7ae6cd5b5d5e776cfe059b714db94d16dd28cfc7939ec6f4fa4e5fa SHA512 66ce3c3369b1d2a83654727c23022d38b070b8bc3ad83b1001e2cfad945acbaa4d61990094bc758886967cd305ca2213b60b1b0523b5106c42d4701d8cff8db1
DIST libtorrent-rasterbar-2.0.5.tar.gz 4407260 BLAKE2B 71c64879be103326fe438ba6b11b672fb0d631ed0de4eb23c2595f3596b522693594ded9f8733c7827dd668e285cb5099cad78bcd437ec184837eafbd39b356f SHA512 be5b812135dada957e565085b5bdda06827c8427f78a4468ef263e1a1e33d3a0bbba7ac27235f0d17ae6087d54311281e3b1975eef81cda514acc8329862dc04
diff --git a/net-libs/libtorrent-rasterbar/libtorrent-rasterbar-1.2.15-r1.ebuild b/net-libs/libtorrent-rasterbar/libtorrent-rasterbar-1.2.15-r1.ebuild
new file mode 100644
index 000000000000..459ca7926b07
--- /dev/null
+++ b/net-libs/libtorrent-rasterbar/libtorrent-rasterbar-1.2.15-r1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8,9,10} )
+
+inherit cmake python-single-r1
+
+DESCRIPTION="C++ BitTorrent implementation focusing on efficiency and scalability"
+HOMEPAGE="https://libtorrent.org/ https://github.com/arvidn/libtorrent"
+SRC_URI="https://github.com/arvidn/libtorrent/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/10"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86"
+IUSE="+dht debug python ssl test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-libs/boost:=[threads(+)]
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-libs/boost[python,${PYTHON_USEDEP}]
+ ')
+ )
+ ssl? ( dev-libs/openssl:= )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="python? (
+ $(python_gen_cond_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ')
+ )"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=ON
+ -Dbuild_examples=OFF
+ -Ddht=$(usex dht ON OFF)
+ -Dencryption=$(usex ssl ON OFF)
+ -Dlogging=$(usex debug ON OFF)
+ -Dpython-bindings=$(usex python ON OFF)
+ -Dbuild_tests=$(usex test ON OFF)
+ )
+
+ # We need to drop the . from the Python version to satisfy Boost's
+ # FindBoost.cmake module, bug #793038.
+ use python && mycmakeargs+=( -Dboost-python-module-name="${EPYTHON/./}" )
+
+ cmake_src_configure
+}
+
+src_test() {
+ local myctestargs=(
+ # Needs running UPnP server
+ -E "test_upnp"
+ )
+
+ # Checked out Fedora's test workarounds for inspiration
+ # https://src.fedoraproject.org/rpms/rb_libtorrent/blob/rawhide/f/rb_libtorrent.spec#_120
+ LD_LIBRARY_PATH="${BUILD_DIR}:${LD_LIBRARY_PATH}" cmake_src_test
+}
diff --git a/net-libs/libtorrent-rasterbar/libtorrent-rasterbar-1.2.15.ebuild b/net-libs/libtorrent-rasterbar/libtorrent-rasterbar-1.2.15.ebuild
deleted file mode 100644
index c7f1bb211605..000000000000
--- a/net-libs/libtorrent-rasterbar/libtorrent-rasterbar-1.2.15.ebuild
+++ /dev/null
@@ -1,112 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9,10} )
-PYTHON_REQ_USE="threads(+)"
-DISTUTILS_OPTIONAL=true
-DISTUTILS_IN_SOURCE_BUILD=true
-
-inherit autotools distutils-r1
-
-DESCRIPTION="C++ BitTorrent implementation focusing on efficiency and scalability"
-HOMEPAGE="https://libtorrent.org https://github.com/arvidn/libtorrent"
-SRC_URI="https://github.com/arvidn/libtorrent/archive/v${PV}.tar.gz -> libtorrent-${PV}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/10"
-KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86"
-IUSE="debug +dht doc examples python +ssl static-libs test"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RESTRICT="!test? ( test )"
-
-S="${WORKDIR}/libtorrent-${PV}"
-
-RDEPEND="
- dev-libs/boost:=[threads(+)]
- virtual/libiconv
- examples? ( !net-p2p/mldonkey )
- python? (
- ${PYTHON_DEPS}
- dev-libs/boost:=[python,${PYTHON_USEDEP}]
- )
- ssl? (
- dev-libs/openssl:0=
- )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="sys-devel/libtool
- python? ( dev-python/setuptools[${PYTHON_USEDEP}] )"
-
-src_prepare() {
- mkdir -p "${S}"/build-aux || die
- touch "${S}"/build-aux/config.rpath || die
- eautoreconf
-
- default
-
- # bug 578026
- # prepend -L${S}/... to ensure bindings link against the lib we just built
- sed -i -e "s|^|-L${S}/src/.libs |" bindings/python/link_flags.in || die
-
- # prepend -I${S}/... to ensure bindings use the right headers
- sed -i -e "s|^|-I${S}/src/include |" bindings/python/compile_flags.in || die
-
- use python && distutils-r1_src_prepare
-}
-
-src_configure() {
-
- local myeconfargs=(
- $(use_enable debug)
- $(use_enable debug export-all)
- $(use_enable debug logging)
- $(use_enable dht)
- $(use_enable examples)
- $(use_enable ssl encryption)
- $(use_enable static-libs static)
- $(use_enable test tests)
- --with-boost="${ESYSROOT}/usr"
- # Needed because of bug #767835
- --with-boost-libdir="${ESYSROOT}/usr/$(get_libdir)"
- --with-libiconv
- --enable-logging
- )
- econf "${myeconfargs[@]}"
-
- if use python; then
- python_configure() {
- econf "${myeconfargs[@]}" \
- --enable-python-binding \
- --with-boost-python="boost_${EPYTHON/./}"
- }
- distutils-r1_src_configure
- fi
-}
-
-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
-
- find "${D}" -name '*.la' -delete || die
-}