summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-sound/quodlibet/Manifest1
-rw-r--r--media-sound/quodlibet/quodlibet-4.7.1.ebuild88
2 files changed, 89 insertions, 0 deletions
diff --git a/media-sound/quodlibet/Manifest b/media-sound/quodlibet/Manifest
index b8deab4e7cfe..4a1d02515136 100644
--- a/media-sound/quodlibet/Manifest
+++ b/media-sound/quodlibet/Manifest
@@ -1 +1,2 @@
DIST quodlibet-4.6.0.tar.gz 5719390 BLAKE2B 3b5d43c2fc1e5c3dabdf17c1d35f42762f9db4849a2e99e69a261bc72d5af6f0edac56a1f0e888989a839a4fa905209384b1e37a624676e1c52ca7a5d33ce53c SHA512 eb3bae6eaa2b976bce11ded1a521dc3f2a0a83358ae53215d3f5bce82447f721e7fef2e05b5d1ba87ac984c176e52d7915c4d40b529394d8616d846b78a2af8c
+DIST quodlibet-4.7.1.tar.gz 6019630 BLAKE2B e61de03c1802ba6e7d036e53652d6901d52d0de97cdc71cfdf3f308c61ac85f25bb00334f9bb2144652f3e96deb5f93ac1ab96cb13eb89f44bf07c5ade9a8f8e SHA512 57431eb02e31b8691c858aa3126241aee886839067ee760d38613e3db7076af54fb2ba277aa9f92e1079b128959b1278ee955e0680db1147c5faf2c7826e4684
diff --git a/media-sound/quodlibet/quodlibet-4.7.1.ebuild b/media-sound/quodlibet/quodlibet-4.7.1.ebuild
new file mode 100644
index 000000000000..f0cd709d9c15
--- /dev/null
+++ b/media-sound/quodlibet/quodlibet-4.7.1.ebuild
@@ -0,0 +1,88 @@
+# 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 )
+"
+DEPEND="dev-util/intltool"
+
+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
+}