public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: net-libs/libtorrent/, net-libs/libtorrent/files/
Date: Fri, 06 Jun 2025 14:09:00 +0000 (UTC)	[thread overview]
Message-ID: <1749218887.5e3eee9fa6b2ec5d99fbf89c30ff0c9094ae6b98.sam@gentoo> (raw)

commit:     5e3eee9fa6b2ec5d99fbf89c30ff0c9094ae6b98
Author:     Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr>
AuthorDate: Thu Jun  5 05:22:21 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jun  6 14:08:07 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5e3eee9f

net-libs/libtorrent: add 0.15.4

Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/42454
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-libs/libtorrent/Manifest                       |  1 +
 .../files/libtorrent-0.15.4-fix_inv_chunks.patch   | 33 +++++++++
 net-libs/libtorrent/libtorrent-0.15.4.ebuild       | 82 ++++++++++++++++++++++
 3 files changed, 116 insertions(+)

diff --git a/net-libs/libtorrent/Manifest b/net-libs/libtorrent/Manifest
index 10edbfb0c9ea..cfb30180f251 100644
--- a/net-libs/libtorrent/Manifest
+++ b/net-libs/libtorrent/Manifest
@@ -2,3 +2,4 @@ DIST libtorrent-0.13.8.tar.gz 834027 BLAKE2B 374f33af52a45c244182d36bacd6b42eea9
 DIST libtorrent-0.14.0.tar.gz 809617 BLAKE2B 321a3911e22b148744439ceb87adb470036516bef6c75f55f860b1f985d7b61bced11c93aaf0a703bd6d0089816dbfdaaa9420b28619ed9dafa4d1495b6763bc SHA512 d61b93778068849a706fa46b5b1c4fbab9246d8a1b45e574987d987eaba50145dd98be65cf969fb4d38a1e4c3bae03b283103163d415506598b8673740d8ac58
 DIST libtorrent-0.15.1.tar.gz 805722 BLAKE2B 7b4b9aba8133a2a20a5dd39d451c9478c44f133ae3b5929b79cbd25fb0754b4bc64291a75da898ed335a808b992d67ffa7a3a431420da7073d2fb3c927109649 SHA512 e7d607fc3e31e2d6f4643c6760a271324a4f8f102e07228aca13427073426a393b12006329206fa14108d93c2f378a8db3761b0e14ff3ae391551777b4b04a6a
 DIST libtorrent-0.15.3.tar.gz 872751 BLAKE2B e1a851273e9341f1e71806ada0417d0123f6a7d0fc0965f6a957bbc55981072385d8ae1c59af18c64d5157457532d39af037cbd9313e2646020bdfb70fc48323 SHA512 795a1ff115b37df5899a59ff23524cde95380c323b5a11f369d7f43eb250843cf57ed4a2f39880992ecc05d5724c149cd2955ee6c621193f95d13875af341cec
+DIST libtorrent-0.15.4.tar.gz 870746 BLAKE2B 5f47edb90bd0cff73b40caefa8ecb44fb71ccae497a2b7482424e223d84ff46c227b4189111cd2f5172d4eab201191403eceb8dcbf9a3d16ccb704083674f7dc SHA512 4c25497f669537087c3de013660dffbd94d867a74e7cf356f26c4afb976cc8ebf3e7feeb704c761c07275940430d161e15a0ffa995ee0b38b8eb2ce90683ff29

diff --git a/net-libs/libtorrent/files/libtorrent-0.15.4-fix_inv_chunks.patch b/net-libs/libtorrent/files/libtorrent-0.15.4-fix_inv_chunks.patch
new file mode 100644
index 000000000000..0ea021f66aee
--- /dev/null
+++ b/net-libs/libtorrent/files/libtorrent-0.15.4-fix_inv_chunks.patch
@@ -0,0 +1,33 @@
+https://github.com/rakshasa/rtorrent/issues/1506
+From a0a364e2863356f51d41a27ce7620471666c5c56 Mon Sep 17 00:00:00 2001
+From: rakshasa <sundell.software@gmail.com>
+Date: Sun, 1 Jun 2025 18:20:30 +0200
+Subject: [PATCH] When encountering invalid completed chunks value ignore it.
+
+---
+ src/torrent/utils/resume.cc | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/src/torrent/utils/resume.cc b/src/torrent/utils/resume.cc
+index dc9f95a52..cb5fbb5c3 100644
+--- a/src/torrent/utils/resume.cc
++++ b/src/torrent/utils/resume.cc
+@@ -417,8 +417,16 @@ resume_load_file_priorities(Download download, const Object& object) {
+         filesItr->get_key_value("priority") >= 0 && filesItr->get_key_value("priority") <= PRIORITY_HIGH)
+       (*listItr)->set_priority(static_cast<priority_enum>(filesItr->get_key_value("priority")));
+ 
+-    if (filesItr->has_key_value("completed"))
+-      (*listItr)->set_completed_chunks(filesItr->get_key_value("completed"));
++    if (filesItr->has_key_value("completed")) {
++      auto completed = filesItr->get_key_value("completed");
++
++      if (completed < 0 || completed > (*listItr)->size_chunks()) {
++        LT_LOG_LOAD_INVALID("invalid completed chunks value: %" PRIi64 ", resetting to 0", completed);
++        completed = 0;
++      }
++
++      (*listItr)->set_completed_chunks(completed);
++    }
+   }
+ }
+ 

diff --git a/net-libs/libtorrent/libtorrent-0.15.4.ebuild b/net-libs/libtorrent/libtorrent-0.15.4.ebuild
new file mode 100644
index 000000000000..5340e905db9f
--- /dev/null
+++ b/net-libs/libtorrent/libtorrent-0.15.4.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2025 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/"
+SRC_URI="https://github.com/rakshasa/rtorrent/releases/download/v${PV}/${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 ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="debug test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	dev-libs/openssl:=
+	net-libs/udns
+	sys-libs/zlib
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+	virtual/pkgconfig
+	test? ( dev-util/cppunit )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-0.14.0-tests-address.patch
+	"${FILESDIR}"/${PN}-0.15.3-unbundle_udns.patch
+	# from upstream. To be removed in next release
+	"${FILESDIR}"/${PN}-0.15.4-fix_inv_chunks.patch
+)
+
+src_prepare() {
+	default
+
+	# use system-udns
+	rm -r src/net/udns || die
+
+	if [[ ${CHOST} != *-darwin* ]]; then
+		# syslibroot is only for macos, change to sysroot for others
+		sed -i 's/Wl,-syslibroot,/Wl,--sysroot,/' "${S}/scripts/common.m4" || die
+	fi
+	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
+	export CONFIG_SHELL=${BASH}
+
+	local myeconfargs=(
+		LIBS="-ludns"
+		--enable-aligned
+		$(use_enable debug)
+		${disable_instrumentation}
+		--with-posix-fallocate
+	)
+
+	econf "${myeconfargs[@]}"
+}
+
+src_install() {
+	default
+
+	find "${ED}" -type f -name '*.la' -delete || die
+}


             reply	other threads:[~2025-06-06 14:09 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-06 14:09 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-07-31 12:33 [gentoo-commits] repo/gentoo:master commit in: net-libs/libtorrent/, net-libs/libtorrent/files/ Sam James
2023-03-10 13:55 Sam James
2022-07-02 13:16 David Seifert
2018-07-03  6:04 Jason Zaman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1749218887.5e3eee9fa6b2ec5d99fbf89c30ff0c9094ae6b98.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox