commit:     406fd0f543d40c4dc292704883d0b2304d312bf1
Author:     PPed72 <paolo.pedroni <AT> iol <DOT> it>
AuthorDate: Mon Jun 20 09:54:23 2016 +0000
Commit:     Kristian Fiskerstrand <k_f <AT> gentoo <DOT> org>
CommitDate: Wed Jun 22 19:36:53 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=406fd0f5

net-p2p/deluge: Make UI installation USE-conditional

Gentoo-bug: 381837
New ebuild, EAPI=6, add local use flags and new languages to
metadata.xml, fix patch for EAPI=6

 net-p2p/deluge/deluge-1.3.12-r4.ebuild             | 141 +++++++++++++++++++++
 ...ge-1.3.5-disable_libtorrent_internal_copy.patch |   4 +-
 net-p2p/deluge/metadata.xml                        |   4 +
 3 files changed, 147 insertions(+), 2 deletions(-)

diff --git a/net-p2p/deluge/deluge-1.3.12-r4.ebuild 
b/net-p2p/deluge/deluge-1.3.12-r4.ebuild
new file mode 100644
index 0000000..812e7f2
--- /dev/null
+++ b/net-p2p/deluge/deluge-1.3.12-r4.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="6"
+
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_SINGLE_IMPL=1
+PLOCALES="af ar ast be bg bn bs ca cs cy da de el en_AU en_CA en_GB eo es et 
eu fa fi fo fr fy ga gl he hi hr hu id is it iu ja ka kk km kn ko ku ky la lb 
lt lv mk ml ms nap nb nds nl nn oc pl pms pt pt_BR ro ru si sk sl sr sv ta te 
th tl tlh tr uk ur vi zh_CN zh_HK zh_TW"
+inherit distutils-r1 eutils systemd user l10n
+
+DESCRIPTION="BitTorrent client with a client/server model"
+HOMEPAGE="http://deluge-torrent.org/";
+
+if [[ ${PV} == 9999 ]]; then
+       inherit git-r3
+       EGIT_REPO_URI="git://deluge-torrent.org/${PN}.git
+               http://git.deluge-torrent.org/${PN}";
+       SRC_URI=""
+       KEYWORDS=""
+else
+       SRC_URI="http://download.deluge-torrent.org/source/${P}.tar.bz2";
+       KEYWORDS="~amd64 ~arm ~ppc ~sparc ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="console geoip gtk libnotify sound webinterface"
+REQUIRED_USE="
+       ${PYTHON_REQUIRED_USE}
+       sound? ( gtk )
+       libnotify? ( gtk )
+"
+PATCHES=(
+       "${FILESDIR}/${PN}-1.3.12-fix_scheduler_plugin.patch"
+       "${FILESDIR}/${PN}-1.3.5-disable_libtorrent_internal_copy.patch"
+)
+
+CDEPEND=">=net-libs/rb_libtorrent-0.14.9[python,${PYTHON_USEDEP}]"
+DEPEND="${CDEPEND}
+       dev-python/setuptools[${PYTHON_USEDEP}]
+       dev-util/intltool"
+RDEPEND="${CDEPEND}
+       dev-python/chardet[${PYTHON_USEDEP}]
+       dev-python/pyopenssl[${PYTHON_USEDEP}]
+       dev-python/pyxdg[${PYTHON_USEDEP}]
+       dev-python/setproctitle[${PYTHON_USEDEP}]
+       >=dev-python/twisted-core-13.0[${PYTHON_USEDEP}]
+       >=dev-python/twisted-web-13.0[${PYTHON_USEDEP}]
+       geoip? ( dev-libs/geoip )
+       gtk? (
+               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[${PYTHON_USEDEP}] )
+       )
+       webinterface? ( dev-python/mako[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+       local args=(
+               -e "/Compiling po file/a \\\tuptoDate = False"
+       )
+       sed -i "${args[@]}" -- 'setup.py' || die
+       args=(
+               -e 's|"new_release_check": True|"new_release_check": False|'
+               -e 's|"check_new_releases": True|"check_new_releases": False|'
+               -e 's|"show_new_releases": True|"show_new_releases": False|'
+       )
+       sed -i "${args[@]}" -- 'deluge/core/preferencesmanager.py' || die
+
+       local loc_dir="${S}/deluge/i18n"
+       l10n_find_plocales_changes "${loc_dir}" "" ".po"
+       rm_loc() {
+               rm -vf "${loc_dir}/${1}.po" || die
+       }
+       l10n_for_each_disabled_locale_do rm_loc
+
+       distutils-r1_python_prepare_all
+}
+
+esetup.py() {
+       # 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.
+       set -- "${PYTHON}" setup.py "$@"
+    echo "$@"
+    "$@" || die
+}
+
+python_install_all() {
+       distutils-r1_python_install_all
+       if ! use console ; then
+               rm -rf 
"${D}/usr/$(get_libdir)/python2.7/site-packages/deluge/ui/console/" || die
+               rm -f "${D}/usr/bin/deluge-console" || die
+               rm -f "${D}/usr/share/man/man1/deluge-console.1" ||die
+       fi
+       if ! use gtk ; then
+               rm -rf 
"${D}/usr/$(get_libdir)/python2.7/site-packages/deluge/ui/gtkui/" || die
+               rm -rf "${D}/usr/share/icons/" || die
+               rm -f "${D}/usr/bin/deluge-gtk" || die
+               rm -f "${D}/usr/share/man/man1/deluge-gtk.1" || die
+               rm -f "${D}/usr/share/applications/deluge.desktop" || die
+       fi
+       if use webinterface; then
+               newinitd "${FILESDIR}/deluge-web.init" deluge-web
+               newconfd "${FILESDIR}/deluge-web.conf" deluge-web
+               systemd_newunit "${FILESDIR}/deluge-web.service-2" 
deluge-web.service
+               systemd_install_serviced "${FILESDIR}/deluge-web.service.conf"
+       else
+               rm -rf 
"${D}/usr/$(get_libdir)/python2.7/site-packages/deluge/ui/web/" || die
+               rm -f "${D}/usr/bin/deluge-web" || die
+               rm -f "${D}/usr/share/man/man1/deluge-web.1" || die
+       fi
+       newinitd "${FILESDIR}"/deluged.init-2 deluged
+       newconfd "${FILESDIR}"/deluged.conf-2 deluged
+       systemd_newunit "${FILESDIR}"/deluged.service-2 deluged.service
+       systemd_install_serviced "${FILESDIR}"/deluged.service.conf
+}
+
+pkg_postinst() {
+       enewgroup ${PN}
+       enewuser ${PN} -1 -1 /var/lib/${PN} ${PN}
+       elog
+       elog "If, after upgrading, deluge 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 "Systemd unit files for deluged and deluge-web no longer source"
+       elog "/etc/conf.d/deluge* files. Environment variable customization now"
+       elog "happens in /etc/systemd/system/deluged.service.d/00gentoo.conf"
+       elog "and /etc/systemd/system/deluge-web.service.d/00gentoo.conf"
+       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-disable_libtorrent_internal_copy.patch 
b/net-p2p/deluge/files/deluge-1.3.5-disable_libtorrent_internal_copy.patch
index 235b7f7..3492614 100644
--- a/net-p2p/deluge/files/deluge-1.3.5-disable_libtorrent_internal_copy.patch
+++ b/net-p2p/deluge/files/deluge-1.3.5-disable_libtorrent_internal_copy.patch
@@ -1,5 +1,5 @@
---- setup.py
-+++ setup.py
+--- a/setup.py
++++ b/setup.py
 @@ -205,38 +205,7 @@
  
  _ext_modules = []

diff --git a/net-p2p/deluge/metadata.xml b/net-p2p/deluge/metadata.xml
index ed12ae6..d59b3c4 100644
--- a/net-p2p/deluge/metadata.xml
+++ b/net-p2p/deluge/metadata.xml
@@ -20,5 +20,9 @@
                the process name</flag>
        <flag name="webinterface">Install dependencies needed for the web
                interface</flag>
+       <flag name="console">Enable default console UI</flag>
+       <flag name="linguas_nap">Neapolitan locale</flag>
+       <flag name="linguas_iu">Inuktitut locale</flag>
+       <flag name="linguas_pms">Piemontese locale</flag>
 </use>
 </pkgmetadata>

Reply via email to