diff options
author | Ian Delaney <idella4@gentoo.org> | 2016-03-04 16:43:53 +0800 |
---|---|---|
committer | Ian Delaney <idella4@gentoo.org> | 2016-03-04 16:43:53 +0800 |
commit | a2954c4b3b64664a3abf9eb10acd73d26da850d1 (patch) | |
tree | 35e2366820a12c7eb29d73eb0710104bb316ff3c /net-p2p | |
parent | x11-terms/xfce4-terminal: Keyword 0.6.3 for ~arm64 (diff) | |
parent | net-p2p/deluge: remove unused patch (diff) | |
download | gentoo-a2954c4b3b64664a3abf9eb10acd73d26da850d1.tar.gz gentoo-a2954c4b3b64664a3abf9eb10acd73d26da850d1.tar.bz2 gentoo-a2954c4b3b64664a3abf9eb10acd73d26da850d1.zip |
Merge remote-tracking branch 'remotes/PPed72/net-p2p/deluge_fix_live_ebuild'
Pull request: https://github.com/gentoo/gentoo/pull/945
Diffstat (limited to 'net-p2p')
-rw-r--r-- | net-p2p/deluge/deluge-9999.ebuild | 46 | ||||
-rw-r--r-- | net-p2p/deluge/files/deluge-1.3.5-rb_libtorrent-disable-python-bindings | 60 |
2 files changed, 29 insertions, 77 deletions
diff --git a/net-p2p/deluge/deluge-9999.ebuild b/net-p2p/deluge/deluge-9999.ebuild index 7aa1cdb941fc..41f5ba8550a0 100644 --- a/net-p2p/deluge/deluge-9999.ebuild +++ b/net-p2p/deluge/deluge-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2014 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ @@ -25,38 +25,50 @@ fi LICENSE="GPL-2" SLOT="0" IUSE="geoip gtk libnotify setproctitle sound webinterface" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" DEPEND=">=net-libs/rb_libtorrent-0.14.9[python] + dev-python/setuptools[${PYTHON_USEDEP}] dev-util/intltool" RDEPEND=">=net-libs/rb_libtorrent-0.14.9[python] - dev-python/chardet - dev-python/pyopenssl - dev-python/pyxdg - >=dev-python/twisted-core-8.1 - >=dev-python/twisted-web-8.1 + dev-python/chardet[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + dev-python/pyxdg[${PYTHON_USEDEP}] + >=dev-python/twisted-core-8.1[${PYTHON_USEDEP}] + >=dev-python/twisted-web-8.1[${PYTHON_USEDEP}] geoip? ( dev-libs/geoip ) gtk? ( - sound? ( dev-python/pygame ) - dev-python/pygobject:2 - >=dev-python/pygtk-2.12 + sound? ( dev-python/pygame[${PYTHON_USEDEP}] ) + dev-python/pygobject:2[${PYTHON_USEDEP}] + >=dev-python/pygtk-2.12[${PYTHON_USEDEP}] gnome-base/librsvg - libnotify? ( dev-python/notify-python ) + libnotify? ( dev-python/notify-python[${PYTHON_USEDEP}] ) ) - setproctitle? ( dev-python/setproctitle ) - webinterface? ( dev-python/mako )" + setproctitle? ( dev-python/setproctitle[${PYTHON_USEDEP}] ) + webinterface? ( dev-python/mako[${PYTHON_USEDEP}] )" python_prepare_all() { - local PATCHES=( - "${FILESDIR}"/${PN}-1.3.5-disable_libtorrent_internal_copy.patch - ) +# Not needed anymore: bug #518354 +# local PATCHES=( +# "${FILESDIR}"/${PN}-1.3.5-disable_libtorrent_internal_copy.patch +# ) distutils-r1_python_prepare_all } +_distutils-r1_create_setup_cfg() { + # bug 531370: deluge has its own plugin system. No need to relocate its egg info files. + # Override this call from the distutils-r1 eclass. + # This does not respect the distutils-r1 API. DONOT copy this example. + : +} + python_install_all() { distutils-r1_python_install_all - newinitd "${FILESDIR}"/deluged.init deluged - newconfd "${FILESDIR}"/deluged.conf deluged + newinitd "${FILESDIR}"/deluged.init-2 deluged + newconfd "${FILESDIR}"/deluged.conf-2 deluged + newinitd "${FILESDIR}"/deluge-web.init deluge-web + newconfd "${FILESDIR}"/deluge-web.conf deluge-web systemd_dounit "${FILESDIR}"/deluged.service systemd_dounit "${FILESDIR}"/deluge-web.service } 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 deleted file mode 100644 index 301019e04aed..000000000000 --- a/net-p2p/deluge/files/deluge-1.3.5-rb_libtorrent-disable-python-bindings +++ /dev/null @@ -1,60 +0,0 @@ -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 |