about summary refs log tree commit diff
path: root/pkgs/common-updater
diff options
context:
space:
mode:
authorSergei Trofimovich <slyich@gmail.com>2022-04-01 17:49:38 +0100
committerSergei Trofimovich <slyich@gmail.com>2022-04-01 18:10:45 +0100
commit219ca5845235c7481e48096e32b34aac78630d79 (patch)
tree3d10273b9698db1e5a56aa82f75826c18ab61af2 /pkgs/common-updater
parent0b1a2907d63c740abfb7c954a7aade2d38a1d490 (diff)
downloadnixlib-219ca5845235c7481e48096e32b34aac78630d79.tar
nixlib-219ca5845235c7481e48096e32b34aac78630d79.tar.gz
nixlib-219ca5845235c7481e48096e32b34aac78630d79.tar.bz2
nixlib-219ca5845235c7481e48096e32b34aac78630d79.tar.lz
nixlib-219ca5845235c7481e48096e32b34aac78630d79.tar.xz
nixlib-219ca5845235c7481e48096e32b34aac78630d79.tar.zst
nixlib-219ca5845235c7481e48096e32b34aac78630d79.zip
gitUpdater: add explicit url parameter to specify a git tree for tags
That way gitUpdater could be used to extract most recent published
releases for .nix files that don't use git directly to define builds.

An example is iproute2 package which does not have a single place
to lookup most recent release.
Diffstat (limited to 'pkgs/common-updater')
-rw-r--r--pkgs/common-updater/git-updater.nix8
1 files changed, 6 insertions, 2 deletions
diff --git a/pkgs/common-updater/git-updater.nix b/pkgs/common-updater/git-updater.nix
index 304bad9af60c..edeb2dfb2c65 100644
--- a/pkgs/common-updater/git-updater.nix
+++ b/pkgs/common-updater/git-updater.nix
@@ -1,4 +1,5 @@
-{ genericUpdater
+{ lib
+, genericUpdater
 , common-updater-scripts
 }:
 
@@ -9,9 +10,12 @@
 , rev-prefix ? ""
 , odd-unstable ? false
 , patchlevel-unstable ? false
+# explicit url is useful when git protocol is used only for tags listing
+# while actual release is referred by tarball
+, url ? null
 }:
 
 genericUpdater {
   inherit pname version attrPath ignoredVersions rev-prefix odd-unstable patchlevel-unstable;
-  versionLister = "${common-updater-scripts}/bin/list-git-tags";
+  versionLister = "${common-updater-scripts}/bin/list-git-tags ${lib.optionalString (url != null) "--url=${url}"}";
 }