summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkos Chandras <hwoarang@gentoo.org>2012-12-17 20:40:22 +0000
committerMarkos Chandras <hwoarang@gentoo.org>2012-12-17 20:40:22 +0000
commita168102957e2ba561aa54fbd18b479702e75f390 (patch)
treeb3ed05f2526b879d2c85a058cd3537122a0d6e4a /net-p2p
parentarm stable, bug #443080 (diff)
downloadgentoo-2-a168102957e2ba561aa54fbd18b479702e75f390.tar.gz
gentoo-2-a168102957e2ba561aa54fbd18b479702e75f390.tar.bz2
gentoo-2-a168102957e2ba561aa54fbd18b479702e75f390.zip
Revbump to fix downloads with recent rb_libtorrent. Bug #437356
(Portage version: 2.1.11.37/cvs/Linux x86_64, signed Manifest commit with key B4AFF2C2)
Diffstat (limited to 'net-p2p')
-rw-r--r--net-p2p/deluge/ChangeLog8
-rw-r--r--net-p2p/deluge/deluge-1.3.5-r1.ebuild72
-rw-r--r--net-p2p/deluge/files/deluge-1.3.5-rb_libtorrent-disable-python-bindings60
3 files changed, 139 insertions, 1 deletions
diff --git a/net-p2p/deluge/ChangeLog b/net-p2p/deluge/ChangeLog
index 28040ae745c7..4ac9a80a384e 100644
--- a/net-p2p/deluge/ChangeLog
+++ b/net-p2p/deluge/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-p2p/deluge
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-p2p/deluge/ChangeLog,v 1.177 2012/12/12 18:23:20 ago Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-p2p/deluge/ChangeLog,v 1.178 2012/12/17 20:40:22 hwoarang Exp $
+
+*deluge-1.3.5-r1 (17 Dec 2012)
+
+ 17 Dec 2012; Markos Chandras <hwoarang@gentoo.org> +deluge-1.3.5-r1.ebuild,
+ +files/deluge-1.3.5-rb_libtorrent-disable-python-bindings:
+ Revbump to fix downloads with recent rb_libtorrent. Bug #437356
12 Dec 2012; Agostino Sarubbo <ago@gentoo.org> deluge-1.3.5.ebuild:
Add ~ppc, wrt bug #413125
diff --git a/net-p2p/deluge/deluge-1.3.5-r1.ebuild b/net-p2p/deluge/deluge-1.3.5-r1.ebuild
new file mode 100644
index 000000000000..7a7ba7d88ee9
--- /dev/null
+++ b/net-p2p/deluge/deluge-1.3.5-r1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-p2p/deluge/deluge-1.3.5-r1.ebuild,v 1.1 2012/12/17 20:40:22 hwoarang Exp $
+
+EAPI="3"
+PYTHON_DEPEND="2:2.5"
+
+inherit distutils eutils flag-o-matic
+
+DESCRIPTION="BitTorrent client with a client/server model."
+HOMEPAGE="http://deluge-torrent.org/"
+SRC_URI="http://download.deluge-torrent.org/source/${P}.tar.lzma"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~sparc ~x86"
+IUSE="geoip gtk libnotify setproctitle webinterface"
+
+DEPEND=">=net-libs/rb_libtorrent-0.14.9[python]
+ dev-python/setuptools
+ dev-util/intltool"
+RDEPEND="${DEPEND}
+ dev-python/chardet
+ dev-python/pyopenssl
+ dev-python/pyxdg
+ || ( dev-lang/python:2.7 dev-lang/python:2.6 dev-python/simplejson )
+ >=dev-python/twisted-8.1
+ >=dev-python/twisted-web-8.1
+ geoip? ( dev-libs/geoip )
+ gtk? (
+ dev-python/pygame
+ dev-python/pygobject:2
+ >=dev-python/pygtk-2.12
+ gnome-base/librsvg
+ libnotify? ( dev-python/notify-python )
+ )
+ setproctitle? ( dev-python/setproctitle )
+ webinterface? ( dev-python/mako )"
+
+pkg_setup() {
+ append-ldflags $(no-as-needed)
+ python_set_active_version 2
+ python_pkg_setup
+}
+
+src_prepare() {
+ distutils_src_prepare
+ python_convert_shebangs -r 2 .
+ epatch "${FILESDIR}/${P}-rb_libtorrent-disable-python-bindings"
+}
+
+src_install() {
+ distutils_src_install
+ newinitd "${FILESDIR}"/deluged.init deluged
+ newconfd "${FILESDIR}"/deluged.conf deluged
+}
+
+pkg_postinst() {
+ distutils_pkg_postinst
+ elog
+ elog "If after upgrading it doesn't work, please remove the"
+ elog "'~/.config/deluge' directory and try again, but make a backup"
+ elog "first!"
+ elog
+ elog "To start the daemon either run 'deluged' as user"
+ elog "or modify /etc/conf.d/deluged and run"
+ elog "/etc/init.d/deluged start as root"
+ elog "You can still use deluge the old way"
+ elog
+ elog "For more information look at http://dev.deluge-torrent.org/wiki/Faq"
+ elog
+}
diff --git a/net-p2p/deluge/files/deluge-1.3.5-rb_libtorrent-disable-python-bindings b/net-p2p/deluge/files/deluge-1.3.5-rb_libtorrent-disable-python-bindings
new file mode 100644
index 000000000000..301019e04aed
--- /dev/null
+++ b/net-p2p/deluge/files/deluge-1.3.5-rb_libtorrent-disable-python-bindings
@@ -0,0 +1,60 @@
+https://bugs.gentoo.org/show_bug.cgi?id=437356
+
+From 37ea2854a21e50debdf7bc953a3411e5934b74d9 Mon Sep 17 00:00:00 2001
+From: Calum Lind <calumlind+deluge@gmail.com>
+Date: Thu, 27 Sep 2012 16:53:22 +0000
+Subject: Fix 2160 : Disable use of python bindings for libtorrent extensions and replace with session flag
+
+The fixes a GIL issue causing libtorrent segfault. https://code.google.com/p/libtorrent/issues/detail?id=369
+
+Note: The ut_pex plugin (Peer Exchange) will now always be enabled.
+---
+diff --git a/deluge/core/core.py b/deluge/core/core.py
+index 4bda811..4ca3d96 100644
+--- a/deluge/core/core.py
++++ b/deluge/core/core.py
+@@ -84,7 +84,10 @@ class Core(component.Component):
+ while len(version) < 4:
+ version.append(0)
+
+- self.session = lt.session(lt.fingerprint("DE", *version), flags=0)
++ # Note: All libtorrent python bindings to set plugins/extensions need to be disabled
++ # due to GIL issue. https://code.google.com/p/libtorrent/issues/detail?id=369
++ # Setting session flags to 1 enables all libtorrent default plugins
++ self.session = lt.session(lt.fingerprint("DE", *version), flags=1)
+
+ # Load the session state if available
+ self.__load_session_state()
+@@ -103,9 +106,11 @@ class Core(component.Component):
+ self.session.set_settings(self.settings)
+
+ # Load metadata extension
+- self.session.add_extension(lt.create_metadata_plugin)
+- self.session.add_extension(lt.create_ut_metadata_plugin)
+- self.session.add_extension(lt.create_smart_ban_plugin)
++ # Note: All libtorrent python bindings to set plugins/extensions need to be disabled
++ # due to GIL issue. https://code.google.com/p/libtorrent/issues/detail?id=369
++ # self.session.add_extension(lt.create_metadata_plugin)
++ # self.session.add_extension(lt.create_ut_metadata_plugin)
++ # self.session.add_extension(lt.create_smart_ban_plugin)
+
+ # Create the components
+ self.eventmanager = EventManager()
+diff --git a/deluge/core/preferencesmanager.py b/deluge/core/preferencesmanager.py
+index 40070bb..2a5cb1b 100644
+--- a/deluge/core/preferencesmanager.py
++++ b/deluge/core/preferencesmanager.py
+@@ -338,7 +338,10 @@ class PreferencesManager(component.Component):
+ def _on_set_utpex(self, key, value):
+ log.debug("utpex value set to %s", value)
+ if value:
+- self.session.add_extension(lt.create_ut_pex_plugin)
++ # Note: All libtorrent python bindings to set plugins/extensions need to be disabled
++ # due to GIL issue. https://code.google.com/p/libtorrent/issues/detail?id=369
++ #self.session.add_extension(lt.create_ut_pex_plugin)
++ pass
+
+ def _on_set_encryption(self, key, value):
+ log.debug("encryption value %s set to %s..", key, value)
+--
+cgit v0.9.0.2