about summary refs log tree commit diff
path: root/pkgs/build-support/rust
diff options
context:
space:
mode:
authorfigsoda <figsoda@pm.me>2023-03-17 21:28:07 -0400
committerGitHub <noreply@github.com>2023-03-17 21:28:07 -0400
commit1792c4f8c7567051781f236b921131283c0963b6 (patch)
tree26aa00ebe1cd34ce4519cdd05b6b5e6d1e866417 /pkgs/build-support/rust
parent1d36f32390320999807d5257a1843daa6ba51760 (diff)
parent62327ff6a9cc828309c135ef370cdc13ebf9913c (diff)
Merge pull request #221104 from figsoda/crate
Diffstat (limited to 'pkgs/build-support/rust')
-rw-r--r--pkgs/build-support/rust/fetchcrate.nix8
1 files changed, 5 insertions, 3 deletions
diff --git a/pkgs/build-support/rust/fetchcrate.nix b/pkgs/build-support/rust/fetchcrate.nix
index 53219b2d06296..09f5e7805e166 100644
--- a/pkgs/build-support/rust/fetchcrate.nix
+++ b/pkgs/build-support/rust/fetchcrate.nix
@@ -1,15 +1,17 @@
-{ lib, fetchzip }:
+{ lib, fetchzip, fetchurl }:
 
 { crateName ? args.pname
 , pname ? null
 , version
+, unpack ? true
 , ...
 } @ args:
 
 assert pname == null || pname == crateName;
 
-fetchzip ({
+(if unpack then fetchzip else fetchurl) ({
   name = "${crateName}-${version}.tar.gz";
   url = "https://crates.io/api/v1/crates/${crateName}/${version}/download";
+} // lib.optionalAttrs unpack {
   extension = "tar.gz";
-} // removeAttrs args [ "crateName" "pname" "version" ])
+} // removeAttrs args [ "crateName" "pname" "version" "unpack" ])