PKG_NAME:=rtorrent
-PKG_REV:=1100
+PKG_REV:=1104
PKG_VERSION:=0.8.5_r$(PKG_REV)
-PKG_RELEASE:=2
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=svn://rakshasa.no/libtorrent/trunk/rtorrent
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+++ /dev/null
-# Fixes a file handle leak in the execute_capture functions.
-Index: rtorrent/src/rpc/exec_file.cc
-===================================================================
---- rtorrent/src/rpc/exec_file.cc (revision 1093)
-+++ rtorrent/src/rpc/exec_file.cc (working copy)
-@@ -123,6 +123,8 @@
- m_capture += std::string(buffer, length);
- } while (length > 0);
-
-+ ::close(pipeFd[0]);
-+
- if (m_logFd != -1) {
- write(m_logFd, "Captured output:\n", sizeof("Captured output:\n"));
- write(m_logFd, m_capture.data(), m_capture.length());
+++ /dev/null
-# Fix crash when trying to call d.get_bitfield on a closed download. Ticket #1825 from libtorrent.rakshasa.no.
---- a/src/command_download.cc
-+++ b/src/command_download.cc
-@@ -296,6 +296,9 @@
-
- torrent::Object
- retrieve_d_bitfield(core::Download* download) {
-+ if (!download->download()->file_list()->is_open())
-+ throw torrent::input_error("Cannot retrieve bitfield of closed download.");
-+
- const torrent::Bitfield* bitField = download->download()->file_list()->bitfield();
-
- return torrent::Object(rak::transform_hex(bitField->begin(), bitField->end()));
--- /dev/null
+diff -durN a/scripts/common.m4 b/scripts/common.m4
+--- a/scripts/common.m4 2009-11-13 10:44:23.000000000 +0300
++++ b/scripts/common.m4 2009-11-05 11:20:35.000000000 +0300
+@@ -184,7 +183,7 @@
+ AC_DEFUN([TORRENT_CHECK_EXECINFO], [
+ AC_MSG_CHECKING(for execinfo.h)
+
+- AC_RUN_IFELSE(
++ AC_LINK_IFELSE(
+ [[#include <execinfo.h>
+ int main() { backtrace((void**)0, 0); backtrace_symbols((char**)0, 0); return 0;}
+ ]],
+++ /dev/null
-Upstream patch from: http://libtorrent.rakshasa.no/ticket/1271
-
-Fix the following gcc-3.4.6 ICE:
-
-In file included from ./../rpc/command_map.h:45,
- from ./../rpc/parse_commands.h:43,
- from dht_manager.cc:46:
-./../rpc/command.h: In function `rpc::target_type rpc::get_target_left(const rpc::target_type&)':
-./../rpc/command.h:153: internal compiler error: Segmentation fault
-
---- a/src/rpc/command.h
-+++ b/src/rpc/command.h
-@@ -87,10 +87,8 @@
- rt_triple(const T1& a, const T2& b, const T3& c) :
- base_type(a, b), third(c) {}
-
-- template <typename U1, typename U2>
-- rt_triple(const std::pair<U1, U2>& b) : base_type(b), third() {}
-+ rt_triple(const base_type& b) : base_type(b), third() {}
-
-- template <typename U1, typename U2, typename U3>
- rt_triple(const rt_triple& src) :
- base_type(src.first, src.second), third(src.third) {}
- };
+++ /dev/null
---- rtorrent-0.8.4_r1094/src/display/window_file_list.h 2009-06-18 02:53:53.000000000 -0700
-+++ rtorrent-0.8.4_r1094/src/display/window_file_list.h 2009-06-19 00:52:30.000000000 -0700
-@@ -39,6 +39,12 @@
-
- #include "window.h"
-
-+
-+// two-bit hack for gcc 3.4.6
-+namespace std {
-+ typedef basic_string<wchar_t> wstring;
-+}
-+
- namespace ui {
- class ElementFileList;
- }
+++ /dev/null
---- a/src/command_download.cc
-+++ b/src/command_download.cc
-@@ -310,7 +310,7 @@
- download->download()->signal_network_log(sigc::mem_fun(control->core(), &core::Manager::push_log_complete));
- download->download()->signal_storage_error(sigc::mem_fun(control->core(), &core::Manager::push_log_complete));
-
-- if (!rpc::call_command_string("get_tracker_dump").empty())
-+ if (!rpc::call_command_string("get_log.tracker").empty())
- download->download()->signal_tracker_dump(sigc::ptr_fun(&core::receive_tracker_dump));
-
- return torrent::Object();
---- a/src/core/manager.cc
-+++ b/src/core/manager.cc
-@@ -77,7 +77,7 @@
-
- void
- receive_tracker_dump(const std::string& url, const char* data, size_t size) {
-- const std::string& filename = rpc::call_command_string("get_tracker_dump");
-+ const std::string& filename = rpc::call_command_string("get_log.tracker");
-
- if (filename.empty())
- return;
-@@ -94,7 +94,7 @@
-
- void
- Manager::handshake_log(const sockaddr* sa, int msg, int err, const torrent::HashString* hash) {
-- if (!rpc::call_command_value("get_handshake_log"))
-+ if (!rpc::call_command_value("get_log.handshake"))
- return;
-
- std::string peer;