From a700eef617c07a89dbee84b1783073ff4f7b2a0b Mon Sep 17 00:00:00 2001 From: John Date: Wed, 11 Oct 2023 17:17:31 +0200 Subject: [PATCH] quodlibet: update to 4.6.0., add patch for python 3.12 --- ...f6bb34864a6821174edbf7802b689e440db3.patch | 72 +++++++++++++++++++ srcpkgs/quodlibet/template | 10 +-- 2 files changed, 77 insertions(+), 5 deletions(-) create mode 100644 srcpkgs/quodlibet/patches/a8b6f6bb34864a6821174edbf7802b689e440db3.patch diff --git a/srcpkgs/quodlibet/patches/a8b6f6bb34864a6821174edbf7802b689e440db3.patch b/srcpkgs/quodlibet/patches/a8b6f6bb34864a6821174edbf7802b689e440db3.patch new file mode 100644 index 00000000000..06024d49b38 --- /dev/null +++ b/srcpkgs/quodlibet/patches/a8b6f6bb34864a6821174edbf7802b689e440db3.patch @@ -0,0 +1,72 @@ +From a8b6f6bb34864a6821174edbf7802b689e440db3 Mon Sep 17 00:00:00 2001 +From: LuK1337 +Date: Wed, 23 Aug 2023 17:13:23 +0200 +Subject: [PATCH] Fix startup on Python 3.12 + +--- + quodlibet/_import.py | 6 ++++++ + quodlibet/util/config.py | 2 +- + quodlibet/util/importhelper.py | 6 +++--- + 3 files changed, 10 insertions(+), 4 deletions(-) + +diff --git a/quodlibet/_import.py b/quodlibet/_import.py +index 5e76b67295..22bd5e3140 100644 +--- a/quodlibet/_import.py ++++ b/quodlibet/_import.py +@@ -8,6 +8,7 @@ + + import sys + import importlib ++import importlib.util + + + class RedirectImportHook: +@@ -31,6 +32,11 @@ def __init__(self, name, packages): + self._name = name + self._packages = packages + ++ def find_spec(self, fullname, path, target=None): ++ loader = self.find_module(fullname, path) ++ if loader is not None: ++ return importlib.util.spec_from_loader(fullname, loader) ++ + def find_module(self, fullname, path=None): + package = fullname.split(".")[0] + if package in self._packages: +diff --git a/quodlibet/util/config.py b/quodlibet/util/config.py +index 1c214ac0b4..f0688f9bf9 100644 +--- a/quodlibet/util/config.py ++++ b/quodlibet/util/config.py +@@ -377,7 +377,7 @@ def read(self, filename): + with open(filename, "rb") as fileobj: + fileobj = StringIO( + fileobj.read().decode("utf-8", "surrogateescape")) +- self._config.readfp(fileobj, filename) ++ self._config.read_file(fileobj, filename) + except (IOError, OSError): + return + +diff --git a/quodlibet/util/importhelper.py b/quodlibet/util/importhelper.py +index f14b11f4b6..c82ded5878 100644 +--- a/quodlibet/util/importhelper.py ++++ b/quodlibet/util/importhelper.py +@@ -92,8 +92,8 @@ def load_module(name, package, path): + except KeyError: + pass + +- loader = importlib.find_loader(fullname, [path]) +- if loader is None: ++ spec = importlib.machinery.PathFinder.find_spec(fullname, [path]) ++ if spec is None: + return + + # modules need a parent package +@@ -101,7 +101,7 @@ def load_module(name, package, path): + spec = importlib.machinery.ModuleSpec(package, None, is_package=True) + sys.modules[package] = importlib.util.module_from_spec(spec) + +- mod = loader.load_module(fullname) ++ mod = spec.loader.load_module(fullname) + + # make it accessible from the parent, like __import__ does + vars(sys.modules[package])[name] = mod diff --git a/srcpkgs/quodlibet/template b/srcpkgs/quodlibet/template index 329cff6f871..f087a5cd640 100644 --- a/srcpkgs/quodlibet/template +++ b/srcpkgs/quodlibet/template @@ -1,16 +1,16 @@ # Template file for 'quodlibet' pkgname=quodlibet -version=4.5.0 -revision=3 +version=4.6.0 +revision=1 build_style=python3-module hostmakedepends="intltool python3-devel python3-setuptools" depends="desktop-file-utils gst-plugins-bad1 gst-plugins-base1 gst-plugins-good1 gst-plugins-ugly1 gtk+3 hicolor-icon-theme python3-dbus python3-feedparser - python3-gobject python3-inotify python3-mutagen libsoup" + python3-gobject python3-mutagen libsoup" short_desc="Music Library/Editor/Player" -maintainer="John " +maintainer="Orphaned " license="GPL-2.0-or-later" homepage="https://quodlibet.readthedocs.io/en/latest/" distfiles="https://github.com/quodlibet/quodlibet/releases/download/release-${version}/quodlibet-${version}.tar.gz" -checksum=301615829f652cbafedb35539237162a58bc1ee71a567d249f7789d9268245bc +checksum=5b5fe4b2662281897aaf34123dae61656dc0eea5f8186a5169db95a93a3efe29 make_check=no # requires X server