diff --git a/pkgs/applications/audio/quodlibet/default.nix b/pkgs/applications/audio/quodlibet/default.nix index a70360d0d324..a92b64cb87c8 100644 --- a/pkgs/applications/audio/quodlibet/default.nix +++ b/pkgs/applications/audio/quodlibet/default.nix @@ -7,6 +7,7 @@ gettext, gobject-introspection, wrapGAppsHook3, + writableTmpDirAsHomeHook, # runtime adwaita-icon-theme, @@ -43,10 +44,9 @@ python3, xvfb-run, }: - -python3.pkgs.buildPythonApplication { +python3.pkgs.buildPythonApplication rec { pname = "quodlibet${tag}"; - version = "4.6.0-unstable-2024-08-08"; + version = "4.7.1"; pyproject = true; outputs = [ @@ -57,14 +57,21 @@ python3.pkgs.buildPythonApplication { src = fetchFromGitHub { owner = "quodlibet"; repo = "quodlibet"; - rev = "3dcf31dfc8db9806d1f73a47fdabc950d35ded1d"; - hash = "sha256-8qWuxTvMF6ksDkbZ6wRLPCJK1cSqgGMPac/ht6qVpnA="; + tag = "release-${version}"; + hash = "sha256-xr3c1e4tjw2YHuKbvNeUPBIFdHEcpztqXjHVDSSxYlo="; }; - patches = [ ./fix-gdist-python-3.12.patch ]; + # Fix "E ModuleNotFoundError: No module named 'distutils'" in Python 3.12 or newer + patches = [ ./fix-gdist-python-3.12-and-newer.patch ]; build-system = [ python3.pkgs.setuptools ]; + postPatch = '' + # Fix "FileExistsError: File already exists: /nix/store/<...>-quodlibet-4.7.1/bin/quodlibet" + substituteInPlace pyproject.toml \ + --replace-fail 'quodlibet = "quodlibet.main:main"' "" + ''; + nativeBuildInputs = [ gettext @@ -128,6 +135,7 @@ python3.pkgs.buildPythonApplication { glibcLocales hicolor-icon-theme xvfb-run + writableTmpDirAsHomeHook ] ++ (with python3.pkgs; [ polib @@ -153,7 +161,6 @@ python3.pkgs.buildPythonApplication { preCheck = '' export GDK_PIXBUF_MODULE_FILE=${librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache - export HOME=$(mktemp -d) export XDG_DATA_DIRS="$out/share:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_ICON_DIRS:$XDG_DATA_DIRS" ''; @@ -168,7 +175,7 @@ python3.pkgs.buildPythonApplication { ''; preFixup = lib.optionalString (kakasi != null) '' - gappsWrapperArgs+=(--prefix PATH : ${kakasi}/bin) + gappsWrapperArgs+=(--prefix PATH : ${lib.getBin kakasi}) ''; meta = { diff --git a/pkgs/applications/audio/quodlibet/fix-gdist-python-3.12.patch b/pkgs/applications/audio/quodlibet/fix-gdist-python-3.12-and-newer.patch similarity index 100% rename from pkgs/applications/audio/quodlibet/fix-gdist-python-3.12.patch rename to pkgs/applications/audio/quodlibet/fix-gdist-python-3.12-and-newer.patch