mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
Merge remote-tracking branch 'remotes/PPed72/net-p2p/deluge_fix_live_ebuild'
Pull request: https://github.com/gentoo/gentoo/pull/945
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user