From 3e262999eebc911e9bd38b762dcf0d13d2d6ccd0 Mon Sep 17 00:00:00 2001 From: PhiliPdB Date: Mon, 23 Mar 2026 21:12:49 +0100 Subject: [PATCH] rapid-photo-downloader: 0.9.36 -> 0.9.37 Release notes: https://github.com/damonlynch/rapid-photo-downloader/releases/tag/v0.9.37 Diff: https://github.com/damonlynch/rapid-photo-downloader/compare/v0.9.36...v0.9.37 Next to that - Switch to nix-update-script with a better version regex - Cleanup the version check --- .../ra/rapid-photo-downloader/package.nix | 83 +++++++++---------- 1 file changed, 39 insertions(+), 44 deletions(-) diff --git a/pkgs/by-name/ra/rapid-photo-downloader/package.nix b/pkgs/by-name/ra/rapid-photo-downloader/package.nix index 64fbe6d31621..fd4d1d4f2a43 100644 --- a/pkgs/by-name/ra/rapid-photo-downloader/package.nix +++ b/pkgs/by-name/ra/rapid-photo-downloader/package.nix @@ -17,60 +17,53 @@ gdk-pixbuf, libmediainfo, vmtouch, - gitUpdater, + versionCheckHook, + nix-update-script, }: python3Packages.buildPythonApplication (finalAttrs: { pname = "rapid-photo-downloader"; - version = "0.9.36"; + version = "0.9.37"; pyproject = true; src = fetchFromGitHub { owner = "damonlynch"; repo = "rapid-photo-downloader"; - rev = "v${finalAttrs.version}"; - hash = "sha256-fFmIbqymYkg2Z1/x0mNsCNlDCOyqVg65CM4a67t+kPQ="; + tag = "v${finalAttrs.version}"; + hash = "sha256-De4qe3LZm8fe5mu3teQzeP74mdgetCPRJrBzq9fad2s="; }; build-system = with python3Packages; [ - setuptools + hatchling + hatch-argparse-manpage + hatch-gettext ]; dependencies = with python3Packages; [ ifuse libimobiledevice # Python dependencies - pyqt5 - pygobject3 - gphoto2 - pyzmq - tornado - psutil - pyxdg arrow - python-dateutil - easygui babel colour + gphoto2 + packaging pillow + psutil + pygobject3 pymediainfo - sortedcontainers - requests - colorlog - pyprind - setuptools + pyqt5 + python-dateutil + pyxdg + pyzmq show-in-file-manager + sortedcontainers tenacity + tornado + # Optional dependencies + colorlog ]; - postPatch = '' - # Drop broken version specifier - sed -i '/python_requires/d' setup.py - # Disable version check - substituteInPlace raphodo/constants.py \ - --replace "disable_version_check = False" "disable_version_check = True" - ''; - nativeBuildInputs = [ libsForQt5.wrapQtAppsHook file @@ -78,15 +71,6 @@ python3Packages.buildPythonApplication (finalAttrs: { gobject-introspection ]; - # Package has no generally usable unit tests. - # The included doctests expect specific, hardcoded hardware to be present. - # Instead, we just make sure the program runs enough to report its version. - checkPhase = '' - export XDG_DATA_HOME=$(mktemp -d) - export QT_QPA_PLATFORM=offscreen - $out/bin/rapid-photo-downloader --detailed-version - ''; - buildInputs = [ gdk-pixbuf gexiv2 @@ -100,11 +84,23 @@ python3Packages.buildPythonApplication (finalAttrs: { udisks ]; - # NOTE: Check if strictDeps can be renabled - # at the time of writing this the dependency easygui fails to build - # launching fails with: - # "Namespace [Notify / GExiv2 / GUdev] not available" - strictDeps = false; + nativeInstallCheckInputs = [ versionCheckHook ]; + + versionCheckProgramArg = "--detailed-version"; + # Keep and setup environment such that the detailed version check + # can run successfully without a screen. + # Next to that, set the XDG_CACHE_HOME to stop generating errors + # about unwritable cache directories. + versionCheckKeepEnvironment = [ + "QT_QPA_PLATFORM" + "XDG_CACHE_HOME" + ]; + preVersionCheck = '' + export QT_QPA_PLATFORM=offscreen + export XDG_CACHE_HOME=$(mktemp -d) + ''; + + strictDeps = true; preFixup = '' makeWrapperArgs+=( @@ -122,9 +118,8 @@ python3Packages.buildPythonApplication (finalAttrs: { ) ''; - passthru.updateScript = gitUpdater { - rev-prefix = "v"; - ignoredVersions = "a.*"; + passthru.updateScript = nix-update-script { + extraArgs = [ "--version-regex=^v([0-9.]+)$" ]; }; meta = {