mirror of
https://github.com/zhaofengli/attic.git
synced 2024-12-15 17:50:57 +00:00
70 lines
1.9 KiB
Bash
70 lines
1.9 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
set -euo pipefail
|
||
|
expr=$(mktemp)
|
||
|
|
||
|
cleanup() {
|
||
|
rm -f "$expr"
|
||
|
}
|
||
|
|
||
|
cat >"$expr" <<'EOF'
|
||
|
{ system ? builtins.currentSystem }:
|
||
|
let
|
||
|
maybeStorePath = if builtins ? langVersion && builtins.lessThan 1 builtins.langVersion
|
||
|
then builtins.storePath
|
||
|
else x: x;
|
||
|
mkFakeDerivation = attrs: outputs:
|
||
|
let
|
||
|
outputNames = builtins.attrNames outputs;
|
||
|
common = attrs // outputsSet //
|
||
|
{ type = "derivation";
|
||
|
outputs = outputNames;
|
||
|
all = outputsList;
|
||
|
};
|
||
|
outputToAttrListElement = outputName:
|
||
|
{ name = outputName;
|
||
|
value = common // {
|
||
|
inherit outputName;
|
||
|
outPath = maybeStorePath (builtins.getAttr outputName outputs);
|
||
|
drvPath = maybeStorePath (builtins.getAttr outputName outputs);
|
||
|
};
|
||
|
};
|
||
|
outputsList = map outputToAttrListElement outputNames;
|
||
|
outputsSet = builtins.listToAttrs outputsList;
|
||
|
in outputsSet;
|
||
|
in
|
||
|
|
||
|
{
|
||
|
"x86_64-linux" = (mkFakeDerivation {
|
||
|
name = "attic-0.1.0";
|
||
|
system = "x86_64-linux";
|
||
|
} {
|
||
|
out = "/nix/store/jxw24xfq64f0bhlfyfi7wh2mvc9dvvip-attic-0.1.0";
|
||
|
}).out;
|
||
|
|
||
|
"aarch64-linux" = (mkFakeDerivation {
|
||
|
name = "attic-0.1.0";
|
||
|
system = "aarch64-linux";
|
||
|
} {
|
||
|
out = "/nix/store/f2i2xz39dzq9d4c1vhhykqmpf05ijwi6-attic-0.1.0";
|
||
|
}).out;
|
||
|
|
||
|
"x86_64-darwin" = (mkFakeDerivation {
|
||
|
name = "attic-0.1.0";
|
||
|
system = "x86_64-darwin";
|
||
|
} {
|
||
|
out = "/nix/store/3pa4w4ajqvq5dj8pzq8hkhs0ryp0zj55-attic-0.1.0";
|
||
|
}).out;
|
||
|
|
||
|
"aarch64-darwin" = (mkFakeDerivation {
|
||
|
name = "attic-0.1.0";
|
||
|
system = "aarch64-darwin";
|
||
|
} {
|
||
|
out = "/nix/store/ja9khkssgsdx8293j3ayjl6kbhi5xzix-attic-0.1.0";
|
||
|
}).out;
|
||
|
|
||
|
}.${system}
|
||
|
|
||
|
EOF
|
||
|
|
||
|
nix-env --substituters "https://staging.attic.rs/attic-ci https://cache.nixos.org" --trusted-public-keys "attic-ci:U5Sey4mUxwBXM3iFapmP0/ogODXywKLRNgRPQpEXxbo= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" -if "$expr"
|