diff options
author | Vladimír Čunát <v@cunat.cz> | 2022-10-08 10:20:07 +0200 |
---|---|---|
committer | Vladimír Čunát <v@cunat.cz> | 2022-10-08 10:20:07 +0200 |
commit | 6565abc264549742c9cddcb547506a2c245d6b2b (patch) | |
tree | 5e770f59e8665e8de346bcf41c41a353cd4e0f44 /pkgs/build-support | |
parent | bc2ce9630aa6d0dc28105becb260988136cd9ef6 (diff) | |
parent | b078ae79375573c7af1f7952db3eae5e337e6572 (diff) | |
download | nixpkgs-6565abc264549742c9cddcb547506a2c245d6b2b.tar nixpkgs-6565abc264549742c9cddcb547506a2c245d6b2b.tar.gz nixpkgs-6565abc264549742c9cddcb547506a2c245d6b2b.tar.bz2 nixpkgs-6565abc264549742c9cddcb547506a2c245d6b2b.tar.lz nixpkgs-6565abc264549742c9cddcb547506a2c245d6b2b.tar.xz nixpkgs-6565abc264549742c9cddcb547506a2c245d6b2b.tar.zst nixpkgs-6565abc264549742c9cddcb547506a2c245d6b2b.zip |
Merge branch 'master' into staging-next
Diffstat (limited to 'pkgs/build-support')
-rw-r--r-- | pkgs/build-support/fetchurl/default.nix | 22 | ||||
-rw-r--r-- | pkgs/build-support/fetchzip/default.nix | 17 | ||||
-rw-r--r-- | pkgs/build-support/rust/lib/default.nix | 5 |
3 files changed, 34 insertions, 10 deletions
diff --git a/pkgs/build-support/fetchurl/default.nix b/pkgs/build-support/fetchurl/default.nix index a85d53adb82..28d2519f423 100644 --- a/pkgs/build-support/fetchurl/default.nix +++ b/pkgs/build-support/fetchurl/default.nix @@ -57,6 +57,10 @@ in # first element of `urls'). name ? "" + # for versioned downloads optionally take pname + version. +, pname ? "" +, version ? "" + , # SRI hash. hash ? "" @@ -130,12 +134,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 +185,4 @@ stdenvNoCC.mkDerivation { inherit meta; passthru = { inherit url; } // passthru; -} +}) diff --git a/pkgs/build-support/fetchzip/default.nix b/pkgs/build-support/fetchzip/default.nix index 10142134792..9c08276cdb9 100644 --- a/pkgs/build-support/fetchzip/default.nix +++ b/pkgs/build-support/fetchzip/default.nix @@ -14,6 +14,8 @@ , extraPostFetch ? "" , postFetch ? "" , name ? "source" +, pname ? "" +, version ? "" , nativeBuildInputs ? [ ] , # Allows to set the extension for the intermediate downloaded # file. This can be used as a hint for the unpackCmdHooks to select @@ -23,14 +25,23 @@ lib.warnIf (extraPostFetch != "") "use 'postFetch' instead of 'extraPostFetch' with 'fetchzip' and 'fetchFromGitHub'." -(fetchurl (let + +(let tmpFilename = if extension != null then "download.${extension}" else baseNameOf (if url != "" then url else builtins.head urls); -in { - inherit name; +in +fetchurl (( + if (pname != "" && version != "") then + { + name = "${name}-${version}"; + inherit pname version; + } + else + { inherit name; } +) // { recursiveHash = true; downloadToTemp = true; diff --git a/pkgs/build-support/rust/lib/default.nix b/pkgs/build-support/rust/lib/default.nix index 2be0c256787..5eac208cc31 100644 --- a/pkgs/build-support/rust/lib/default.nix +++ b/pkgs/build-support/rust/lib/default.nix @@ -38,4 +38,9 @@ rec { if platform ? rustc.platform then builtins.toFile (toRustTarget platform + ".json") (builtins.toJSON platform.rustc.platform) else toRustTarget platform; + + # Returns true if the target is no_std + # https://github.com/rust-lang/rust/blob/2e44c17c12cec45b6a682b1e53a04ac5b5fcc9d2/src/bootstrap/config.rs#L415-L421 + IsNoStdTarget = platform: let rustTarget = toRustTarget platform; in + builtins.any (t: lib.hasInfix t rustTarget) ["-none" "nvptx" "switch" "-uefi"]; } |