mirror of
https://github.com/NixOS/nix
synced 2025-06-24 22:11:15 +02:00
42 lines
1.1 KiB
Nix
42 lines
1.1 KiB
Nix
{
|
|
lib,
|
|
runCommand,
|
|
nix,
|
|
tarballs,
|
|
}:
|
|
|
|
runCommand "installer-script"
|
|
{
|
|
buildInputs = [ nix ];
|
|
}
|
|
''
|
|
mkdir -p $out/nix-support
|
|
|
|
# Converts /nix/store/50p3qk8k...-nix-2.4pre20201102_550e11f/bin/nix to 50p3qk8k.../bin/nix.
|
|
tarballPath() {
|
|
# Remove the store prefix
|
|
local path=''${1#${builtins.storeDir}/}
|
|
# Get the path relative to the derivation root
|
|
local rest=''${path#*/}
|
|
# Get the derivation hash
|
|
local drvHash=''${path%%-*}
|
|
echo "$drvHash/$rest"
|
|
}
|
|
|
|
substitute ${./install.in} $out/install \
|
|
${
|
|
lib.concatMapStrings (
|
|
tarball:
|
|
let
|
|
inherit (tarball.stdenv.hostPlatform) system;
|
|
in
|
|
''
|
|
\
|
|
--replace '@tarballHash_${system}@' $(nix --experimental-features nix-command hash-file --base16 --type sha256 ${tarball}/*.tar.xz) \
|
|
--replace '@tarballPath_${system}@' $(tarballPath ${tarball}/*.tar.xz) \
|
|
''
|
|
) tarballs
|
|
} --replace '@nixVersion@' ${nix.version}
|
|
|
|
echo "file installer $out/install" >> $out/nix-support/hydra-build-products
|
|
''
|