aboutsummaryrefslogtreecommitdiff
path: root/net-p2p
diff options
context:
space:
mode:
authorGuido Falsi <madpilot@FreeBSD.org>2014-07-07 19:33:00 +0000
committerGuido Falsi <madpilot@FreeBSD.org>2014-07-07 19:33:00 +0000
commit136fdffb5c192b746ca85efa42e403d648b2fd67 (patch)
treeaf48c7eecdd13d3a01fe41cdcfca496a6523de79 /net-p2p
parent0224bdcd41b923b723f402aa52a908566912facb (diff)
downloadports-136fdffb5c192b746ca85efa42e403d648b2fd67.tar.gz
ports-136fdffb5c192b746ca85efa42e403d648b2fd67.zip
Notes
Diffstat (limited to 'net-p2p')
-rw-r--r--net-p2p/Makefile2
-rw-r--r--net-p2p/libtorrent-devel/Makefile56
-rw-r--r--net-p2p/libtorrent-devel/distinfo2
-rw-r--r--net-p2p/libtorrent-devel/files/patch-ltmain.sh10
-rw-r--r--net-p2p/libtorrent-devel/files/patch-src_data_memory__chunk.cc20
-rw-r--r--net-p2p/libtorrent-devel/files/patch-src_torrent_poll__kqueue.cc20
-rw-r--r--net-p2p/libtorrent-devel/files/patch-src_torrent_utils_thread__base.cc20
-rw-r--r--net-p2p/libtorrent-devel/pkg-descr5
-rw-r--r--net-p2p/libtorrent-devel/pkg-plist71
-rw-r--r--net-p2p/libtorrent/Makefile26
-rw-r--r--net-p2p/libtorrent/distinfo4
-rw-r--r--net-p2p/libtorrent/files/extra-clang94
-rw-r--r--net-p2p/libtorrent/files/patch-src__torrent__connection_manager.h10
-rw-r--r--net-p2p/libtorrent/files/patch-src_torrent_connection__manager.h (renamed from net-p2p/libtorrent-devel/files/patch-src__torrent__connection_manager.h)4
-rw-r--r--net-p2p/libtorrent/files/patch-src_torrent_utils_log.cc19
-rw-r--r--net-p2p/libtorrent/files/patch-src_torrent_utils_log.h21
-rw-r--r--net-p2p/libtorrent/files/patch-src_torrent_utils_thread__base.cc20
-rw-r--r--net-p2p/libtorrent/pkg-plist8
-rw-r--r--net-p2p/rtorrent-devel/Makefile64
-rw-r--r--net-p2p/rtorrent-devel/distinfo2
-rw-r--r--net-p2p/rtorrent-devel/files/patch-src_thread_base.cc11
-rw-r--r--net-p2p/rtorrent-devel/files/pkg-message.in8
-rw-r--r--net-p2p/rtorrent-devel/pkg-descr11
-rw-r--r--net-p2p/rtorrent-devel/pkg-plist3
-rw-r--r--net-p2p/rtorrent/Makefile11
-rw-r--r--net-p2p/rtorrent/distinfo4
26 files changed, 102 insertions, 424 deletions
diff --git a/net-p2p/Makefile b/net-p2p/Makefile
index f14554f9f61f..0bd227e430b1 100644
--- a/net-p2p/Makefile
+++ b/net-p2p/Makefile
@@ -46,7 +46,6 @@
SUBDIR += libktorrent
SUBDIR += libpdtp
SUBDIR += libtorrent
- SUBDIR += libtorrent-devel
SUBDIR += libtorrent-rasterbar
SUBDIR += libtorrent-rasterbar-python
SUBDIR += linux-jigdo
@@ -84,7 +83,6 @@
SUBDIR += retroshare
SUBDIR += rtgui
SUBDIR += rtorrent
- SUBDIR += rtorrent-devel
SUBDIR += shx
SUBDIR += solidcoin
SUBDIR += squall
diff --git a/net-p2p/libtorrent-devel/Makefile b/net-p2p/libtorrent-devel/Makefile
deleted file mode 100644
index 53c59a7f19c7..000000000000
--- a/net-p2p/libtorrent-devel/Makefile
+++ /dev/null
@@ -1,56 +0,0 @@
-# $FreeBSD$
-
-PORTNAME= libtorrent-devel
-PORTVERSION= 0.13.3
-PORTREVISION= 2
-CATEGORIES= net-p2p
-MASTER_SITES= http://libtorrent.rakshasa.no/downloads/
-DISTNAME= ${PORTNAME:S/-devel//}-${PORTVERSION}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= BitTorrent Library written in C++ (development version)
-
-LIB_DEPENDS= sigc-2.0.0:${PORTSDIR}/devel/libsigc++20
-
-CONFLICTS= libtorrent-[0-9]* \
- rblibtorrent-[0-9]* \
- rblibtorrent-devel-[0-9]*
-
-USE_AUTOTOOLS= libtool
-USES= pathfix pkgconfig
-USE_OPENSSL= yes
-USE_LDCONFIG= yes
-GNU_CONFIGURE= yes
-
-OPTIONS_DEFINE= KQUEUE IPV6
-OPTIONS_DEFAULT= KQUEUE
-KQUEUE_DESC= Use kqueue(2) support
-
-.include <bsd.port.pre.mk>
-
-.if defined(WITH_OPENSSL_BASE)
-# The reason why I use this is cause openssl from base doesn't install a .pc file
-# and configure will fail trying to find it. Setting both of those variables to
-# a *non-empty* value by-passes the pkg-config check.
-CONFIGURE_ENV= OPENSSL_LIBS="-L/usr/lib -ssl -crypto" OPENSSL_CFLAGS="-I/usr/include"
-.endif
-
-CONFIGURE_ARGS+= --disable-debug
-
-# Workaround to build on > 10.x
-.if ${OSVERSION} >= 1000000
-USE_GCC= yes
-.endif
-
-post-patch:
- @${REINPLACE_CMD} -e 's|-O3|${CFLAGS}|' ${WRKSRC}/configure
-
-.if ${PORT_OPTIONS:MKQUEUE}
-CONFIGURE_ARGS+= --with-kqueue
-.endif
-
-.if ${PORT_OPTIONS:MIPV6}
-CONFIGURE_ARGS+= --enable-ipv6
-.endif
-
-.include <bsd.port.post.mk>
diff --git a/net-p2p/libtorrent-devel/distinfo b/net-p2p/libtorrent-devel/distinfo
deleted file mode 100644
index ba9e8c869cc4..000000000000
--- a/net-p2p/libtorrent-devel/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (libtorrent-0.13.3.tar.gz) = 34317d6783b7f8d0805274c9467475b5432a246c0de8e28fc16e3b0b43f35677
-SIZE (libtorrent-0.13.3.tar.gz) = 732847
diff --git a/net-p2p/libtorrent-devel/files/patch-ltmain.sh b/net-p2p/libtorrent-devel/files/patch-ltmain.sh
deleted file mode 100644
index 6449cfe47bec..000000000000
--- a/net-p2p/libtorrent-devel/files/patch-ltmain.sh
+++ /dev/null
@@ -1,10 +0,0 @@
---- ltmain.sh.orig Fri Oct 27 22:47:02 2006
-+++ ltmain.sh Tue Nov 7 10:33:04 2006
-@@ -1256,6 +1256,7 @@
- ;;
-
- -avoid-version)
-+ build_old_libs=no
- avoid_version=yes
- continue
- ;;
diff --git a/net-p2p/libtorrent-devel/files/patch-src_data_memory__chunk.cc b/net-p2p/libtorrent-devel/files/patch-src_data_memory__chunk.cc
deleted file mode 100644
index 5e35bd2c6d45..000000000000
--- a/net-p2p/libtorrent-devel/files/patch-src_data_memory__chunk.cc
+++ /dev/null
@@ -1,20 +0,0 @@
-*** src/data/memory_chunk.cc.orig Wed Feb 10 09:55:42 2010
---- src/data/memory_chunk.cc Wed Feb 10 09:56:26 2010
-***************
-*** 78,87 ****
---- 78,90 ----
- void
- MemoryChunk::unmap() {
- if (!is_valid())
- throw internal_error("MemoryChunk::unmap() called on an invalid object");
-
-+ if (msync(m_ptr, m_end - m_ptr,MS_INVALIDATE) != 0)
-+ throw internal_error("MemoryChunk::unmap() - msync() system call failed");
-+
- if (munmap(m_ptr, m_end - m_ptr) != 0)
- throw internal_error("MemoryChunk::unmap() system call failed: " + std::string(rak::error_number::current().c_str()));
- }
-
- void
-
-
diff --git a/net-p2p/libtorrent-devel/files/patch-src_torrent_poll__kqueue.cc b/net-p2p/libtorrent-devel/files/patch-src_torrent_poll__kqueue.cc
deleted file mode 100644
index d0d718b680c4..000000000000
--- a/net-p2p/libtorrent-devel/files/patch-src_torrent_poll__kqueue.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/torrent/poll_kqueue.cc.orig 2008-12-09 10:47:34.000000000 +0000
-+++ src/torrent/poll_kqueue.cc 2008-12-09 10:48:10.000000000 +0000
-@@ -52,6 +52,8 @@
- #include <sys/event.h>
- #include <sys/select.h>
- #include <sys/time.h>
-+
-+#include <assert.h>
- #endif
-
- namespace torrent {
-@@ -113,7 +113,7 @@
- if (fd == -1)
- return NULL;
-
-- return new PollKQueue(fd, 1024, maxOpenSockets);
-+ return new PollKQueue(fd, 16384, maxOpenSockets);
- }
-
- PollKQueue::PollKQueue(int fd, int maxEvents, int maxOpenSockets) :
diff --git a/net-p2p/libtorrent-devel/files/patch-src_torrent_utils_thread__base.cc b/net-p2p/libtorrent-devel/files/patch-src_torrent_utils_thread__base.cc
deleted file mode 100644
index 0e63edc3bd07..000000000000
--- a/net-p2p/libtorrent-devel/files/patch-src_torrent_utils_thread__base.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/torrent/utils/thread_base.cc.orig
-+++ src/torrent/utils/thread_base.cc
-@@ -88,6 +88,8 @@ thread_base::stop_thread_wait() {
-
- void
- thread_base::interrupt() {
-+ int sleep_length = 0;
-+
- __sync_fetch_and_or(&m_flags, flag_no_timeout);
-
- while (is_polling() && has_no_timeout()) {
-@@ -96,7 +98,8 @@ thread_base::interrupt() {
- if (!(is_polling() && has_no_timeout()))
- return;
-
-- usleep(0);
-+ usleep(sleep_length);
-+ sleep_length = std::min(sleep_length + 50, 1000);
- }
- }
diff --git a/net-p2p/libtorrent-devel/pkg-descr b/net-p2p/libtorrent-devel/pkg-descr
deleted file mode 100644
index b442773d1c2f..000000000000
--- a/net-p2p/libtorrent-devel/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-LibTorrent is a BitTorrent library written in C++ for *nix. It is
-designed to avoid redundant copying and storing of data that other
-clients and libraries suffer from. Licensed under the GPL.
-
-WWW: http://libtorrent.rakshasa.no/
diff --git a/net-p2p/libtorrent-devel/pkg-plist b/net-p2p/libtorrent-devel/pkg-plist
deleted file mode 100644
index 699b9748cb51..000000000000
--- a/net-p2p/libtorrent-devel/pkg-plist
+++ /dev/null
@@ -1,71 +0,0 @@
-include/torrent/bitfield.h
-include/torrent/chunk_manager.h
-include/torrent/common.h
-include/torrent/connection_manager.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/dht_manager.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_info.h
-include/torrent/error.h
-include/torrent/event.h
-include/torrent/exceptions.h
-include/torrent/hash_string.h
-include/torrent/http.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/poll.h
-include/torrent/poll_epoll.h
-include/torrent/poll_kqueue.h
-include/torrent/poll_select.h
-include/torrent/rate.h
-include/torrent/throttle.h
-include/torrent/torrent.h
-include/torrent/tracker.h
-include/torrent/tracker_controller.h
-include/torrent/tracker_list.h
-include/torrent/utils/extents.h
-include/torrent/utils/log.h
-include/torrent/utils/log_buffer.h
-include/torrent/utils/log_files.h
-include/torrent/utils/net.h
-include/torrent/utils/option_strings.h
-include/torrent/utils/ranges.h
-include/torrent/utils/resume.h
-include/torrent/utils/signal_bitfield.h
-include/torrent/utils/thread_base.h
-lib/libtorrent.a
-lib/libtorrent.la
-lib/libtorrent.so
-lib/libtorrent.so.17
-libdata/pkgconfig/libtorrent.pc
-@dirrmtry include/torrent/utils
-@dirrmtry include/torrent/peer
-@dirrmtry include/torrent/download
-@dirrmtry include/torrent/data
-@dirrmtry include/torrent
diff --git a/net-p2p/libtorrent/Makefile b/net-p2p/libtorrent/Makefile
index e20410b57eae..26986207c1ea 100644
--- a/net-p2p/libtorrent/Makefile
+++ b/net-p2p/libtorrent/Makefile
@@ -1,24 +1,19 @@
# $FreeBSD$
PORTNAME= libtorrent
-PORTVERSION= 0.13.2
-PORTREVISION= 3
+PORTVERSION= 0.13.4
CATEGORIES= net-p2p
-MASTER_SITES= http://libtorrent.rakshasa.no/downloads/ \
- ${MASTER_SITE_LOCAL}
-MASTER_SITE_SUBDIR= flz/libtorrent
+MASTER_SITES= http://libtorrent.rakshasa.no/downloads/
-MAINTAINER?= ports@FreeBSD.org
-COMMENT?= BitTorrent Library written in C++
+MAINTAINER= ports@FreeBSD.org
+COMMENT= BitTorrent Library written in C++
-LIB_DEPENDS= sigc-2.0.0:${PORTSDIR}/devel/libsigc++20
+LIB_DEPENDS= libsigc-2.0.so:${PORTSDIR}/devel/libsigc++20
-CONFLICTS?= libtorrent-devel-[0-9]* \
- rblibtorrent-[0-9]* \
+CONFLICTS= rblibtorrent-[0-9]* \
rblibtorrent-devel-[0-9]*
-USE_AUTOTOOLS= libtool
-USES= pathfix pkgconfig
+USES= compiler:c++11-lang libtool pathfix pkgconfig
USE_OPENSSL= yes
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
@@ -38,6 +33,13 @@ CONFIGURE_ENV= OPENSSL_LIBS="-L/usr/lib -ssl -crypto" OPENSSL_CFLAGS="-I/usr/inc
CONFIGURE_ARGS+= --disable-debug
+# Disable amd64 atomic ops on i386 when using gcc
+# undefined reference to __sync_add_and_fetch_8
+# undefined reference to __sync_fetch_and_and_8
+.if ${ARCH} == "i386" && ${COMPILER_TYPE} == "gcc"
+CONFIGURE_ARGS+= --disable-instrumentation
+.endif
+
# Workaround to build on >= 10.x
.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1000000
CXXFLAGS+= -std=c++11
diff --git a/net-p2p/libtorrent/distinfo b/net-p2p/libtorrent/distinfo
index a43ebe2617fb..8e1ab3df815a 100644
--- a/net-p2p/libtorrent/distinfo
+++ b/net-p2p/libtorrent/distinfo
@@ -1,2 +1,2 @@
-SHA256 (libtorrent-0.13.2.tar.gz) = ed2f2dea16c29cac63fa2724f6658786d955f975861fa6811bcf1597ff8a5e4f
-SIZE (libtorrent-0.13.2.tar.gz) = 725088
+SHA256 (libtorrent-0.13.4.tar.gz) = 704e097119dc89e2ee4630396b25de1cd64b0549841347ea75b9ef9217084955
+SIZE (libtorrent-0.13.4.tar.gz) = 768382
diff --git a/net-p2p/libtorrent/files/extra-clang b/net-p2p/libtorrent/files/extra-clang
index 421abccf7b26..f4070b9cb886 100644
--- a/net-p2p/libtorrent/files/extra-clang
+++ b/net-p2p/libtorrent/files/extra-clang
@@ -1,9 +1,6 @@
-You guys are doing it wrong. And clang is strict about it.
-This makes rtorrent link again.
-
---- src/data/memory_chunk.cc 2013-12-07 17:21:35.803392000 +0100
-+++ old/data/memory_chunk.cc 2013-12-07 17:47:23.430285373 +0100
-@@ -54,6 +54,29 @@ extern "C" int madvise(void *, size_t, i
+--- src/data/memory_chunk.cc
++++ src/data/memory_chunk.cc
+@@ -54,6 +54,22 @@
namespace torrent {
@@ -13,19 +10,12 @@ This makes rtorrent link again.
+const int MemoryChunk::prot_none;
+const int MemoryChunk::map_shared;
+
-+#ifdef USE_MADVISE
+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;
-+#else
-+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;
-+#endif
++
+const int MemoryChunk::sync_sync;
+const int MemoryChunk::sync_async;
+const int MemoryChunk::sync_invalidate;
@@ -33,8 +23,19 @@ This makes rtorrent link again.
uint32_t MemoryChunk::m_pagesize = getpagesize();
inline void
---- src/torrent/data/file.cc 2013-12-07 17:21:35.590392000 +0100
-+++ old/torrent/data/file.cc 2013-12-07 17:45:59.975290599 +0100
+--- 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 {
@@ -51,8 +52,8 @@ This makes rtorrent link again.
File::File() :
m_fd(-1),
m_protection(0),
---- src/torrent/download.cc 2013-12-07 17:21:35.721391000 +0100
-+++ old/torrent/download.cc 2013-12-07 17:44:19.498298036 +0100
+--- src/torrent/download.cc
++++ src/torrent/download.cc
@@ -72,6 +72,20 @@
namespace torrent {
@@ -74,8 +75,8 @@ This makes rtorrent link again.
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 2013-12-07 17:21:35.676392000 +0100
-+++ old/torrent/peer/connection_list.cc 2013-12-07 17:44:32.385410379 +0100
+--- src/torrent/peer/connection_list.cc
++++ src/torrent/peer/connection_list.cc
@@ -60,6 +60,11 @@
namespace torrent {
@@ -88,3 +89,56 @@ This makes rtorrent link again.
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-src__torrent__connection_manager.h b/net-p2p/libtorrent/files/patch-src__torrent__connection_manager.h
deleted file mode 100644
index dc26b729c50e..000000000000
--- a/net-p2p/libtorrent/files/patch-src__torrent__connection_manager.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- ./src/torrent/connection_manager.h.orig 2013-10-25 09:26:00.379999391 +0100
-+++ ./src/torrent/connection_manager.h 2013-10-25 09:26:18.486351796 +0100
-@@ -40,6 +40,7 @@
- #define LIBTORRENT_CONNECTION_MANAGER_H
-
- #include <sys/socket.h>
-+#include <sys/types.h>
- #include <arpa/inet.h>
- #include <netinet/in.h>
- #include <netinet/in_systm.h>
diff --git a/net-p2p/libtorrent-devel/files/patch-src__torrent__connection_manager.h b/net-p2p/libtorrent/files/patch-src_torrent_connection__manager.h
index 8e6e2a8d06ce..d6c50ed6f46c 100644
--- a/net-p2p/libtorrent-devel/files/patch-src__torrent__connection_manager.h
+++ b/net-p2p/libtorrent/files/patch-src_torrent_connection__manager.h
@@ -1,5 +1,5 @@
---- ./src/torrent/connection_manager.h.orig 2013-12-15 17:55:18.427951513 +0400
-+++ ./src/torrent/connection_manager.h 2013-12-15 17:55:43.459221755 +0400
+--- src/torrent/connection_manager.h
++++ src/torrent/connection_manager.h
@@ -42,6 +42,7 @@
#include <list>
diff --git a/net-p2p/libtorrent/files/patch-src_torrent_utils_log.cc b/net-p2p/libtorrent/files/patch-src_torrent_utils_log.cc
deleted file mode 100644
index 01102fbd17ab..000000000000
--- a/net-p2p/libtorrent/files/patch-src_torrent_utils_log.cc
+++ /dev/null
@@ -1,19 +0,0 @@
---- src/torrent/utils/log.cc.orig 2012-03-20 16:10:16.000000000 +0100
-+++ src/torrent/utils/log.cc 2014-02-02 18:49:35.000000000 +0100
-@@ -158,6 +158,7 @@
- va_list ap;
- unsigned int buffer_size = 4096;
- char buffer[buffer_size];
-+ char *bufp = buffer;
- char* first = buffer;
-
- if (hash != NULL && subsystem != NULL) {
-@@ -176,7 +177,7 @@
- pthread_mutex_lock(&log_mutex);
- std::for_each(m_first, m_last, tr1::bind(&log_slot::operator(),
- tr1::placeholders::_1,
-- buffer,
-+ bufp,
- std::distance(buffer, first),
- std::distance(log_groups.begin(), this)));
- if (dump_data != NULL)
diff --git a/net-p2p/libtorrent/files/patch-src_torrent_utils_log.h b/net-p2p/libtorrent/files/patch-src_torrent_utils_log.h
deleted file mode 100644
index 9f26e740d13a..000000000000
--- a/net-p2p/libtorrent/files/patch-src_torrent_utils_log.h
+++ /dev/null
@@ -1,21 +0,0 @@
---- src/torrent/utils/log.h.orig 2012-04-20 08:41:43.000000000 +0200
-+++ src/torrent/utils/log.h 2014-02-02 18:40:40.000000000 +0100
-@@ -124,15 +124,15 @@
-
- #define lt_log_print(log_group, ...) \
- if (torrent::log_groups[log_group].valid()) \
-- torrent::log_groups[log_group].internal_print(NULL, NULL, NULL, NULL, __VA_ARGS__);
-+ torrent::log_groups[log_group].internal_print(NULL, NULL, NULL, 0, __VA_ARGS__);
-
- #define lt_log_print_info(log_group, log_info, log_subsystem, ...) \
- if (torrent::log_groups[log_group].valid()) \
-- torrent::log_groups[log_group].internal_print(&log_info->hash(), log_subsystem, NULL, NULL, __VA_ARGS__);
-+ torrent::log_groups[log_group].internal_print(&log_info->hash(), log_subsystem, NULL, 0, __VA_ARGS__);
-
- #define lt_log_print_data(log_group, log_data, log_subsystem, ...) \
- if (torrent::log_groups[log_group].valid()) \
-- torrent::log_groups[log_group].internal_print(&log_data->hash(), log_subsystem, NULL, NULL, __VA_ARGS__);
-+ torrent::log_groups[log_group].internal_print(&log_data->hash(), log_subsystem, NULL, 0, __VA_ARGS__);
-
- #define lt_log_print_dump(log_group, log_dump_data, log_dump_size, ...) \
- if (torrent::log_groups[log_group].valid()) \
diff --git a/net-p2p/libtorrent/files/patch-src_torrent_utils_thread__base.cc b/net-p2p/libtorrent/files/patch-src_torrent_utils_thread__base.cc
deleted file mode 100644
index 0e63edc3bd07..000000000000
--- a/net-p2p/libtorrent/files/patch-src_torrent_utils_thread__base.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/torrent/utils/thread_base.cc.orig
-+++ src/torrent/utils/thread_base.cc
-@@ -88,6 +88,8 @@ thread_base::stop_thread_wait() {
-
- void
- thread_base::interrupt() {
-+ int sleep_length = 0;
-+
- __sync_fetch_and_or(&m_flags, flag_no_timeout);
-
- while (is_polling() && has_no_timeout()) {
-@@ -96,7 +98,8 @@ thread_base::interrupt() {
- if (!(is_polling() && has_no_timeout()))
- return;
-
-- usleep(0);
-+ usleep(sleep_length);
-+ sleep_length = std::min(sleep_length + 50, 1000);
- }
- }
diff --git a/net-p2p/libtorrent/pkg-plist b/net-p2p/libtorrent/pkg-plist
index 4cd23b189c13..524bbc63fb0e 100644
--- a/net-p2p/libtorrent/pkg-plist
+++ b/net-p2p/libtorrent/pkg-plist
@@ -52,16 +52,16 @@ include/torrent/tracker_list.h
include/torrent/utils/extents.h
include/torrent/utils/log.h
include/torrent/utils/log_buffer.h
-include/torrent/utils/log_files.h
+include/torrent/utils/net.h
include/torrent/utils/option_strings.h
include/torrent/utils/ranges.h
include/torrent/utils/resume.h
include/torrent/utils/signal_bitfield.h
include/torrent/utils/thread_base.h
-lib/libtorrent.a
-lib/libtorrent.la
+include/torrent/utils/thread_interrupt.h
lib/libtorrent.so
-lib/libtorrent.so.14
+lib/libtorrent.so.18
+lib/libtorrent.so.18.0.0
libdata/pkgconfig/libtorrent.pc
@dirrmtry include/torrent/utils
@dirrmtry include/torrent/peer
diff --git a/net-p2p/rtorrent-devel/Makefile b/net-p2p/rtorrent-devel/Makefile
deleted file mode 100644
index 1838aecc80a4..000000000000
--- a/net-p2p/rtorrent-devel/Makefile
+++ /dev/null
@@ -1,64 +0,0 @@
-# $FreeBSD$
-
-PORTNAME= rtorrent-devel
-PORTVERSION= 0.9.3
-PORTREVISION= 3
-CATEGORIES= net-p2p
-MASTER_SITES= http://libtorrent.rakshasa.no/downloads/
-DISTNAME= ${PORTNAME:S/-devel//}-${PORTVERSION}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= BitTorrent Client written in C++ (development version)
-
-BUILD_DEPENDS= libtorrent-devel=0.13.3_2:${PORTSDIR}/net-p2p/libtorrent-devel
-RUN_DEPENDS= libtorrent-devel=0.13.3_2:${PORTSDIR}/net-p2p/libtorrent-devel
-LIB_DEPENDS= libcurl.so:${PORTSDIR}/ftp/curl
-
-CONFLICTS= rtorrent-[0-9]*
-
-GNU_CONFIGURE= yes
-USES= pkgconfig
-LDFLAGS+= -pthread
-CONFIGURE_ARGS= --disable-debug
-
-SUB_FILES= pkg-message
-
-PORTDOCS= README
-
-OPTIONS_DEFINE= XMLRPC IPV6 DOCS
-OPTIONS_DEFAULT= XMLRPC
-XMLRPC_DESC= Compile with xmlrpc-c support
-
-.include <bsd.port.options.mk>
-
-.if ${ARCH} == arm
-BROKEN= Does not configure on arm
-.endif
-
-# Workaround to build and segfault on > 10.x
-.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1000000
-USE_GCC= yes
-LDFLAGS+= -lc++
-.endif
-
-.if ${PORT_OPTIONS:MXMLRPC}
-CONFIGURE_ARGS+= --with-xmlrpc-c
-LIB_DEPENDS+= libxmlrpc.so:${PORTSDIR}/net/xmlrpc-c-devel
-.else
-CONFIGURE_ARGS+= --with-xmlrpc-c=no
-.endif
-
-.if ${PORT_OPTIONS:MIPV6}
-CONFIGURE_ARGS+= --enable-ipv6
-.endif
-
-post-patch:
- @${REINPLACE_CMD} -e 's|-O3|${CFLAGS}|' ${WRKSRC}/configure
-
-post-install:
- ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
- ${INSTALL_DATA} ${WRKSRC}/doc/rtorrent.rc ${STAGEDIR}${EXAMPLESDIR}
- ${MKDIR} ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${WRKSRC}/${PORTDOCS} ${STAGEDIR}${DOCSDIR}
-
-.include <bsd.port.mk>
diff --git a/net-p2p/rtorrent-devel/distinfo b/net-p2p/rtorrent-devel/distinfo
deleted file mode 100644
index aac4685d2c55..000000000000
--- a/net-p2p/rtorrent-devel/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (rtorrent-0.9.3.tar.gz) = 9e93ca41beb1afe74ad7ad8013e0d53ae3586c9b0e97263d722f721535cc7310
-SIZE (rtorrent-0.9.3.tar.gz) = 583311
diff --git a/net-p2p/rtorrent-devel/files/patch-src_thread_base.cc b/net-p2p/rtorrent-devel/files/patch-src_thread_base.cc
deleted file mode 100644
index 0a84dda1069d..000000000000
--- a/net-p2p/rtorrent-devel/files/patch-src_thread_base.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/thread_base.cc.orig 2011-04-05 11:26:11.000000000 +0100
-+++ src/thread_base.cc 2011-06-09 18:59:41.375670521 +0100
-@@ -61,7 +61,7 @@
-
- static const unsigned int max_size = 32;
-
-- thread_queue_hack() { std::memset(this, 0, sizeof(thread_queue_hack)); }
-+ thread_queue_hack() : m_lock(0) { std::memset(this, 0, sizeof(thread_queue_hack)); }
-
- void lock() { while (!__sync_bool_compare_and_swap(&m_lock, 0, 1)) usleep(0); }
- void unlock() { __sync_bool_compare_and_swap(&m_lock, 1, 0); }
diff --git a/net-p2p/rtorrent-devel/files/pkg-message.in b/net-p2p/rtorrent-devel/files/pkg-message.in
deleted file mode 100644
index 39068b4e21f6..000000000000
--- a/net-p2p/rtorrent-devel/files/pkg-message.in
+++ /dev/null
@@ -1,8 +0,0 @@
-------------------------------------------------------------------
-An example configuration file for rtorrent has been installed in
-%%EXAMPLESDIR%%. Read it for more information on
-how to tweak rtorrent configuration.
-
-Note that there are hash performance issues on *BSD:
-- http://libtorrent.rakshasa.no/wiki/RTorrentPerformanceTuning
-------------------------------------------------------------------
diff --git a/net-p2p/rtorrent-devel/pkg-descr b/net-p2p/rtorrent-devel/pkg-descr
deleted file mode 100644
index 00cdc67d52de..000000000000
--- a/net-p2p/rtorrent-devel/pkg-descr
+++ /dev/null
@@ -1,11 +0,0 @@
-Rtorrent is a ncurses BitTorrent Client written in C++ for *nix.
-
-Main Features are :
- * Use an URL or file path to add torrents at runtime
- * Stop/delete/resume torrents
- * Optionally loads/saves/deletes torrents automatically in a session directory
- * Safe fast resume support
- * Peer's download speed calculated from incoming HAVE messages
- * Peer download progress
-
-WWW: http://libtorrent.rakshasa.no/
diff --git a/net-p2p/rtorrent-devel/pkg-plist b/net-p2p/rtorrent-devel/pkg-plist
deleted file mode 100644
index f1b481743355..000000000000
--- a/net-p2p/rtorrent-devel/pkg-plist
+++ /dev/null
@@ -1,3 +0,0 @@
-bin/rtorrent
-%%EXAMPLESDIR%%/rtorrent.rc
-@dirrm %%EXAMPLESDIR%%
diff --git a/net-p2p/rtorrent/Makefile b/net-p2p/rtorrent/Makefile
index d2958a2a7341..4bd941498b3c 100644
--- a/net-p2p/rtorrent/Makefile
+++ b/net-p2p/rtorrent/Makefile
@@ -1,20 +1,17 @@
# $FreeBSD$
-PORTNAME?= rtorrent
-PORTVERSION= 0.9.2
-PORTREVISION= 5
+PORTNAME= rtorrent
+PORTVERSION= 0.9.4
CATEGORIES= net-p2p
MASTER_SITES= http://libtorrent.rakshasa.no/downloads/
MAINTAINER= ports@FreeBSD.org
COMMENT= BitTorrent Client written in C++
-BUILD_DEPENDS= libtorrent=0.13.2_3:${PORTSDIR}/net-p2p/libtorrent
-RUN_DEPENDS= libtorrent=0.13.2_3:${PORTSDIR}/net-p2p/libtorrent
+BUILD_DEPENDS= libtorrent=0.13.4:${PORTSDIR}/net-p2p/libtorrent
+RUN_DEPENDS= libtorrent=0.13.4:${PORTSDIR}/net-p2p/libtorrent
LIB_DEPENDS= libcurl.so:${PORTSDIR}/ftp/curl
-CONFLICTS= rtorrent-devel-[0-9]*
-
GNU_CONFIGURE= yes
USES= pkgconfig
LDFLAGS+= -pthread
diff --git a/net-p2p/rtorrent/distinfo b/net-p2p/rtorrent/distinfo
index 90858d117abb..2d03f444ba95 100644
--- a/net-p2p/rtorrent/distinfo
+++ b/net-p2p/rtorrent/distinfo
@@ -1,2 +1,2 @@
-SHA256 (rtorrent-0.9.2.tar.gz) = 5c8f8c780bee376afce3c1cde2f5ecb928f40bac23b2b8171deed5cf3c888c3d
-SIZE (rtorrent-0.9.2.tar.gz) = 591837
+SHA256 (rtorrent-0.9.4.tar.gz) = bc0a2c1ee613b68f37021beaf4e64a9252f91ed06f998c1e897897c354ce7e84
+SIZE (rtorrent-0.9.4.tar.gz) = 601913