gentoo-ebuilds/media-sound/quodlibet/quodlibet-4.7.1.ebuild
Sam James 787a5d3f2a
media-sound/quodlibet: add pytest test dep
Signed-off-by: Sam James <sam@gentoo.org>
2025-05-31 23:49:06 +01:00

95 lines
2.4 KiB
Bash

# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# See https://quodlibet.readthedocs.io/en/latest/packaging.html
PYTHON_COMPAT=( python3_{11..13} )
inherit edo python-single-r1 virtualx xdg
DESCRIPTION="audio library tagger, manager, and player for GTK+"
HOMEPAGE="https://quodlibet.readthedocs.io/"
SRC_URI="https://github.com/${PN}/${PN}/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${PN}-release-${PV}"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE="+dbus gstreamer +udev"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="
${PYTHON_DEPS}
dev-libs/keybinder:3[introspection]
$(python_gen_cond_dep '
>=dev-python/feedparser-6.0.11[${PYTHON_USEDEP}]
>=dev-python/pycairo-1.19[${PYTHON_USEDEP}]
>=dev-python/pygobject-3.34.0:3[${PYTHON_USEDEP}]
>=media-libs/mutagen-1.45[${PYTHON_USEDEP}]
')
net-libs/libsoup:3.0[introspection]
x11-libs/gtk+[introspection]
gstreamer? (
media-libs/gstreamer:1.0
media-libs/gst-plugins-base:1.0
media-libs/gst-plugins-good:1.0
media-plugins/gst-plugins-meta:1.0
)
!gstreamer? ( media-libs/xine-lib )
dbus? (
app-misc/media-player-info
$(python_gen_cond_dep '
dev-python/dbus-python[${PYTHON_USEDEP}]
')
)
udev? ( virtual/udev )
"
BDEPEND="
dev-util/intltool
test? (
$(python_gen_cond_dep '
dev-python/pytest[${PYTHON_USEDEP}]
')
)
"
src_prepare() {
default
local qlconfig=quodlibet/config.py
if ! use gstreamer; then
sed -i -e '/backend/s:gstbe:xinebe:' ${qlconfig} || die
fi
sed -i -e '/gst_pipeline/s:"":"alsasink":' ${qlconfig} || die
}
src_compile() {
# The package has a complex setuptools-based build system inside
# of gdist/. Using PEP517 requires some workarounds and isn't
# really useful here.
edo ${EPYTHON} setup.py build
}
src_test() {
EPYTEST_DESELECT=(
# Network tests
'tests/plugin/test_covers.py::test_live_cover_download[lastfm-cover]'
'tests/plugin/test_covers.py::test_live_cover_download[discogs-cover]'
tests/test_browsers_iradio.py::TInternetRadio::test_click_add_station
# ?
tests/plugin/test_replaygain.py::TReplayGain::test_analyze_sinewave
)
# https://quodlibet.readthedocs.io/en/latest/development/testing.html#testing
#virtx edo ${EPYTHON} setup.py test
virtx epytest || die "Tests failed with ${EPYTHON}"
}
src_install() {
edo ${EPYTHON} setup.py install --prefix="${EPREFIX}/usr" --root="${D}"
python_optimize
dodoc README.rst
}