mirror of
https://github.com/ipetkov/crane.git
synced 2024-11-23 16:32:23 +03:00
e80de1e74a
Co-authored-by: Amos Wenger <amoswenger@gmail.com>
24 lines
485 B
Nix
24 lines
485 B
Nix
{ fetchurl
|
|
, urlForCargoPackage
|
|
, runCommandLocal
|
|
}:
|
|
|
|
{ name
|
|
, version
|
|
, checksum
|
|
, ...
|
|
}@args:
|
|
let
|
|
pkgInfo = urlForCargoPackage args;
|
|
tarball = fetchurl (pkgInfo.fetchurlExtraArgs // {
|
|
inherit (pkgInfo) url;
|
|
name = "${name}-${version}";
|
|
sha256 = checksum;
|
|
});
|
|
in
|
|
runCommandLocal "cargo-package-${name}-${version}" { } ''
|
|
mkdir -p $out
|
|
tar -xzf ${tarball} -C $out --strip-components=1
|
|
echo '{"files":{}, "package":"${checksum}"}' > $out/.cargo-checksum.json
|
|
''
|