summary refs log tree commit diff
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2022-09-24 14:58:58 +0200
committerJan Tojnar <jtojnar@gmail.com>2022-09-27 02:19:25 +0200
commita5af361af4d6cda34611bde73e51e1d7bb438827 (patch)
tree9b2d52492b329ad33ef8e35626216fae829157e8
parente628b43a9c2aff685e420028b58a4376e3117c8a (diff)
downloadnixpkgs-a5af361af4d6cda34611bde73e51e1d7bb438827.tar
nixpkgs-a5af361af4d6cda34611bde73e51e1d7bb438827.tar.gz
nixpkgs-a5af361af4d6cda34611bde73e51e1d7bb438827.tar.bz2
nixpkgs-a5af361af4d6cda34611bde73e51e1d7bb438827.tar.lz
nixpkgs-a5af361af4d6cda34611bde73e51e1d7bb438827.tar.xz
nixpkgs-a5af361af4d6cda34611bde73e51e1d7bb438827.tar.zst
nixpkgs-a5af361af4d6cda34611bde73e51e1d7bb438827.zip
gnome.updateScript: Support freezing up to an explicit version
libgweather released version 4 after releasing version 40,
we need to ignore the latter.
-rw-r--r--pkgs/desktops/gnome/update.nix8
1 files changed, 7 insertions, 1 deletions
diff --git a/pkgs/desktops/gnome/update.nix b/pkgs/desktops/gnome/update.nix
index f5db71174ad..e945e005d48 100644
--- a/pkgs/desktops/gnome/update.nix
+++ b/pkgs/desktops/gnome/update.nix
@@ -12,7 +12,13 @@ let
       minorAvailable = builtins.length versionComponents > 1 && builtins.match "[0-9]+" minorVersion != null;
       nextMinor = builtins.fromJSON minorVersion + 1;
       upperBound = "${lib.versions.major packageVersion}.${builtins.toString nextMinor}";
-    in lib.optionals (freeze && minorAvailable) [ upperBound ];
+    in
+    if builtins.isBool freeze then
+      lib.optionals (freeze && minorAvailable) [ upperBound ]
+    else if builtins.isString freeze then
+      [ freeze ]
+    else
+      throw "“freeze” argument needs to be either a boolean, or a version string.";
   updateScript = writeScript "gnome-update-script" ''
     #!${bash}/bin/bash
     set -o errexit