summaryrefslogtreecommitdiff
path: root/net/libtorrent
diff options
context:
space:
mode:
authortron <tron>2009-07-09 10:42:28 +0000
committertron <tron>2009-07-09 10:42:28 +0000
commit355547a698d80d24377b2b8358aa93776adfa187 (patch)
tree1750cb3a08e7a51879ca50e1499bd36c1762aacf /net/libtorrent
parenta7cd8caf0029117638cc94a8018098289526e034 (diff)
downloadpkgsrc-355547a698d80d24377b2b8358aa93776adfa187.tar.gz
Update "libtorrent" package to version 0.12.4 and "rtorrent" package
to version 0.8.4. Changes since 0.12.2 respectively 0.8.2: - Fixed EINTR handling in execute command. - Fixed a couple of memory leaks in xmlrpc.cc. - Initial seeding support added. - Added a work-around for the stdin kqueue bug in MacOSX. - Numerous bug-fixes and patches. - Work-around for OpenBSD's broken sys/event.h, which fails to compile if it's the first (or only) included header. (Ticket #1470) - Fixes compilation with old libcurl versions. (Ticket #1471) - Fix compile error on systems that lack mincore(2). - Fixes a crash in epoll due to libcurl/c-ares bug: PollEPoll::modify(...) epoll_ctl call failed. - Enforce an http transfer timeout when libcurl fails to honor it. Also set a 5-minute timeout for (previously unlimited) torrent transfers and fixes the argument type for curl_easy_setopt values. - Allows bandwidth throttles to work without floating point support. - Added the 'd.add_peer=host[:port]' command to manually add a peer (not for torrents marked "private"), port 6881 is the default. - Allows banning the selected peer with "B". No unbanning is possible yet. - Added system.method.{insert,erase} commands that allows user-specified commands. E.g "system.method.insert=foo,print=Bar". - Differentiate between commands that have no target, and those that take generic targets, when using XMLRPC. - Added 'event.download.inserted_{new,session}' that are triggered when a new or a session torrent is added. Ticket #1516. - Added 'system.method.get', 'ui.current_view.set' and 'group.insert' commands. - Enabled different ratio settings for different groups of downloads. - Added 'view.persistance' command that makes downloads inserted into that view persist across sessions. Only call on user-created views. - Added 'ratio.*' commands that call the 'group.seeding.ratio.*' equivalents. - Changed torrent::DownloadList::close_directly() so doesn't save the session if the underlying file/directory has been moved or removed. This change, in addition to calling 'd.set_directory=' before 'execute=mv,...', as previously shown in the examples, will make rtorrent behave correctly when 'check_hash=no' is set.
Diffstat (limited to 'net/libtorrent')
-rw-r--r--net/libtorrent/Makefile7
-rw-r--r--net/libtorrent/distinfo10
-rw-r--r--net/libtorrent/patches/patch-ab65
3 files changed, 17 insertions, 65 deletions
diff --git a/net/libtorrent/Makefile b/net/libtorrent/Makefile
index 0be1acaefbe..703877665e9 100644
--- a/net/libtorrent/Makefile
+++ b/net/libtorrent/Makefile
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.33 2009/06/04 19:15:46 tron Exp $
+# $NetBSD: Makefile,v 1.34 2009/07/09 10:42:28 tron Exp $
-DISTNAME= libtorrent-0.12.2
-PKGREVISION= 2
+DISTNAME= libtorrent-0.12.4
CATEGORIES= net
MASTER_SITES= ${HOMEPAGE:=downloads/}
@@ -21,7 +20,7 @@ GCC_REQD+= 3.3
.include "../../mk/bsd.prefs.mk"
-.if !empty(OPSYS:M*BSD) || ${OPSYS} == "DragonFly"
+.if !empty(OPSYS:M*BSD) || ${OPSYS} == "DragonFly" || ${OPSYS} == "Darwin"
CONFIGURE_ARGS+= --with-kqueue
.endif
diff --git a/net/libtorrent/distinfo b/net/libtorrent/distinfo
index 85ac37252b1..2021e6c341f 100644
--- a/net/libtorrent/distinfo
+++ b/net/libtorrent/distinfo
@@ -1,7 +1,7 @@
-$NetBSD: distinfo,v 1.24 2009/06/04 19:23:51 tron Exp $
+$NetBSD: distinfo,v 1.25 2009/07/09 10:42:28 tron Exp $
-SHA1 (libtorrent-0.12.2.tar.gz) = a53d2c671e9f2dd971d0622d5b3672da91c46ef9
-RMD160 (libtorrent-0.12.2.tar.gz) = 88cdc415f98afd8b87fa6d7330906737c3e434fa
-Size (libtorrent-0.12.2.tar.gz) = 585374 bytes
+SHA1 (libtorrent-0.12.4.tar.gz) = 6deab3f6af5e9566c987131d586751c7dc3b5dbb
+RMD160 (libtorrent-0.12.4.tar.gz) = 23fd8a242f493171f7e2afa714dc7b74359ff7bc
+Size (libtorrent-0.12.4.tar.gz) = 600778 bytes
SHA1 (patch-aa) = d864808b9e9524b3a7f72bcc1b465d4e6b2d4f4a
-SHA1 (patch-ab) = 8fdc29520ea79282d7253a85834e15b1eb47a1e6
+SHA1 (patch-ab) = db2dd21aa97b190d59e555ad6986a2432d755808
diff --git a/net/libtorrent/patches/patch-ab b/net/libtorrent/patches/patch-ab
index 2be27b07b66..282d2c6edf3 100644
--- a/net/libtorrent/patches/patch-ab
+++ b/net/libtorrent/patches/patch-ab
@@ -1,60 +1,13 @@
-$NetBSD: patch-ab,v 1.10 2009/06/04 19:23:51 tron Exp $
+$NetBSD: patch-ab,v 1.11 2009/07/09 10:42:29 tron Exp $
-Deal with the kqueue(2) API differences between NetBSD and the other BSDs.
-The upstream bug report is here:
-
-http://libtorrent.rakshasa.no/ticket/1765
-
---- src/torrent/poll_kqueue.cc.orig 2008-05-07 13:19:13.000000000 +0100
-+++ src/torrent/poll_kqueue.cc 2009-06-04 18:10:50.000000000 +0100
-@@ -57,6 +57,12 @@
-
- #ifdef USE_KQUEUE
+--- src/torrent/poll_kqueue.cc.orig 2008-10-28 03:48:48.000000000 +0000
++++ src/torrent/poll_kqueue.cc 2009-07-09 11:27:45.000000000 +0100
+@@ -54,6 +54,8 @@
+ #include <sys/time.h>
+ #endif
-+#ifdef __NetBSD__
-+typedef uintptr_t kevent_udata_t;
-+#else
-+typedef void *kevent_udata_t;
-+#endif
++#include <cassert>
+
- inline uint32_t
- PollKQueue::event_mask(Event* e) {
- return m_table[e->file_descriptor()];
-@@ -83,7 +89,7 @@
-
- struct kevent* itr = m_changes + (m_changedEvents++);
-
-- EV_SET(itr, event->file_descriptor(), mask, op, 0, 0, event);
-+ EV_SET(itr, event->file_descriptor(), mask, op, 0, 0, (kevent_udata_t)event);
- }
-
- PollKQueue*
-@@ -146,10 +152,10 @@
-
- // Also check current mask.
+ namespace torrent {
-- if (itr->filter == EVFILT_READ && itr->udata != NULL && event_mask((Event*)itr->udata) & flag_read)
-+ if (itr->filter == EVFILT_READ && itr->udata != (kevent_udata_t)NULL && event_mask((Event*)itr->udata) & flag_read)
- ((Event*)itr->udata)->event_read();
-
-- if (itr->filter == EVFILT_WRITE && itr->udata != NULL && event_mask((Event*)itr->udata) & flag_write)
-+ if (itr->filter == EVFILT_WRITE && itr->udata != (kevent_udata_t)NULL && event_mask((Event*)itr->udata) & flag_write)
- ((Event*)itr->udata)->event_write();
- }
-
-@@ -173,10 +179,12 @@
- throw internal_error("PollKQueue::close(...) called but the file descriptor is active");
-
- for (struct kevent *itr = m_events, *last = m_events + m_waitingEvents; itr != last; ++itr)
-- if (itr->udata == event)
-- itr->udata = NULL;
-+ if (itr->udata == (kevent_udata_t)event)
-+ itr->udata = (kevent_udata_t)NULL;
-+
-+ struct kevent *oitr = m_changes;
-
-- m_changedEvents = std::remove_if(m_changes, m_changes + m_changedEvents, rak::equal(event, rak::mem_ref(&kevent::udata))) - m_changes;
-+ m_changedEvents = std::remove_if(m_changes, m_changes + m_changedEvents, rak::equal((kevent_udata_t)event, rak::mem_ref(&kevent::udata))) - m_changes;
- }
-
- // Use custom defines for EPOLL* to make the below code compile with
+ #ifdef USE_KQUEUE