summary refs log tree commit diff
diff options
context:
space:
mode:
authorSandro Jäckel <sandro.jaeckel@sap.com>2022-10-04 17:30:06 +0200
committerSandro Jäckel <sandro.jaeckel@sap.com>2022-10-04 17:30:06 +0200
commit7deac8b8f703702d8ec68490dc2be2301696be8a (patch)
tree068e5d38acddae75bb37168f30cb98efd9338aaf
parentfc95752d6f7edd65d443c9dd5fd28b4a7b54cf4d (diff)
downloadnixpkgs-7deac8b8f703702d8ec68490dc2be2301696be8a.tar
nixpkgs-7deac8b8f703702d8ec68490dc2be2301696be8a.tar.gz
nixpkgs-7deac8b8f703702d8ec68490dc2be2301696be8a.tar.bz2
nixpkgs-7deac8b8f703702d8ec68490dc2be2301696be8a.tar.lz
nixpkgs-7deac8b8f703702d8ec68490dc2be2301696be8a.tar.xz
nixpkgs-7deac8b8f703702d8ec68490dc2be2301696be8a.tar.zst
nixpkgs-7deac8b8f703702d8ec68490dc2be2301696be8a.zip
fetchurl: add pname+version support
-rw-r--r--pkgs/build-support/fetchurl/default.nix23
1 files changed, 16 insertions, 7 deletions
diff --git a/pkgs/build-support/fetchurl/default.nix b/pkgs/build-support/fetchurl/default.nix
index a85d53adb82..72cfd20652b 100644
--- a/pkgs/build-support/fetchurl/default.nix
+++ b/pkgs/build-support/fetchurl/default.nix
@@ -57,6 +57,11 @@ in
   # first element of `urls').
   name ? ""
 
+  # for versioned downloads optionally take pname + version.
+  # if name is set that is preferred
+, pname ? ""
+, version ? ""
+
 , # SRI hash.
   hash ? ""
 
@@ -130,12 +135,16 @@ let
     else throw "fetchurl requires a hash for fixed-output derivation: ${lib.concatStringsSep ", " urls_}";
 in
 
-stdenvNoCC.mkDerivation {
-  name =
-    if showURLs then "urls"
-    else if name != "" then name
-    else baseNameOf (toString (builtins.head urls_));
-
+stdenvNoCC.mkDerivation ((
+  if (pname != "" && version != "") then
+    { inherit pname version; }
+  else
+    { name =
+      if showURLs then "urls"
+      else if name != "" then name
+      else baseNameOf (toString (builtins.head urls_));
+    }
+) // {
   builder = ./builder.sh;
 
   nativeBuildInputs = [ curl ] ++ nativeBuildInputs;
@@ -177,4 +186,4 @@ stdenvNoCC.mkDerivation {
 
   inherit meta;
   passthru = { inherit url; } // passthru;
-}
+})