about summary refs log tree commit diff
path: root/pkgs/common-updater/generic-updater.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/common-updater/generic-updater.nix')
-rw-r--r--pkgs/common-updater/generic-updater.nix25
1 files changed, 18 insertions, 7 deletions
diff --git a/pkgs/common-updater/generic-updater.nix b/pkgs/common-updater/generic-updater.nix
index 25008d664b93c..2f8da2f308e60 100644
--- a/pkgs/common-updater/generic-updater.nix
+++ b/pkgs/common-updater/generic-updater.nix
@@ -1,4 +1,12 @@
-{ stdenv, writeScript, coreutils, gnugrep, gnused, common-updater-scripts, nix }:
+{ lib
+, stdenv
+, common-updater-scripts
+, coreutils
+, gnugrep
+, gnused
+, nix
+, writeScript
+}:
 
 { name ? null
 , pname ? null
@@ -15,6 +23,9 @@ let
   # where to print git commands and debugging messages
   fileForGitCommands = "update-git-commits.txt";
 
+  grep = lib.getExe gnugrep;
+  sed = lib.getExe gnused;
+
   # shell script to update package
   updateScript = writeScript "generic-update-script.sh" ''
     #! ${stdenv.shell}
@@ -41,20 +52,20 @@ let
 
     function version_is_ignored() {
       local tag="$1"
-      [ -n "$ignored_versions" ] && grep -E "$ignored_versions" <<< "$tag"
+      [ -n "$ignored_versions" ] && ${grep} -E "$ignored_versions" <<< "$tag"
     }
 
     function version_is_unstable() {
       local tag="$1"
       local enforce="$2"
       if [ -n "$odd_unstable" -o -n "$enforce" ]; then
-        local minor=$(echo "$tag" | ${gnused}/bin/sed -rne 's,^[0-9]+\.([0-9]+).*,\1,p')
+        local minor=$(echo "$tag" | ${sed} -rne 's,^[0-9]+\.([0-9]+).*,\1,p')
         if [ $((minor % 2)) -eq 1 ]; then
           return 0
         fi
       fi
       if [ -n "$patchlevel_unstable" -o -n "$enforce" ]; then
-        local patchlevel=$(echo "$tag" | ${gnused}/bin/sed -rne 's,^[0-9]+\.[0-9]+\.([0-9]+).*$,\1,p')
+        local patchlevel=$(echo "$tag" | ${sed} -rne 's,^[0-9]+\.[0-9]+\.([0-9]+).*$,\1,p')
         if ((patchlevel >= 90)); then
           return 0
         fi
@@ -71,10 +82,10 @@ let
 
     # cut any revision prefix not used in the NixOS package version
     if [ -n "$rev_prefix" ]; then
-      tags=$(echo "$tags" | ${gnugrep}/bin/grep "^$rev_prefix")
-      tags=$(echo "$tags" | ${gnused}/bin/sed -e "s,^$rev_prefix,,")
+      tags=$(echo "$tags" | ${grep} "^$rev_prefix")
+      tags=$(echo "$tags" | ${sed} -e "s,^$rev_prefix,,")
     fi
-    tags=$(echo "$tags" | ${gnugrep}/bin/grep "^[0-9]")
+    tags=$(echo "$tags" | ${grep} "^[0-9]")
 
     # sort the tags in decreasing order
     tags=$(echo "$tags" | ${coreutils}/bin/sort --reverse --version-sort)