blob: 206045e9e55ecd9b59852d3c047e9a3a49946e67 (
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
|
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
DISTUTILS_SINGLE_IMPL=1
PYTHON_COMPAT=( python3_{11..13} )
PYTHON_REQ_USE="sqlite"
inherit distutils-r1 optfeature xdg
DESCRIPTION="A free cross-platform podcast aggregator"
HOMEPAGE="https://gpodder.github.io/"
SRC_URI="
https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="+dbus bluetooth mtp"
RDEPEND="
$(python_gen_cond_dep '
dev-python/html5lib[${PYTHON_USEDEP}]
dev-python/pycairo[${PYTHON_USEDEP}]
dev-python/pygobject:3[${PYTHON_USEDEP}]
dev-python/podcastparser[${PYTHON_USEDEP}]
dev-python/mygpoclient[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
dbus? ( dev-python/dbus-python[${PYTHON_USEDEP}] )
')
bluetooth? ( net-wireless/bluez )
mtp? ( media-libs/libmtp:= )
kernel_linux? ( sys-apps/iproute2 )
"
BDEPEND="
dev-util/desktop-file-utils
dev-util/intltool
sys-apps/help2man
test? (
$(python_gen_cond_dep '
dev-python/minimock[${PYTHON_USEDEP}]
dev-python/pytest-httpserver[${PYTHON_USEDEP}]
')
)
"
PATCHES=(
"${FILESDIR}/${P}-make-build.patch"
)
distutils_enable_tests pytest
src_prepare() {
default
sed -e 's:--cov=gpodder::' -i makefile || die
emake PYTHON="${EPYTHON}" build
}
python_test() {
# These are pulled out from the Makefile to give us more control
# See bug #795165
# Previously, we used 'emake releasetest' in src_test
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
local -x EPYTEST_IGNORE=(
src/gpodder/utilwin32ctypes.py
)
epytest \
--ignore=tests \
--doctest-modules src/gpodder/util.py \
src/gpodder/jsonconfig.py
epytest tests \
--ignore=src/mygpoclient \
-p pytest_httpserver
}
src_install() {
distutils-r1_src_install
touch "${ED}/usr/share/gpodder/no-update-check" || die
}
pkg_postinst() {
xdg_pkg_postinst
optfeature "track length detection for device sync (only one package is needed)" media-video/mplayer dev-python/eyed3
optfeature "for the YouTube extension" net-misc/yt-dlp
optfeature "iPod sync support" media-libs/libgpod
}
|