Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- cargoLock = builtins.fromTOML (builtins.readFile ./Cargo.lock);
- getCrates = cargoLock:
- mapAttrsToList
- (name: value:
- let m = builtins.match "checksum ([^ ]+) ([^ ]+).*" name;
- in if m == null then
- throw ("Don't know how to handle metadata '${name}'")
- else {
- name = elemAt m 0;
- version = elemAt m 1;
- sha256 = value;
- })
- cargoLock.metadata;
- fetchCrates = cargoLock:
- map
- ({ name, version, sha256 }: fetchurl
- { name = "${name}-${version}.tar.gz";
- url = "https://crates.io/api/v1/crates/${name}/${version}/download";
- inherit sha256;
- })
- (getCrates cargoLock);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement