diff --git a/net-p2p/libtorrent/Makefile b/net-p2p/libtorrent/Makefile index d4574fa941ad..dd8621ceed5d 100644 --- a/net-p2p/libtorrent/Makefile +++ b/net-p2p/libtorrent/Makefile @@ -1,36 +1,36 @@ PORTNAME= libtorrent -DISTVERSION= 0.16.17 +DISTVERSION= 0.16.18 CATEGORIES= net-p2p MASTER_SITES= https://github.com/rakshasa/rtorrent/releases/download/v${DISTVERSION}/ MAINTAINER= eduardo@FreeBSD.org COMMENT= BitTorrent Library written in C++ WWW= https://github.com/rakshasa/libtorrent LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/COPYING LIB_DEPENDS= libcurl.so:ftp/curl TEST_DEPENDS= cppunit>0:devel/cppunit USES= compiler:c++17-lang cpe libtool localbase:ldflags pathfix \ pkgconfig ssl USE_LDCONFIG= yes GNU_CONFIGURE= yes CONFIGURE_ARGS= --disable-debug \ --with-kqueue \ --without-epoll CONFIGURE_ENV= OPENSSL_CFLAGS="-I ${OPENSSLINC}" \ OPENSSL_LIBS="-L${OPENSSLLIB} -lcrypto" # This makes sure that /usr/local/lib appears before /usr/lib when # linking libtorrent to avoid linking with base's libcrypto. MAKE_ARGS= LDFLAGS="${LDFLAGS}" INSTALL_TARGET= install-strip TEST_ARGS= CPPUNIT_LIBS="-L${LOCALBASE}/lib -lcppunit" TEST_TARGET= check .include diff --git a/net-p2p/libtorrent/distinfo b/net-p2p/libtorrent/distinfo index 84080e767163..dff88de1272e 100644 --- a/net-p2p/libtorrent/distinfo +++ b/net-p2p/libtorrent/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1783343262 -SHA256 (libtorrent-0.16.17.tar.gz) = 9efd7f3176a03f7935b5616ff57695524e99a3184e43ec01110d13d960d2abf6 -SIZE (libtorrent-0.16.17.tar.gz) = 917140 +TIMESTAMP = 1784280680 +SHA256 (libtorrent-0.16.18.tar.gz) = d5077bfd8b9c20ff903e13fc1fa68be3f7da84e927f1a4f28cf24a8206edd05d +SIZE (libtorrent-0.16.18.tar.gz) = 919609 diff --git a/net-p2p/libtorrent/files/patch-PR841 b/net-p2p/libtorrent/files/patch-PR841 new file mode 100644 index 000000000000..eb28fab5543b --- /dev/null +++ b/net-p2p/libtorrent/files/patch-PR841 @@ -0,0 +1,12 @@ +https://github.com/rakshasa/libtorrent/issues/841 + +--- src/torrent/system/system.cc.orig 2026-07-17 09:47:03 UTC ++++ src/torrent/system/system.cc +@@ -8,6 +8,7 @@ + #include "torrent/system/callbacks.h" + #include "torrent/system/thread.h" + #include "torrent/system/types.h" ++#include + + namespace torrent::system { + diff --git a/net-p2p/libtorrent/pkg-plist b/net-p2p/libtorrent/pkg-plist index 5755f5a8f615..bb467ff78e8b 100644 --- a/net-p2p/libtorrent/pkg-plist +++ b/net-p2p/libtorrent/pkg-plist @@ -1,83 +1,84 @@ include/torrent/bitfield.h -include/torrent/chunk_manager.h include/torrent/common.h include/torrent/data/block.h include/torrent/data/block_list.h include/torrent/data/block_transfer.h include/torrent/data/chunk_utils.h include/torrent/data/download_data.h include/torrent/data/file.h include/torrent/data/file_list.h include/torrent/data/file_list_iterator.h include/torrent/data/file_manager.h include/torrent/data/file_utils.h include/torrent/data/piece.h include/torrent/data/transfer_list.h include/torrent/download.h include/torrent/download/choke_group.h include/torrent/download/choke_queue.h include/torrent/download/download_manager.h include/torrent/download/group_entry.h include/torrent/download/resource_manager.h include/torrent/download/types.h include/torrent/download_info.h include/torrent/event.h include/torrent/exceptions.h include/torrent/hash_string.h include/torrent/net/address_info.h include/torrent/net/connection_state.h include/torrent/net/fd.h include/torrent/net/http_get.h include/torrent/net/http_stack.h include/torrent/net/resolver.h include/torrent/net/socket_address.h include/torrent/net/socket_address_key.h include/torrent/net/types.h include/torrent/object.h include/torrent/object_raw_bencode.h include/torrent/object_static_map.h include/torrent/object_stream.h include/torrent/path.h include/torrent/peer/choke_status.h include/torrent/peer/client_info.h include/torrent/peer/client_list.h include/torrent/peer/connection_list.h include/torrent/peer/peer.h include/torrent/peer/peer_info.h include/torrent/peer/peer_list.h include/torrent/rate.h +include/torrent/runtime/client_config.h +include/torrent/runtime/memory_manager.h include/torrent/runtime/network_config.h include/torrent/runtime/network_manager.h include/torrent/runtime/proxy_manager.h include/torrent/runtime/runtime.h include/torrent/runtime/socket_manager.h include/torrent/system/callbacks.h include/torrent/system/poll.h -include/torrent/system/system.h include/torrent/system/thread.h +include/torrent/system/types.h include/torrent/throttle.h include/torrent/torrent.h include/torrent/tracker/dht_controller.h include/torrent/tracker/manager.h include/torrent/tracker/tracker.h include/torrent/tracker/tracker_state.h include/torrent/tracker/wrappers.h include/torrent/types/string_utf8.h include/torrent/utils/chrono.h include/torrent/utils/directory_events.h include/torrent/utils/extents.h include/torrent/utils/file_stat.h include/torrent/utils/log.h include/torrent/utils/log_buffer.h include/torrent/utils/option_strings.h include/torrent/utils/random.h include/torrent/utils/ranges.h include/torrent/utils/resume.h include/torrent/utils/scheduler.h include/torrent/utils/string_manip.h include/torrent/utils/unordered_vector.h include/torrent/utils/uri_parser.h lib/libtorrent.so -lib/libtorrent.so.47 -lib/libtorrent.so.47.0.0 +lib/libtorrent.so.48 +lib/libtorrent.so.48.0.0 libdata/pkgconfig/libtorrent.pc diff --git a/net-p2p/rtorrent/Makefile b/net-p2p/rtorrent/Makefile index 7f7b357d03b4..349b3daed209 100644 --- a/net-p2p/rtorrent/Makefile +++ b/net-p2p/rtorrent/Makefile @@ -1,47 +1,47 @@ PORTNAME= rtorrent -DISTVERSION= 0.16.17 +DISTVERSION= 0.16.18 CATEGORIES= net-p2p MASTER_SITES= https://github.com/rakshasa/rtorrent/releases/download/v${DISTVERSION}/ MAINTAINER= eduardo@FreeBSD.org COMMENT= BitTorrent Client written in C++ WWW= https://github.com/rakshasa/rtorrent LICENSE= GPLv2 GPLv3 LICENSE_COMB= dual LICENSE_FILE_GPLv2= ${WRKSRC}/COPYING LIB_DEPENDS= libtorrent.so:net-p2p/libtorrent TEST_DEPENDS= cppunit>0:devel/cppunit USES= compiler:c++17-lang ncurses pkgconfig USE_RC_SUBR= rtorrent GNU_CONFIGURE= yes CONFIGURE_ARGS= --disable-debug \ --with-xmlrpc-tinyxml2 TEST_ARGS= CPPUNIT_LIBS="-L${LOCALBASE}/lib -lcppunit" TEST_TARGET= check SUB_FILES= pkg-message USERS= rtorrent GROUPS= rtorrent PLIST_FILES= bin/rtorrent \ "@sample ${ETCDIR}/rtorrent.conf.sample" \ ${DATADIR}/lua/rtorrent.lua PORTDOCS= README.md OPTIONS_DEFINE= DOCS post-install: ${MKDIR} ${STAGEDIR}${ETCDIR} ${INSTALL_DATA} ${WRKSRC}/doc/rtorrent.rc \ ${STAGEDIR}${ETCDIR}/rtorrent.conf.sample post-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR}/ ${INSTALL_DATA} ${WRKSRC}/${PORTDOCS} ${STAGEDIR}${DOCSDIR}/ .include diff --git a/net-p2p/rtorrent/distinfo b/net-p2p/rtorrent/distinfo index c21d7b018ac3..4335fd7320af 100644 --- a/net-p2p/rtorrent/distinfo +++ b/net-p2p/rtorrent/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1783343880 -SHA256 (rtorrent-0.16.17.tar.gz) = 115cdb6bf70f5c0f43687ca57c974bc45a7ff970562a56b51b971b9bf51ef0a1 -SIZE (rtorrent-0.16.17.tar.gz) = 868244 +TIMESTAMP = 1784280709 +SHA256 (rtorrent-0.16.18.tar.gz) = 0c7d4902cc914fabe984284330333c7b82aec9951c55915712cdd10acaae65cb +SIZE (rtorrent-0.16.18.tar.gz) = 868689 diff --git a/net-p2p/rtorrent/files/patch-Fix-i386 b/net-p2p/rtorrent/files/patch-Fix-i386 deleted file mode 100644 index b230f2c24582..000000000000 --- a/net-p2p/rtorrent/files/patch-Fix-i386 +++ /dev/null @@ -1,76 +0,0 @@ -From 959448acdab8e84cc70f5a50c62dab73dd8dc07d Mon Sep 17 00:00:00 2001 -From: Jari Sundell -Date: Wed, 8 Jul 2026 10:15:56 +0200 -Subject: [PATCH] Fixed command_base t_pod align static asserts. - ---- - src/rpc/command.h | 31 +++++++++++++++---------------- - 1 file changed, 15 insertions(+), 16 deletions(-) - -diff --git src/rpc/command.h src/rpc/command.h -index a4aa6acb4..4c9a652e1 100644 ---- src/rpc/command.h -+++ src/rpc/command.h -@@ -55,12 +55,11 @@ struct rt_triple : private std::pair { - base_type(src.first, src.second), third(src.third) {} - }; - --typedef rt_triple target_type; -- - class command_base; - --typedef const torrent::Object (*command_base_call_type)(command_base*, target_type, const torrent::Object&); --typedef std::function base_function; -+using target_type = rt_triple; -+using base_function = std::function; -+using command_base_call_type = const torrent::Object (command_base*, target_type, const torrent::Object&); - - template struct command_base_is_valid {}; - template struct command_base_is_type {}; -@@ -84,17 +83,18 @@ class command_base { - - typedef const torrent::Object (*download_pair_slot) (command_base*, core::Download*, core::Download*, const torrent::Object&); - -- static const int target_generic = 0; -- static const int target_any = 1; -- static const int target_download = 2; -- static const int target_peer = 3; -- static const int target_tracker = 4; -- static const int target_file = 5; -- static const int target_file_itr = 6; -+ static constexpr int target_generic = 0; -+ static constexpr int target_any = 1; -+ static constexpr int target_download = 2; -+ static constexpr int target_peer = 3; -+ static constexpr int target_tracker = 4; -+ static constexpr int target_file = 5; -+ static constexpr int target_file_itr = 6; -+ static constexpr int target_download_pair = 7; - -- static const int target_download_pair = 7; -+ static constexpr unsigned int max_arguments = 10; - -- static const unsigned int max_arguments = 10; -+ static constexpr std::size_t optimal_alignment = std::max(alignof(std::max_align_t), alignof(base_function)); - - struct stack_type { - torrent::Object* begin() { return reinterpret_cast(buffer); } -@@ -169,8 +169,7 @@ class command_base { - template - void set_function(T s, [[maybe_unused]] int value = command_base_is_valid::value) { - static_assert(sizeof(T) <= sizeof(t_pod), "t_pod storage overflow"); -- static_assert(alignof(std::max_align_t) % alignof(T) == 0, "t_pod alignment insufficient for type"); -- static_assert(alignof(std::max_align_t) >= alignof(T), "t_pod structural capacity mismatch"); -+ static_assert(optimal_alignment >= alignof(T), "t_pod alignment insufficient for type"); - - if (m_dest_helper) - m_dest_helper(t_pod); -@@ -200,7 +199,7 @@ class command_base { - using copy_fn_t = void (*)(void* dest, const void* src); - using dest_fn_t = void (*)(void* ptr); - -- alignas(std::max_align_t) char t_pod[sizeof(base_function)]; -+ alignas(optimal_alignment) char t_pod[sizeof(base_function)]; - - copy_fn_t m_copy_helper; - dest_fn_t m_dest_helper;