commit:     68bc7de6a6d3ec4d00500b6886beb90feb3afb45
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 11 01:11:43 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Dec 11 01:16:17 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=68bc7de6

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 <AT> gentoo.org>

 net-libs/libtorrent-rasterbar/Manifest             |   2 +-
 .../libtorrent-rasterbar-1.2.15-r1.ebuild          |  69 +++++++++++++
 .../libtorrent-rasterbar-1.2.15.ebuild             | 112 ---------------------
 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
-}

Reply via email to