diff options
author | Danilo G. Baio <dbaio@FreeBSD.org> | 2018-07-24 00:33:28 +0000 |
---|---|---|
committer | Danilo G. Baio <dbaio@FreeBSD.org> | 2018-07-24 00:33:28 +0000 |
commit | 1b4848d8c125c3836643c00bd66e61695058167f (patch) | |
tree | 44eeff5a7e3367e442ab483df27e88ef4d7418cf /net-p2p/libtorrent | |
parent | df9c6300e437ef4ed6eeabe4013b8811e614e1f5 (diff) | |
download | ports-1b4848d8c125c3836643c00bd66e61695058167f.tar.gz ports-1b4848d8c125c3836643c00bd66e61695058167f.zip |
Notes
Diffstat (limited to 'net-p2p/libtorrent')
-rw-r--r-- | net-p2p/libtorrent/Makefile | 22 | ||||
-rw-r--r-- | net-p2p/libtorrent/distinfo | 6 | ||||
-rw-r--r-- | net-p2p/libtorrent/files/extra-clang | 144 | ||||
-rw-r--r-- | net-p2p/libtorrent/files/patch-fix-build-bencoders-callers-crash | 45 | ||||
-rw-r--r-- | net-p2p/libtorrent/files/patch-src_net_socket__set.h | 18 | ||||
-rw-r--r-- | net-p2p/libtorrent/files/patch-src_torrent_net_socket__address__key.h | 10 | ||||
-rw-r--r-- | net-p2p/libtorrent/pkg-plist | 6 |
7 files changed, 24 insertions, 227 deletions
diff --git a/net-p2p/libtorrent/Makefile b/net-p2p/libtorrent/Makefile index f4bb874c9b79..75a74303682d 100644 --- a/net-p2p/libtorrent/Makefile +++ b/net-p2p/libtorrent/Makefile @@ -1,10 +1,9 @@ # $FreeBSD$ PORTNAME= libtorrent -PORTVERSION= 0.13.6 -PORTREVISION= 5 +PORTVERSION= 0.13.7 CATEGORIES= net-p2p -MASTER_SITES= http://rtorrent.net/downloads/ +MASTER_SITES= https://rtorrent.net/downloads/ MAINTAINER= pipfstarrd@openmailbox.org COMMENT= BitTorrent Library written in C++ @@ -14,17 +13,14 @@ LICENSE_FILE= ${WRKSRC}/COPYING BROKEN_SSL= openssl-devel -CONFLICTS_INSTALL= rblibtorrent-[0-9]* rblibtorrent-devel-[0-9]* - -USES= compiler:c++11-lang libtool pathfix pkgconfig ssl +USES= autoreconf:build compiler:c++11-lang libtool pathfix pkgconfig ssl GNU_CONFIGURE= yes CONFIGURE_ARGS= --disable-debug CONFIGURE_ENV= OPENSSL_LIBS="-L${OPENSSLLIB} -lcrypto" OPENSSL_CFLAGS="-I\ ${OPENSSLINC}" -INSTALL_TARGET= install-strip USE_LDCONFIG= yes -OPTIONS_DEFINE= IPV6 KQUEUE +OPTIONS_DEFINE= KQUEUE OPTIONS_DEFAULT=KQUEUE KQUEUE_DESC= Use kqueue(2) support @@ -32,7 +28,6 @@ KQUEUE_DESC= Use kqueue(2) support # linking libtorrent to avoid linking with base's libcrypto. MAKE_ARGS= LDFLAGS="${LDFLAGS}" -IPV6_CONFIGURE_ENABLE= ipv6 KQUEUE_CONFIGURE_WITH= kqueue .include <bsd.port.pre.mk> @@ -45,12 +40,6 @@ KQUEUE_CONFIGURE_WITH= kqueue CONFIGURE_ARGS+=--disable-instrumentation .endif -# Workaround to build on >= 10.x -.if ${OPSYS} == FreeBSD -USE_CXXSTD= c++11 -EXTRA_PATCHES+= ${FILESDIR}/extra-clang -.endif - post-patch: .if ${OPSYS} == FreeBSD @${FIND} ${WRKSRC} \( -name '*.h' -o -name '*.cc' \) -type f \ @@ -63,4 +52,7 @@ post-patch: ${WRKSRC}/src/torrent/utils/log.cc .endif +post-install: + @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libtorrent.so.20.0.0 + .include <bsd.port.post.mk> diff --git a/net-p2p/libtorrent/distinfo b/net-p2p/libtorrent/distinfo index fe54e4bcd6f2..c6264faa2a3a 100644 --- a/net-p2p/libtorrent/distinfo +++ b/net-p2p/libtorrent/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1518295243 -SHA256 (libtorrent-0.13.6.tar.gz) = 2838a08c96edfd936aff8fbf99ecbb930c2bfca3337dd1482eb5fccdb80d5a04 -SIZE (libtorrent-0.13.6.tar.gz) = 781253 +TIMESTAMP = 1529447240 +SHA256 (libtorrent-0.13.7.tar.gz) = c738f60f4d7b6879cd2745fb4310bf24c9287219c1fd619706a9d5499ca7ecc1 +SIZE (libtorrent-0.13.7.tar.gz) = 782854 diff --git a/net-p2p/libtorrent/files/extra-clang b/net-p2p/libtorrent/files/extra-clang deleted file mode 100644 index f4070b9cb886..000000000000 --- a/net-p2p/libtorrent/files/extra-clang +++ /dev/null @@ -1,144 +0,0 @@ ---- src/data/memory_chunk.cc -+++ src/data/memory_chunk.cc -@@ -54,6 +54,22 @@ - - namespace torrent { - -+const int MemoryChunk::prot_exec; -+const int MemoryChunk::prot_read; -+const int MemoryChunk::prot_write; -+const int MemoryChunk::prot_none; -+const int MemoryChunk::map_shared; -+ -+const int MemoryChunk::advice_normal; -+const int MemoryChunk::advice_random; -+const int MemoryChunk::advice_sequential; -+const int MemoryChunk::advice_willneed; -+const int MemoryChunk::advice_dontneed; -+ -+const int MemoryChunk::sync_sync; -+const int MemoryChunk::sync_async; -+const int MemoryChunk::sync_invalidate; -+ - uint32_t MemoryChunk::m_pagesize = getpagesize(); - - inline void ---- src/protocol/request_list.cc -+++ src/protocol/request_list.cc -@@ -52,6 +52,8 @@ - - namespace torrent { - -+const int request_list_constants::bucket_count; -+ - const instrumentation_enum request_list_constants::instrumentation_added[bucket_count] = { - INSTRUMENTATION_TRANSFER_REQUESTS_QUEUED_ADDED, - INSTRUMENTATION_TRANSFER_REQUESTS_UNORDERED_ADDED, ---- src/torrent/data/file.cc -+++ src/torrent/data/file.cc -@@ -50,6 +50,15 @@ - - namespace torrent { - -+const int File::flag_active; -+const int File::flag_create_queued; -+const int File::flag_resize_queued; -+const int File::flag_fallocate; -+const int File::flag_previously_created; -+ -+const int File::flag_prioritize_first; -+const int File::flag_prioritize_last; -+ - File::File() : - m_fd(-1), - m_protection(0), ---- src/torrent/download.cc -+++ src/torrent/download.cc -@@ -72,6 +72,20 @@ - - namespace torrent { - -+const int DownloadInfo::flag_open; -+const int DownloadInfo::flag_active; -+const int DownloadInfo::flag_compact; -+const int DownloadInfo::flag_accepting_new_peers; -+const int DownloadInfo::flag_accepting_seeders; -+const int DownloadInfo::flag_private; -+const int DownloadInfo::flag_meta_download; -+const int DownloadInfo::flag_pex_enabled; -+const int DownloadInfo::flag_pex_active; -+ -+const int DownloadInfo::public_flags; -+ -+const uint32_t DownloadInfo::unlimited; -+ - const DownloadInfo* Download::info() const { return m_ptr->info(); } - const download_data* Download::data() const { return m_ptr->data(); } - ---- src/torrent/peer/connection_list.cc -+++ src/torrent/peer/connection_list.cc -@@ -60,6 +60,11 @@ - - namespace torrent { - -+const int ConnectionList::disconnect_available; -+const int ConnectionList::disconnect_quick; -+const int ConnectionList::disconnect_unwanted; -+const int ConnectionList::disconnect_delayed; -+ - ConnectionList::ConnectionList(DownloadMain* download) : - m_download(download), m_minSize(50), m_maxSize(100) { - } ---- src/torrent/utils/log.cc -+++ src/torrent/utils/log.cc -@@ -189,7 +189,7 @@ - pthread_mutex_lock(&log_mutex); - std::for_each(m_first, m_last, std::tr1::bind(&log_slot::operator(), - std::tr1::placeholders::_1, -- buffer, -+ (const char*)buffer, - std::distance(buffer, first), - std::distance(log_groups.begin(), this))); - if (dump_data != NULL) ---- src/utils/instrumentation.h -+++ src/utils/instrumentation.h -@@ -39,6 +39,8 @@ - - #include <tr1/array> - -+#include <algorithm> -+ - #include "torrent/common.h" - #include "torrent/utils/log.h" - -@@ -118,7 +120,7 @@ - - inline void - instrumentation_initialize() { -- instrumentation_values.assign(int64_t()); -+ std::fill(instrumentation_values.begin(), instrumentation_values.end(), int64_t()); - } - - inline void ---- src/utils/queue_buckets.h -+++ src/utils/queue_buckets.h -@@ -251,7 +251,7 @@ - instrumentation_update(constants::instrumentation_total[idx], -difference); - - // Consider moving these to a temporary dequeue before releasing: -- std::for_each(begin, end, std::tr1::function<void (value_type)>(&constants::template destroy<value_type>)); -+ std::for_each(begin, end, std::tr1::function<void (value_type&)>(&constants::template destroy<value_type>)); - queue_at(idx).erase(begin, end); - } - ---- src/torrent/download_info.h -+++ src/torrent/download_info.h -@@ -52,7 +52,7 @@ - - // This will become a Download 'handle' of kinds. - --class DownloadInfo { -+class LIBTORRENT_EXPORT DownloadInfo { - public: - typedef std::tr1::function<uint64_t ()> slot_stat_type; - diff --git a/net-p2p/libtorrent/files/patch-fix-build-bencoders-callers-crash b/net-p2p/libtorrent/files/patch-fix-build-bencoders-callers-crash deleted file mode 100644 index 7c2d424e1d8d..000000000000 --- a/net-p2p/libtorrent/files/patch-fix-build-bencoders-callers-crash +++ /dev/null @@ -1,45 +0,0 @@ -# https://github.com/rakshasa/libtorrent/pull/99/files - ---- src/protocol/extensions.cc.orig 2015-08-08 17:01:32.000000000 +0200 -+++ src/protocol/extensions.cc 2017-12-02 01:46:38.522736000 +0100 -@@ -394,7 +394,7 @@ - if (m_download->info()->is_meta_download() || piece >= pieceEnd) { - // reject: { "msg_type" => 2, "piece" => ... } - m_pendingType = UT_METADATA; -- m_pending = build_bencode(40, "d8:msg_typei2e5:piecei%zuee", piece); -+ m_pending = build_bencode(sizeof(size_t) + 36, "d8:msg_typei2e5:piecei%zuee", piece); - return; - } - -@@ -407,7 +407,7 @@ - // data: { "msg_type" => 1, "piece" => ..., "total_size" => ... } followed by piece data (outside of dictionary) - size_t length = piece == pieceEnd - 1 ? m_download->info()->metadata_size() % metadata_piece_size : metadata_piece_size; - m_pendingType = UT_METADATA; -- m_pending = build_bencode(length + 128, "d8:msg_typei1e5:piecei%zue10:total_sizei%zuee", piece, metadataSize); -+ m_pending = build_bencode((2 * sizeof(size_t)) + length + 120, "d8:msg_typei1e5:piecei%zue10:total_sizei%zuee", piece, metadataSize); - - memcpy(m_pending.end(), buffer + (piece << metadata_piece_shift), length); - m_pending.set(m_pending.data(), m_pending.end() + length, m_pending.owned()); ---- src/protocol/handshake.cc.orig 2015-08-08 17:01:49.000000000 +0200 -+++ src/protocol/handshake.cc 2017-12-02 01:46:38.523093000 +0100 -@@ -738,7 +738,7 @@ - break; - - if (m_readBuffer.remaining() > m_encryption.length_ia()) -- throw internal_error("Read past initial payload after incoming encrypted handshake."); -+ throw handshake_error(ConnectionManager::handshake_failed, e_handshake_invalid_value); - - if (m_encryption.crypto() != HandshakeEncryption::crypto_rc4) - m_encryption.info()->set_obfuscated(); ---- src/torrent/object_stream.cc.orig 2015-08-08 17:01:32.000000000 +0200 -+++ src/torrent/object_stream.cc 2017-12-02 01:46:38.523350000 +0100 -@@ -104,7 +104,8 @@ - while (first != last && *first >= '0' && *first <= '9') - length = length * 10 + (*first++ - '0'); - -- if (length + 1 > (unsigned int)std::distance(first, last) || *first++ != ':') -+ if (length + 1 > (unsigned int)std::distance(first, last) || *first++ != ':' -+ || length + 1 == 0) - throw torrent::bencode_error("Invalid bencode data."); - - return raw_string(first, length); diff --git a/net-p2p/libtorrent/files/patch-src_net_socket__set.h b/net-p2p/libtorrent/files/patch-src_net_socket__set.h deleted file mode 100644 index 257dbf235766..000000000000 --- a/net-p2p/libtorrent/files/patch-src_net_socket__set.h +++ /dev/null @@ -1,18 +0,0 @@ ---- src/net/socket_set.h.orig 2012-01-19 10:19:26 UTC -+++ src/net/socket_set.h -@@ -53,12 +53,12 @@ - - // Propably should rename to EventSet... - --class SocketSet : private std::vector<Event*, rak::cacheline_allocator<> > { -+class SocketSet : private std::vector<Event*, rak::cacheline_allocator<Event *> > { - public: - typedef uint32_t size_type; - -- typedef std::vector<Event*, rak::cacheline_allocator<> > base_type; -- typedef std::vector<size_type, rak::cacheline_allocator<> > Table; -+ typedef std::vector<Event*, rak::cacheline_allocator<Event *> > base_type; -+ typedef std::vector<size_type, rak::cacheline_allocator<size_type> > Table; - - static const size_type npos = static_cast<size_type>(-1); - diff --git a/net-p2p/libtorrent/files/patch-src_torrent_net_socket__address__key.h b/net-p2p/libtorrent/files/patch-src_torrent_net_socket__address__key.h new file mode 100644 index 000000000000..cf23b993d598 --- /dev/null +++ b/net-p2p/libtorrent/files/patch-src_torrent_net_socket__address__key.h @@ -0,0 +1,10 @@ +--- src/torrent/net/socket_address_key.h.orig 2018-07-03 23:50:04 UTC ++++ src/torrent/net/socket_address_key.h +@@ -7,6 +7,7 @@ + #include <cstring> + #include <inttypes.h> + #include <netinet/in.h> ++#include <sys/socket.h> + + // Unique key for the socket address, excluding port numbers, etc. + diff --git a/net-p2p/libtorrent/pkg-plist b/net-p2p/libtorrent/pkg-plist index 20df140ff81d..9ea98b1b4928 100644 --- a/net-p2p/libtorrent/pkg-plist +++ b/net-p2p/libtorrent/pkg-plist @@ -27,6 +27,7 @@ include/torrent/event.h include/torrent/exceptions.h include/torrent/hash_string.h include/torrent/http.h +include/torrent/net/socket_address_key.h include/torrent/object.h include/torrent/object_raw_bencode.h include/torrent/object_static_map.h @@ -49,6 +50,7 @@ include/torrent/torrent.h include/torrent/tracker.h include/torrent/tracker_controller.h include/torrent/tracker_list.h +include/torrent/utils/directory_events.h include/torrent/utils/extents.h include/torrent/utils/log.h include/torrent/utils/log_buffer.h @@ -59,7 +61,7 @@ include/torrent/utils/resume.h include/torrent/utils/signal_bitfield.h include/torrent/utils/thread_base.h include/torrent/utils/thread_interrupt.h +include/torrent/utils/uri_parser.h lib/libtorrent.so -lib/libtorrent.so.19 -lib/libtorrent.so.19.0.0 +lib/libtorrent.so.20.0.0 libdata/pkgconfig/libtorrent.pc |