blob: be0397a7f781d0318e060a5829264e65ebdf1ead (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
PYTHON_COMPAT=( python3_{8,9} )
DISTUTILS_SINGLE_IMPL=1
inherit xdg distutils-r1 systemd
DESCRIPTION="BitTorrent client with a client/server model"
HOMEPAGE="https://deluge-torrent.org/"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://git.deluge-torrent.org/${PN}"
else
SRC_URI="http://download.deluge-torrent.org/source/2.0/${P}.tar.xz"
KEYWORDS="~amd64 ~arm ~ppc ~sparc ~x86"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="console geoip gtk libnotify sound webinterface"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
libnotify? ( gtk )
sound? ( gtk )
"
# Note: if/when Deluge supports newer libtorrent-rasterbar >= 2, please
# move the dependency *outside* of gen_cond_dep and use PYTHON_SINGLE_USEDEP
# instead. It doesn't seem like Deluge supports >= 2 right now.
DEPEND="
$(python_gen_cond_dep '
<net-libs/libtorrent-rasterbar-2.0.0[python,${PYTHON_USEDEP}]
dev-python/wheel[${PYTHON_USEDEP}]
')
dev-util/intltool
acct-group/deluge
acct-user/deluge"
RDEPEND="
$(python_gen_cond_dep '
dev-python/chardet[${PYTHON_USEDEP}]
dev-python/distro[${PYTHON_USEDEP}]
dev-python/pillow[${PYTHON_USEDEP}]
dev-python/pyopenssl[${PYTHON_USEDEP}]
dev-python/pyxdg[${PYTHON_USEDEP}]
dev-python/rencode[${PYTHON_USEDEP}]
dev-python/setproctitle[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
>=dev-python/twisted-17.1.0[crypt,${PYTHON_USEDEP}]
>=dev-python/zope-interface-4.4.2[${PYTHON_USEDEP}]
<net-libs/libtorrent-rasterbar-2.0.0[python,${PYTHON_USEDEP}]
geoip? ( dev-python/geoip-python[${PYTHON_USEDEP}] )
gtk? (
sound? ( dev-python/pygame[${PYTHON_USEDEP}] )
dev-python/pygobject:3[${PYTHON_USEDEP}]
gnome-base/librsvg
libnotify? ( x11-libs/libnotify )
)
dev-python/mako[${PYTHON_USEDEP}]
')"
PATCHES=(
"${FILESDIR}/${PN}-2.0.3-setup.py.patch"
"${FILESDIR}/${PN}-2.0.3-UI-status.patch"
"${FILESDIR}/${PN}-2.0.3-gettext.patch"
"${FILESDIR}/${P}-fix-pickle.patch"
"${FILESDIR}/${P}-log.patch"
)
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
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 -r "${D}/$(python_get_sitedir)/deluge/ui/console/" || die
rm "${ED}/usr/bin/deluge-console" || die
rm "${ED}/usr/share/man/man1/deluge-console.1" ||die
fi
if ! use gtk ; then
rm -r "${D}/$(python_get_sitedir)/deluge/ui/gtk3/" || die
rm -r "${ED}/usr/share/icons/" || die
rm "${ED}/usr/bin/deluge-gtk" || die
rm "${ED}/usr/share/man/man1/deluge-gtk.1" || die
rm "${ED}/usr/share/applications/deluge.desktop" || die
fi
if use webinterface; then
newinitd "${FILESDIR}/deluge-web.init-2" deluge-web
newconfd "${FILESDIR}/deluge-web.conf" deluge-web
systemd_newunit "${FILESDIR}/deluge-web.service-3" deluge-web.service
systemd_install_serviced "${FILESDIR}/deluge-web.service.conf"
else
rm -r "${D}/$(python_get_sitedir)/deluge/ui/web/" || die
rm "${ED}/usr/bin/deluge-web" || die
rm "${ED}/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
python_optimize
}
pkg_postinst() {
xdg_pkg_postinst
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 https://dev.deluge-torrent.org/wiki/Faq"
elog
}
|