summary refs log tree commit diff
path: root/pkgs/common-updater
diff options
context:
space:
mode:
authorJosé Romildo Malaquias <malaquias@gmail.com>2020-05-03 23:11:17 -0300
committerJosé Romildo Malaquias <malaquias@gmail.com>2020-05-04 14:33:03 -0300
commit8bceb7c876d843178e087ac39ce6c00763935dd7 (patch)
tree6c571081d5e5535613fdca2e09c5a7fd41aaeab6 /pkgs/common-updater
parentd3dc37ac775a8853d345ef5b42604b28c63bc3d2 (diff)
downloadnixpkgs-8bceb7c876d843178e087ac39ce6c00763935dd7.tar
nixpkgs-8bceb7c876d843178e087ac39ce6c00763935dd7.tar.gz
nixpkgs-8bceb7c876d843178e087ac39ce6c00763935dd7.tar.bz2
nixpkgs-8bceb7c876d843178e087ac39ce6c00763935dd7.tar.lz
nixpkgs-8bceb7c876d843178e087ac39ce6c00763935dd7.tar.xz
nixpkgs-8bceb7c876d843178e087ac39ce6c00763935dd7.tar.zst
nixpkgs-8bceb7c876d843178e087ac39ce6c00763935dd7.zip
genericUpdater: add attribute argument to ignore some versions
Diffstat (limited to 'pkgs/common-updater')
-rw-r--r--pkgs/common-updater/generic-updater.nix20
1 files changed, 15 insertions, 5 deletions
diff --git a/pkgs/common-updater/generic-updater.nix b/pkgs/common-updater/generic-updater.nix
index e54363a1dda..8483f9bbd1d 100644
--- a/pkgs/common-updater/generic-updater.nix
+++ b/pkgs/common-updater/generic-updater.nix
@@ -4,6 +4,7 @@
 , version
 , attrPath ? pname
 , versionLister
+, ignoredVersions ? ""
 , rev-prefix ? ""
 , odd-unstable ? false
 , patchlevel-unstable ? false
@@ -23,13 +24,19 @@ let
     version="$2"
     attr_path="$3"
     version_lister="$4"
-    rev_prefix="$5"
-    odd_unstable="$6"
-    patchlevel_unstable="$7"
+    ignored_versions="$5"
+    rev_prefix="$6"
+    odd_unstable="$7"
+    patchlevel_unstable="$8"
 
     # print header
     echo "# $pname-$version" >> ${fileForGitCommands}
 
+    function version_is_ignored() {
+      local tag="$1"
+      [ -n "$ignored_versions" ] && grep -E "$ignored_versions" <<< "$tag"
+    }
+
     function version_is_unstable() {
       local tag="$1"
       local enforce="$2"
@@ -68,7 +75,10 @@ let
     # find the newest tag
     # do not consider development versions
     for latest_tag in $tags; do
-      if version_is_unstable "$latest_tag"; then
+      if version_is_ignored "$latest_tag"; then
+        echo "#   skip ignored version: $pname-$latest_tag" >> ${fileForGitCommands}
+        latest_tag=
+      elif version_is_unstable "$latest_tag"; then
         echo "#   skip development version: $pname-$latest_tag" >> ${fileForGitCommands}
         latest_tag=
       else
@@ -95,4 +105,4 @@ let
   '';
 
 in
-[ updateScript pname version attrPath versionLister rev-prefix odd-unstable patchlevel-unstable ]
+[ updateScript pname version attrPath versionLister ignoredVersions rev-prefix odd-unstable patchlevel-unstable ]