commit:     21e1bb6b03f9d652ed25064f252d7519ac3ba1c6
Author:     Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr>
AuthorDate: Tue Oct 29 23:42:35 2024 +0000
Commit:     Jason Zaman <perfinion <AT> gentoo <DOT> org>
CommitDate: Sat Nov  9 01:51:29 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=21e1bb6b

net-libs/libtorrent: add 0.14.0

fix SRC_URI

updated patch for zlib
new patch for remove tests for ip addresses

I think the workaround for instrumentation is no more required, but I can't
test it.

Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr>
Signed-off-by: Jason Zaman <perfinion <AT> gentoo.org>

 net-libs/libtorrent/Manifest                       |  1 +
 .../files/libtorrent-0.14.0-sysroot.patch          | 37 ++++++++++++
 .../files/libtorrent-0.14.0-tests-address.patch    | 13 +++++
 net-libs/libtorrent/libtorrent-0.14.0.ebuild       | 67 ++++++++++++++++++++++
 4 files changed, 118 insertions(+)

diff --git a/net-libs/libtorrent/Manifest b/net-libs/libtorrent/Manifest
index b7cba0b5c684..4203eebb5065 100644
--- a/net-libs/libtorrent/Manifest
+++ b/net-libs/libtorrent/Manifest
@@ -1 +1,2 @@
 DIST libtorrent-0.13.8.tar.gz 834027 BLAKE2B 
374f33af52a45c244182d36bacd6b42eea9edc179e42fb40f4170a47a0cdd39cfb3f42f82fc26ab36718afb9a28a8dd72ca139b3646bbc1c2887444905438cdd
 SHA512 
417177df5b27cd8c6a6317063b0846da2690de4633836466728605c2edad2de407d29d321cc481b8d1352dd0ff6dd89f4566a830424a8cf986f2fddb04704da4
+DIST libtorrent-0.14.0.tar.gz 809617 BLAKE2B 
321a3911e22b148744439ceb87adb470036516bef6c75f55f860b1f985d7b61bced11c93aaf0a703bd6d0089816dbfdaaa9420b28619ed9dafa4d1495b6763bc
 SHA512 
d61b93778068849a706fa46b5b1c4fbab9246d8a1b45e574987d987eaba50145dd98be65cf969fb4d38a1e4c3bae03b283103163d415506598b8673740d8ac58

diff --git a/net-libs/libtorrent/files/libtorrent-0.14.0-sysroot.patch 
b/net-libs/libtorrent/files/libtorrent-0.14.0-sysroot.patch
new file mode 100644
index 000000000000..91b158d91acb
--- /dev/null
+++ b/net-libs/libtorrent/files/libtorrent-0.14.0-sysroot.patch
@@ -0,0 +1,37 @@
+diff --git a/configure.ac b/configure.ac
+index 741f81f..e2a55de 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -42,7 +42,6 @@ TORRENT_ENABLE_ALIGNED
+ TORRENT_ENABLE_INTERRUPT_SOCKET
+ 
+ TORRENT_ENABLE_ARCH
+-TORRENT_WITH_SYSROOT
+ 
+ dnl TORRENT_WITH_XFS
+ TORRENT_WITHOUT_KQUEUE
+@@ -75,9 +74,8 @@ AC_ARG_ENABLE(execinfo,
+     AX_EXECINFO
+   ])
+ 
+-AX_CHECK_ZLIB
+ AX_PTHREAD
+-
++PKG_CHECK_MODULES([ZLIB], [zlib])
+ PKG_CHECK_MODULES([CPPUNIT], [cppunit],, [no_cppunit="yes"])
+ 
+ CFLAGS="$PTHREAD_CFLAGS $CPPUNIT_CFLAGS $CFLAGS"
+diff --git a/src/torrent/Makefile.am b/src/torrent/Makefile.am
+index 5de7e8a..8754a9c 100644
+--- a/src/torrent/Makefile.am
++++ b/src/torrent/Makefile.am
+@@ -137,7 +137,8 @@ libtorrent_torrent_la_SOURCES = \
+       tracker_list.cc \
+       tracker_list.h
+ 
+-AM_CPPFLAGS = -I$(srcdir) -I$(srcdir)/.. -I$(top_srcdir)
++libtorrent_torrent_la_LIBADD = $(ZLIB_LIBS)
++AM_CPPFLAGS = -I$(srcdir) -I$(srcdir)/.. -I$(top_srcdir) $(ZLIB_CFLAGS)
+ 
+ libtorrent_torrent_data_includedir = $(includedir)/torrent/data
+ libtorrent_torrent_data_include_HEADERS = \

diff --git a/net-libs/libtorrent/files/libtorrent-0.14.0-tests-address.patch 
b/net-libs/libtorrent/files/libtorrent-0.14.0-tests-address.patch
new file mode 100644
index 000000000000..56cc0e35be08
--- /dev/null
+++ b/net-libs/libtorrent/files/libtorrent-0.14.0-tests-address.patch
@@ -0,0 +1,13 @@
+diff --git a/test/Makefile.am b/test/Makefile.am
+index 0221796..6e23502 100644
+--- a/test/Makefile.am
++++ b/test/Makefile.am
+@@ -39,8 +39,6 @@ LibTorrent_Test_Common = \
+       helpers/utils.h
+ 
+ LibTorrent_Test_Torrent_Net_SOURCES = $(LibTorrent_Test_Common) \
+-      torrent/net/test_address_info.cc \
+-      torrent/net/test_address_info.h \
+       torrent/net/test_fd.cc \
+       torrent/net/test_fd.h \
+       torrent/net/test_socket_address.cc \

diff --git a/net-libs/libtorrent/libtorrent-0.14.0.ebuild 
b/net-libs/libtorrent/libtorrent-0.14.0.ebuild
new file mode 100644
index 000000000000..0ecffde196a0
--- /dev/null
+++ b/net-libs/libtorrent/libtorrent-0.14.0.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="BitTorrent library written in C++ for *nix"
+HOMEPAGE="https://rakshasa.github.io/rtorrent/";
+# rtorrent-archive is an exact match to the tarballs also uploaded to
+# https://github.com/rakshasa/rtorrent/releases, but the problem with that more
+# common path is the libtorrent/rtorrent versions are not in sync, so updating
+# libtorrent wouldnt be more annoying.
+SRC_URI="https://github.com/rakshasa/rtorrent-archive/raw/master/${P}.tar.gz";
+
+LICENSE="GPL-2"
+# The README says that the library ABI is not yet stable and dependencies on
+# the library should be an explicit, syncronized version until the library
+# has had more time to mature. Until it matures we should not include a soname
+# subslot.
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 
~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="debug ssl"
+
+# cppunit dependency - https://github.com/rakshasa/libtorrent/issues/182
+RDEPEND="
+       dev-util/cppunit:=
+       sys-libs/zlib
+       ssl? ( dev-libs/openssl:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.14.0-sysroot.patch
+       "${FILESDIR}"/${PN}-0.14.0-tests-address.patch
+)
+
+src_prepare() {
+       default
+       eautoreconf
+}
+
+src_configure() {
+       # bug 518582
+       local disable_instrumentation
+       echo -e "#include <inttypes.h>\nint main(){ int64_t var = 7; 
__sync_add_and_fetch(&var, 1); return 0;}" \
+               > "${T}/sync_add_and_fetch.c" || die
+       $(tc-getCC) ${CFLAGS} -o /dev/null -x c "${T}/sync_add_and_fetch.c" 
>/dev/null 2>&1
+       if [[ $? -ne 0 ]]; then
+               einfo "Disabling instrumentation"
+               disable_instrumentation="--disable-instrumentation"
+       fi
+
+       # configure needs bash or script bombs out on some null shift, bug 
#291229
+       CONFIG_SHELL=${BASH} econf \
+               --enable-aligned \
+               $(use_enable debug) \
+               $(use_enable ssl openssl) \
+               ${disable_instrumentation} \
+               --with-posix-fallocate
+}
+
+src_install() {
+       default
+
+       find "${ED}" -type f -name '*.la' -delete || die
+}

Reply via email to