From 4e9ed113d229122856acd52cba4e72ee6298b805 Mon Sep 17 00:00:00 2001 From: tron Date: Thu, 9 Jul 2009 10:42:28 +0000 Subject: 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. --- net/libtorrent/Makefile | 7 ++--- net/libtorrent/distinfo | 10 +++---- net/libtorrent/patches/patch-ab | 65 ++++++----------------------------------- net/rtorrent/Makefile | 4 +-- net/rtorrent/distinfo | 8 ++--- 5 files changed, 23 insertions(+), 71 deletions(-) (limited to 'net') 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 + #endif -+#ifdef __NetBSD__ -+typedef uintptr_t kevent_udata_t; -+#else -+typedef void *kevent_udata_t; -+#endif ++#include + - 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 diff --git a/net/rtorrent/Makefile b/net/rtorrent/Makefile index ca82d19bb0b..4d66c6bf34d 100644 --- a/net/rtorrent/Makefile +++ b/net/rtorrent/Makefile @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.32 2009/07/07 21:22:08 joerg Exp $ +# $NetBSD: Makefile,v 1.33 2009/07/09 10:42:29 tron Exp $ -DISTNAME= rtorrent-0.8.2 +DISTNAME= rtorrent-0.8.4 CATEGORIES= net MASTER_SITES= ${HOMEPAGE:=downloads/} diff --git a/net/rtorrent/distinfo b/net/rtorrent/distinfo index 10db26249e1..fbff9c1d6e7 100644 --- a/net/rtorrent/distinfo +++ b/net/rtorrent/distinfo @@ -1,8 +1,8 @@ -$NetBSD: distinfo,v 1.22 2009/07/07 21:22:08 joerg Exp $ +$NetBSD: distinfo,v 1.23 2009/07/09 10:42:29 tron Exp $ -SHA1 (rtorrent-0.8.2.tar.gz) = 891093c5d600c2e3853eadbbec369a12dfe6ec11 -RMD160 (rtorrent-0.8.2.tar.gz) = e86b0082d1788e4e7cd8fcf631f7f857d642c799 -Size (rtorrent-0.8.2.tar.gz) = 506015 bytes +SHA1 (rtorrent-0.8.4.tar.gz) = 83a7c0dbeb46bb074ae075d9faf5d05f0df17571 +RMD160 (rtorrent-0.8.4.tar.gz) = a7a65a136161dc89e93479cee776cc084dce4ee0 +Size (rtorrent-0.8.4.tar.gz) = 518306 bytes SHA1 (patch-aa) = ef8edceb33f28e022e3d48706c30733ac3a730a3 SHA1 (patch-ab) = 87873bb32166d00398ab0ef6421a6fe85a55c914 SHA1 (patch-ac) = b62de9ce834aa0422ec173e694d07e88aa1e2f47 -- cgit v1.2.3