summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDawid Węgliński <cla@gentoo.org>2010-01-21 11:19:34 +0000
committerDawid Węgliński <cla@gentoo.org>2010-01-21 11:19:34 +0000
commit0edd78ae798ee751b035a557a21c36e4d06545ce (patch)
tree59df7a06e258f406c27835c91c3c040eed82ff4e /net-p2p/rtorrent
parentAdd ruby19/jruby as they pass tests, also make sure to let the ebuild die if ... (diff)
downloadgentoo-2-0edd78ae798ee751b035a557a21c36e4d06545ce.tar.gz
gentoo-2-0edd78ae798ee751b035a557a21c36e4d06545ce.tar.bz2
gentoo-2-0edd78ae798ee751b035a557a21c36e4d06545ce.zip
Add canvas colour patch. Bug #295373.
(Portage version: 2.2_rc61/cvs/Linux x86_64)
Diffstat (limited to 'net-p2p/rtorrent')
-rw-r--r--net-p2p/rtorrent/ChangeLog8
-rw-r--r--net-p2p/rtorrent/files/rtorrent-0.8.6-canvas-fix.patch321
-rw-r--r--net-p2p/rtorrent/rtorrent-0.8.6.ebuild10
3 files changed, 335 insertions, 4 deletions
diff --git a/net-p2p/rtorrent/ChangeLog b/net-p2p/rtorrent/ChangeLog
index 3185cdea7c6f..ec4db6c0ffef 100644
--- a/net-p2p/rtorrent/ChangeLog
+++ b/net-p2p/rtorrent/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for net-p2p/rtorrent
-# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-p2p/rtorrent/ChangeLog,v 1.146 2009/12/28 20:35:30 armin76 Exp $
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-p2p/rtorrent/ChangeLog,v 1.147 2010/01/21 11:19:34 cla Exp $
+
+ 21 Jan 2010; Dawid Węgliński <cla@gentoo.org> rtorrent-0.8.6.ebuild,
+ +files/rtorrent-0.8.6-canvas-fix.patch:
+ Add canvas colour patch. Bug #295373.
28 Dec 2009; Raúl Porcel <armin76@gentoo.org> rtorrent-0.8.5.ebuild,
rtorrent-0.8.6.ebuild:
diff --git a/net-p2p/rtorrent/files/rtorrent-0.8.6-canvas-fix.patch b/net-p2p/rtorrent/files/rtorrent-0.8.6-canvas-fix.patch
new file mode 100644
index 000000000000..02b8a186d9a6
--- /dev/null
+++ b/net-p2p/rtorrent/files/rtorrent-0.8.6-canvas-fix.patch
@@ -0,0 +1,321 @@
+diff -crB /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/command_network.cc ./src/command_network.cc
+*** /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/command_network.cc 2009-11-12 09:19:40.000000000 +0100
+--- ./src/command_network.cc 2009-12-17 19:27:05.783955715 +0100
+***************
+*** 495,498 ****
+--- 495,502 ----
+ // Not really network stuff:
+ ADD_VARIABLE_BOOL ("handshake_log", false);
+ ADD_VARIABLE_STRING("log.tracker", "");
++ ADD_COMMAND_VALUE_TRI("done_fg_color", rak::make_mem_fun(control->ui(), &ui::Root::set_done_fg_color), rak::make_mem_fun(control->ui(), &ui::Root::get_done_fg_color));
++ ADD_COMMAND_VALUE_TRI("done_bg_color", rak::make_mem_fun(control->ui(), &ui::Root::set_done_bg_color), rak::make_mem_fun(control->ui(), &ui::Root::get_done_bg_color));
++ ADD_COMMAND_VALUE_TRI("active_fg_color", rak::make_mem_fun(control->ui(), &ui::Root::set_active_fg_color), rak::make_mem_fun(control->ui(), &ui::Root::get_active_fg_color));
++ ADD_COMMAND_VALUE_TRI("active_bg_color", rak::make_mem_fun(control->ui(), &ui::Root::set_active_bg_color), rak::make_mem_fun(control->ui(), &ui::Root::get_active_bg_color));
+ }
+diff -crB /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/display/canvas.cc ./src/display/canvas.cc
+*** /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/display/canvas.cc 2009-11-12 09:03:47.000000000 +0100
+--- ./src/display/canvas.cc 2009-12-17 19:27:05.783955715 +0100
+***************
+*** 92,97 ****
+--- 92,101 ----
+ m_isInitialized = true;
+
+ initscr();
++ start_color();
++ use_default_colors();
++ init_pair(2, -1, -1);
++ init_pair(1, -1, -1);
+ raw();
+ noecho();
+ nodelay(stdscr, TRUE);
+Only in ./src/display: canvas.cc.orig
+diff -crB /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/display/window_download_list.cc ./src/display/window_download_list.cc
+*** /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/display/window_download_list.cc 2009-11-12 09:03:47.000000000 +0100
+--- ./src/display/window_download_list.cc 2009-12-17 19:27:05.783955715 +0100
+***************
+*** 37,42 ****
+--- 37,43 ----
+ #include "config.h"
+
+ #include <rak/algorithm.h>
++ #include <torrent/rate.h>
+
+ #include "core/download.h"
+ #include "core/view.h"
+***************
+*** 96,107 ****
+ char* position;
+ char* last = buffer + m_canvas->width() - 2 + 1;
+
+ position = print_download_title(buffer, last, *range.first);
+! m_canvas->print(0, pos++, "%c %s", range.first == m_view->focus() ? '*' : ' ', buffer);
+
+ position = print_download_info(buffer, last, *range.first);
+ m_canvas->print(0, pos++, "%c %s", range.first == m_view->focus() ? '*' : ' ', buffer);
+
+ position = print_download_status(buffer, last, *range.first);
+ m_canvas->print(0, pos++, "%c %s", range.first == m_view->focus() ? '*' : ' ', buffer);
+
+--- 97,126 ----
+ char* position;
+ char* last = buffer + m_canvas->width() - 2 + 1;
+
++ if( pos >= m_canvas->height() ) break;
+ position = print_download_title(buffer, last, *range.first);
+! m_canvas->print(0, pos, "%c %s", range.first == m_view->focus() ? '*' : ' ', buffer);
+! if( (*range.first)->is_done() ) {
+! if( (*range.first)->download()->up_rate()->rate() != 0 ) {
+! m_canvas->set_attr(0, pos, m_canvas->width()-1, A_BOLD, 2);
+! } else {
+! m_canvas->set_attr(0, pos, m_canvas->width()-1, A_NORMAL, 2);
+! }
+! } else if( (*range.first)->download()->is_active() ) {
+! if( (*range.first)->download()->down_rate()->rate() != 0 ) {
+! m_canvas->set_attr(0, pos, m_canvas->width()-1, A_BOLD, 1);
+! } else {
+! m_canvas->set_attr(0, pos, m_canvas->width()-1, A_NORMAL, 1);
+! }
+! }
+! pos++;
+
++ if( pos >= m_canvas->height() ) break;
++
+ position = print_download_info(buffer, last, *range.first);
+ m_canvas->print(0, pos++, "%c %s", range.first == m_view->focus() ? '*' : ' ', buffer);
+
++ if( pos >= m_canvas->height() ) break;
+ position = print_download_status(buffer, last, *range.first);
+ m_canvas->print(0, pos++, "%c %s", range.first == m_view->focus() ? '*' : ' ', buffer);
+
+***************
+*** 109,112 ****
+--- 128,167 ----
+ }
+ }
+
++ void
++ WindowDownloadList::set_done_fg_color(int64_t color) {
++ short fg, bg;
++ pair_content(2, &fg, &bg);
++ if( color < 0 ) color = -1;
++ color = color % 8;
++ init_pair(2, (short)color, bg);
++ }
++
++ void
++ WindowDownloadList::set_done_bg_color(int64_t color) {
++ short fg, bg;
++ pair_content(2, &fg, &bg);
++ if( color < 0 ) color = -1;
++ color = color % 8;
++ init_pair(2, fg, (short)color);
++ }
++
++ void
++ WindowDownloadList::set_active_fg_color(int64_t color) {
++ short fg, bg;
++ pair_content(1, &fg, &bg);
++ if( color < 0 ) color = -1;
++ color = color % 8;
++ init_pair(1, (short)color, bg);
++ }
++
++ void
++ WindowDownloadList::set_active_bg_color(int64_t color) {
++ short fg, bg;
++ pair_content(1, &fg, &bg);
++ if( color < 0 ) color = -1;
++ color = color % 8;
++ init_pair(1, fg, (short)color);
++ }
++
+ }
+diff -crB /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/display/window_download_list.h ./src/display/window_download_list.h
+*** /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/display/window_download_list.h 2009-11-12 09:03:47.000000000 +0100
+--- ./src/display/window_download_list.h 2009-12-17 19:27:05.783955715 +0100
+***************
+*** 59,64 ****
+--- 59,68 ----
+ virtual void redraw();
+
+ void set_view(core::View* l);
++ void set_done_fg_color(int64_t color);
++ void set_done_bg_color(int64_t color);
++ void set_active_fg_color(int64_t color);
++ void set_active_bg_color(int64_t color);
+
+ private:
+ core::View* m_view;
+diff -crB /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/ui/download_list.cc ./src/ui/download_list.cc
+*** /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/ui/download_list.cc 2009-11-12 09:03:48.000000000 +0100
+--- ./src/ui/download_list.cc 2009-12-17 19:27:05.783955715 +0100
+***************
+*** 137,142 ****
+--- 137,147 ----
+ current_view()->next_focus();
+ }
+
++ display::WindowDownloadList*
++ DownloadList::current_window_list() {
++ return dynamic_cast<ElementDownloadList*>(m_uiArray[DISPLAY_DOWNLOAD_LIST])->window();
++ }
++
+ void
+ DownloadList::activate_display(Display displayType) {
+ if (!is_active())
+Only in ./src/ui: download_list.cc.orig
+diff -crB /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/ui/download_list.h ./src/ui/download_list.h
+*** /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/ui/download_list.h 2009-11-12 09:03:48.000000000 +0100
+--- ./src/ui/download_list.h 2009-12-17 19:27:05.783955715 +0100
+***************
+*** 101,106 ****
+--- 101,107 ----
+ void activate_display(Display d);
+
+ core::View* current_view();
++ display::WindowDownloadList* current_window_list();
+ void set_current_view(const std::string& name);
+
+ void slot_open_uri(SlotOpenUri s) { m_slotOpenUri = s; }
+diff -crB /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/ui/element_download_list.h ./src/ui/element_download_list.h
+*** /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/ui/element_download_list.h 2009-11-12 09:03:48.000000000 +0100
+--- ./src/ui/element_download_list.h 2009-12-17 19:27:05.783955715 +0100
+***************
+*** 60,65 ****
+--- 60,66 ----
+ void disable();
+
+ core::View* view() { return m_view; }
++ WDownloadList* window() { return m_window; }
+ void set_view(core::View* l);
+
+ void receive_command(const char* cmd);
+Only in ./src/ui: element_download_list.h.orig
+diff -crB /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/ui/root.cc ./src/ui/root.cc
+*** /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/ui/root.cc 2009-11-12 09:03:48.000000000 +0100
+--- ./src/ui/root.cc 2009-12-17 19:27:05.783955715 +0100
+***************
+*** 44,49 ****
+--- 44,50 ----
+
+ #include "core/manager.h"
+ #include "display/frame.h"
++ #include "display/window_download_list.h"
+ #include "display/window_http_queue.h"
+ #include "display/window_title.h"
+ #include "display/window_input.h"
+***************
+*** 65,71 ****
+ m_windowTitle(NULL),
+ m_windowHttpQueue(NULL),
+ m_windowInput(NULL),
+! m_windowStatusbar(NULL) {
+ }
+
+ void
+--- 66,76 ----
+ m_windowTitle(NULL),
+ m_windowHttpQueue(NULL),
+ m_windowInput(NULL),
+! m_windowStatusbar(NULL),
+! done_fg_color(-1),
+! done_bg_color(-1),
+! active_fg_color(-1),
+! active_bg_color(-1) {
+ }
+
+ void
+***************
+*** 97,102 ****
+--- 102,111 ----
+ setup_keys();
+
+ m_downloadList->activate(rootFrame->frame(1));
++ m_downloadList->current_window_list()->set_done_fg_color(done_fg_color);
++ m_downloadList->current_window_list()->set_done_bg_color(done_bg_color);
++ m_downloadList->current_window_list()->set_active_fg_color(active_fg_color);
++ m_downloadList->current_window_list()->set_active_bg_color(active_bg_color);
+ }
+
+ void
+***************
+*** 219,224 ****
+--- 228,273 ----
+ torrent::set_max_unchoked(maxUnchoked);
+ }
+
++ int
++ Root::get_done_fg_color() {
++ return done_fg_color;
++ }
++
++ void
++ Root::set_done_fg_color(int64_t color) {
++ done_fg_color = color;
++ }
++
++ int
++ Root::get_done_bg_color() {
++ return done_bg_color;
++ }
++
++ void
++ Root::set_done_bg_color(int64_t color) {
++ done_bg_color = color;
++ }
++
++ int
++ Root::get_active_fg_color() {
++ return active_fg_color;
++ }
++
++ void
++ Root::set_active_fg_color(int64_t color) {
++ active_fg_color = color;
++ }
++
++ int
++ Root::get_active_bg_color() {
++ return active_bg_color;
++ }
++
++ void
++ Root::set_active_bg_color(int64_t color) {
++ active_bg_color = color;
++ }
++
+ void
+ Root::adjust_down_throttle(int throttle) {
+ set_down_throttle(std::max<int>(torrent::down_throttle_global()->max_rate() / 1024 + throttle, 0));
+Only in ./src/ui: root.cc.orig
+diff -crB /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/ui/root.h ./src/ui/root.h
+*** /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/ui/root.h 2009-11-12 09:03:48.000000000 +0100
+--- ./src/ui/root.h 2009-12-17 19:27:05.783955715 +0100
+***************
+*** 82,87 ****
+--- 82,95 ----
+ // Rename to raw or something, make base function.
+ void set_down_throttle_i64(int64_t throttle) { set_down_throttle(throttle >> 10); }
+ void set_up_throttle_i64(int64_t throttle) { set_up_throttle(throttle >> 10); }
++ int get_done_fg_color();
++ void set_done_fg_color(int64_t color);
++ int get_done_bg_color();
++ void set_done_bg_color(int64_t color);
++ int get_active_fg_color();
++ void set_active_fg_color(int64_t color);
++ int get_active_bg_color();
++ void set_active_bg_color(int64_t color);
+
+ void adjust_down_throttle(int throttle);
+ void adjust_up_throttle(int throttle);
+***************
+*** 105,110 ****
+--- 113,122 ----
+ WStatusbar* m_windowStatusbar;
+
+ input::Bindings m_bindings;
++ int64_t done_fg_color;
++ int64_t done_bg_color;
++ int64_t active_fg_color;
++ int64_t active_bg_color;
+ };
diff --git a/net-p2p/rtorrent/rtorrent-0.8.6.ebuild b/net-p2p/rtorrent/rtorrent-0.8.6.ebuild
index 784e5771c887..3f17d2d1ed1e 100644
--- a/net-p2p/rtorrent/rtorrent-0.8.6.ebuild
+++ b/net-p2p/rtorrent/rtorrent-0.8.6.ebuild
@@ -1,9 +1,11 @@
-# Copyright 1999-2009 Gentoo Foundation
+# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-p2p/rtorrent/rtorrent-0.8.6.ebuild,v 1.2 2009/12/28 20:35:30 armin76 Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-p2p/rtorrent/rtorrent-0.8.6.ebuild,v 1.3 2010/01/21 11:19:34 cla Exp $
EAPI=2
+inherit eutils
+
DESCRIPTION="BitTorrent Client using libtorrent"
HOMEPAGE="http://libtorrent.rakshasa.no/"
SRC_URI="http://libtorrent.rakshasa.no/downloads/${P}.tar.gz"
@@ -23,6 +25,10 @@ RDEPEND="${COMMON_DEPEND}
DEPEND="${COMMON_DEPEND}
dev-util/pkgconfig"
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-canvas-fix.patch
+}
+
src_configure() {
econf \
--disable-dependency-tracking \