summaryrefslogtreecommitdiffstatshomepage
path: root/nix/fetch-crate.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nix/fetch-crate.nix')
-rw-r--r--nix/fetch-crate.nix17
1 files changed, 17 insertions, 0 deletions
diff --git a/nix/fetch-crate.nix b/nix/fetch-crate.nix
new file mode 100644
index 0000000..733d83a
--- /dev/null
+++ b/nix/fetch-crate.nix
@@ -0,0 +1,17 @@
+fetchurl: attrs:
+let
+ crate = builtins.match "https://crates[.]io/api/v1/crates/([^/]+)/([^/]+)/download" (
+ attrs.url or ""
+ );
+in
+fetchurl (
+ attrs
+ // (
+ if crate == null then
+ { }
+ else
+ {
+ url = "https://static.crates.io/crates/${builtins.elemAt crate 0}/${builtins.elemAt crate 0}-${builtins.elemAt crate 1}.crate";
+ }
+ )
+)