commit:     82b64b9bda56ed41b9f57f3111951856c5873642
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat May 31 22:21:09 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat May 31 22:22:44 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=82b64b9b

media-sound/quodlibet: add 4.7.1

* Fix LICENSE (GPL-2+)
* Wire up tests
* Use manual build and python-single-r1

  PEP517 already wasn't a great fit here but changes in this release
  meant install wasn't even working.

  The package has a complex setuptools-based build system inside
  of gdist/. Using PEP517 requires some workarounds and isn't
  right here.

Bug: https://bugs.gentoo.org/909994
Bug: https://bugs.gentoo.org/935504
Bug: https://bugs.gentoo.org/952556
Closes: https://bugs.gentoo.org/808723
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-sound/quodlibet/Manifest               |  1 +
 media-sound/quodlibet/quodlibet-4.7.1.ebuild | 88 ++++++++++++++++++++++++++++
 2 files changed, 89 insertions(+)

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
+}

Reply via email to