summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorRemco van 't Veer <remco@remworks.net>2025-06-03 11:06:01 +0200
committerSharlatan Hellseher <sharlatanus@gmail.com>2025-06-18 23:28:42 +0100
commit2916e7300477cf0d268a9204932208197b9f45c6 (patch)
treefbad24b2312abff28ffd747a24c45b545205937a /gnu
parentdc1de3ba5b6a443fa15b04ef123fa9e417ef2340 (diff)
gnu: quodlibet: Update to 4.7.1.
* gnu/packages/music.scm (quodlibet): Update to 4.7.1. * gnu/packages/patches/quodlibet-fix-invalid-glob.patch: Remove. * gnu/packages/patches/quodlibet-fix-mtime-tests.patch: Remove. Change-Id: I88c1de51642374c4e52a9ce7d996f3ab120efb1c Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk2
-rw-r--r--gnu/packages/music.scm19
-rw-r--r--gnu/packages/patches/quodlibet-fix-invalid-glob.patch89
-rw-r--r--gnu/packages/patches/quodlibet-fix-mtime-tests.patch39
4 files changed, 7 insertions, 142 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 13d929c9bb2..002df1518a6 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2044,8 +2044,6 @@ dist_patch_DATA = \
%D%/packages/patches/qcodeeditor-qt6.patch \
%D%/packages/patches/qtdeclarative-5-disable-qmlcache.patch \
%D%/packages/patches/qtdeclarative-disable-qmlcache.patch \
- %D%/packages/patches/quodlibet-fix-invalid-glob.patch \
- %D%/packages/patches/quodlibet-fix-mtime-tests.patch \
%D%/packages/patches/qucs-s-qucsator-rf-search.patch \
%D%/packages/patches/qxlsx-fix-include-directory.patch \
%D%/packages/patches/scn-fast-float-compat.patch \
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index a2b0de5c6f4..7fa895872ec 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -46,7 +46,7 @@
;;; Copyright © 2021 Thomas Albers Raviola <thomas@thomaslabs.org>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2022, 2023 Sughosha <sughosha@disroot.org>
-;;; Copyright © 2022 Remco van 't Veer <remco@remworks.net>
+;;; Copyright © 2022, 2025 Remco van 't Veer <remco@remworks.net>
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Wamm K. D. <jaft.r@outlook.com>
;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com>
@@ -8034,7 +8034,7 @@ streaming audio server.")
(define-public quodlibet
(package
(name "quodlibet")
- (version "4.5.0")
+ (version "4.7.1")
(source
(origin
(method git-fetch)
@@ -8042,10 +8042,8 @@ streaming audio server.")
(url "https://github.com/quodlibet/quodlibet")
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
- (patches (search-patches "quodlibet-fix-invalid-glob.patch"
- "quodlibet-fix-mtime-tests.patch"))
(sha256
- (base32 "1i5k93k3bfp7hpcwkbr865mbj9jam3jv2a5k1bazcyp4f5vdrb0v"))))
+ (base32 "0nk2n4j0vm9ibrm3p9qwf5s0a4iwjkbvr6z23sc0v3rdxvaxrgf6"))))
(build-system python-build-system)
(arguments
(list
@@ -8064,10 +8062,8 @@ streaming audio server.")
(if tests?
(invoke "xvfb-run" "pytest"
;; needs network
- "--ignore=tests/test_browsers_iradio.py"
- ;; broken upstream
- "--disable-warnings"
- "--ignore=tests/quality/test_flake8.py")
+ "--ignore=tests/plugin/test_covers.py"
+ "--ignore=tests/test_browsers_iradio.py")
(format #t "test suite not run~%"))))
(add-after 'install 'glib-or-gtk-wrap ; ensure icons loaded
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
@@ -8082,7 +8078,7 @@ streaming audio server.")
`("GI_TYPELIB_PATH" ":" = (,gi-typelib-path))
`("GST_PLUGIN_SYSTEM_PATH" ":" suffix (,gst-plugins-path))))
'("exfalso" "quodlibet"))))))))
- (native-inputs (list xvfb-run gettext-minimal))
+ (native-inputs (list xvfb-run gettext-minimal python-pytest))
(inputs
(list adwaita-icon-theme
bash-minimal
@@ -8098,7 +8094,7 @@ streaming audio server.")
hicolor-icon-theme
keybinder-3.0 ; keybindings outside of GNOME
(librsvg-for-system)
- libsoup-minimal-2
+ libsoup-minimal
python
python-cheetah
python-dbus
@@ -8110,7 +8106,6 @@ streaming audio server.")
python-pycairo
python-pygobject
python-pyinotify
- python-pytest
python-sgmllib3k
python-toml))
(home-page "https://github.com/quodlibet/quodlibet")
diff --git a/gnu/packages/patches/quodlibet-fix-invalid-glob.patch b/gnu/packages/patches/quodlibet-fix-invalid-glob.patch
deleted file mode 100644
index 95f95d8aabc..00000000000
--- a/gnu/packages/patches/quodlibet-fix-invalid-glob.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From 5f55431a28509fd4f4f7b40dc246f3d34fa8549e Mon Sep 17 00:00:00 2001
-From: Christoph Reiter <reiter.christoph@gmail.com>
-Date: Sun, 26 Jun 2022 23:14:28 +0200
-Subject: [PATCH] builtin cover: fix handling of invalid glob ranges with
- Python 3.10.5+ (#4027)
-
-Previously Python would raise if an invalid range was given
-to glob, but with 3.10.5 they fixed it to not match anything.
-https://github.com/python/cpython/issues/89973
-
-Our tests depended on the previous logic and treating the glob pattern
-as a literal file name in that case.
-
-One could argue that this is wrong since a range that doesn't contain anything
-should also not match anything, so wrap glob() to make it not match for all
-Python versions in that case and adjust the tests accordingly.
-
-This should fix the Windows CI, which is currently the only job using 3.10.5
----
- quodlibet/util/cover/built_in.py | 22 +++++++++++-----------
- tests/test_util_cover.py | 12 +++---------
- 2 files changed, 14 insertions(+), 20 deletions(-)
-
-diff --git a/quodlibet/util/cover/built_in.py b/quodlibet/util/cover/built_in.py
-index f2a8791a2..01474c9b6 100644
---- a/quodlibet/util/cover/built_in.py
-+++ b/quodlibet/util/cover/built_in.py
-@@ -100,6 +100,15 @@ class FilesystemCover(CoverSourcePlugin):
- base = self.song('~dirname')
- images = []
-
-+ def safe_glob(*args, **kwargs):
-+ try:
-+ return glob.glob(*args, **kwargs)
-+ except sre_constants.error:
-+ # https://github.com/python/cpython/issues/89973
-+ # old glob would fail with invalid ranges, newer one
-+ # handles it correctly.
-+ return []
-+
- if config.getboolean("albumart", "force_filename"):
- score = 100
- for filename in config.get("albumart", "filename").split(","):
-@@ -107,17 +116,8 @@ class FilesystemCover(CoverSourcePlugin):
- filename = filename.strip()
-
- escaped_path = os.path.join(glob.escape(base), filename)
-- try:
-- for path in glob.glob(escaped_path):
-- images.append((score, path))
-- except sre_constants.error:
-- # Use literal filename if globbing causes errors
-- path = os.path.join(base, filename)
--
-- # We check this here, so we can search for alternative
-- # files in case no preferred file was found.
-- if os.path.isfile(path):
-- images.append((score, path))
-+ for path in safe_glob(escaped_path):
-+ images.append((score, path))
-
- # So names and patterns at the start are preferred
- score -= 1
-diff --git a/tests/test_util_cover.py b/tests/test_util_cover.py
-index db81e4d1f..71a48ad9a 100644
---- a/tests/test_util_cover.py
-+++ b/tests/test_util_cover.py
-@@ -105,15 +105,9 @@ class TCoverManager(TestCase):
- config.set("albumart", "force_filename", str(True))
- config.set("albumart", "filename", "[a-2].jpg")
-
-- # Should match
-- f = self.add_file("[a-2].jpg")
-- assert path_equal(
-- os.path.abspath(self._find_cover(self.song).name), f)
--
-- # Should not crash
-- f = self.add_file("test.jpg")
-- assert not path_equal(
-- os.path.abspath(self._find_cover(self.song).name), f)
-+ # Invalid glob range, should not match anything
-+ self.add_file("a.jpg")
-+ assert self._find_cover(self.song) is None
-
- def test_invalid_glob_path(self):
- config.set("albumart", "force_filename", str(True))
---
-2.39.2
-
diff --git a/gnu/packages/patches/quodlibet-fix-mtime-tests.patch b/gnu/packages/patches/quodlibet-fix-mtime-tests.patch
deleted file mode 100644
index 037f77d8689..00000000000
--- a/gnu/packages/patches/quodlibet-fix-mtime-tests.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 06a32b319f065550efe0d2a9ff10ca6bdc32b893 Mon Sep 17 00:00:00 2001
-From: Christoph Reiter <reiter.christoph@gmail.com>
-Date: Sat, 23 Jul 2022 20:15:18 +0200
-Subject: [PATCH] operon: hopefully better fix for flaky mtime tests
-
-copy the mtime after we write everything, so there is no chance of
-it changing before we note the initial value.
----
- quodlibet/operon/commands.py | 8 ++++----
- 1 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/quodlibet/operon/commands.py b/quodlibet/operon/commands.py
-index e0a5ef33a..af2dcfa8b 100644
---- a/quodlibet/operon/commands.py
-+++ b/quodlibet/operon/commands.py
-@@ -227,16 +227,16 @@ class EditCommand(Command):
- # write to tmp file
- fd, path = tempfile.mkstemp(suffix=".txt")
-
-- # XXX: copy mtime here so we can test for changes in tests by
-- # setting a out of date mtime on the source song file
-- copy_mtime(args[0], path)
--
- try:
- try:
- os.write(fd, dump)
- finally:
- os.close(fd)
-
-+ # XXX: copy mtime here so we can test for changes in tests by
-+ # setting a out of date mtime on the source song file
-+ copy_mtime(args[0], path)
-+
- # only parse the result if the editor returns 0 and the mtime has
- # changed
- old_mtime = mtime(path)
---
-2.39.2
-