release.nix: Generate the installer script
This commit is contained in:
parent
4caaa4c5fe
commit
7c3c635d4f
2 changed files with 28 additions and 7 deletions
21
release.nix
21
release.nix
|
@ -275,6 +275,24 @@ let
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
||||||
|
installerScript =
|
||||||
|
pkgs.runCommand "installer-script"
|
||||||
|
{ buildInputs = [ build.x86_64-linux ];
|
||||||
|
}
|
||||||
|
''
|
||||||
|
mkdir -p $out/nix-support
|
||||||
|
|
||||||
|
substitute ${./scripts/install.in} $out/install \
|
||||||
|
${pkgs.lib.concatMapStrings
|
||||||
|
(system: "--replace '@binaryTarball_${system}@' $(nix hash-file --type sha256 ${binaryTarball.${system}}/*.tar.bz2) ")
|
||||||
|
[ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" ]
|
||||||
|
} \
|
||||||
|
--replace '@nixVersion@' ${build.x86_64-linux.src.version}
|
||||||
|
|
||||||
|
echo "file installer $out/install" >> $out/nix-support/hydra-build-products
|
||||||
|
'';
|
||||||
|
|
||||||
|
|
||||||
# Aggregate job containing the release-critical jobs.
|
# Aggregate job containing the release-critical jobs.
|
||||||
release = pkgs.releaseTools.aggregate {
|
release = pkgs.releaseTools.aggregate {
|
||||||
name = "nix-${tarball.version}";
|
name = "nix-${tarball.version}";
|
||||||
|
@ -284,14 +302,17 @@ let
|
||||||
build.i686-linux
|
build.i686-linux
|
||||||
build.x86_64-darwin
|
build.x86_64-darwin
|
||||||
build.x86_64-linux
|
build.x86_64-linux
|
||||||
|
build.aarch64-linux
|
||||||
binaryTarball.i686-linux
|
binaryTarball.i686-linux
|
||||||
binaryTarball.x86_64-darwin
|
binaryTarball.x86_64-darwin
|
||||||
binaryTarball.x86_64-linux
|
binaryTarball.x86_64-linux
|
||||||
|
binaryTarball.aarch64-linux
|
||||||
tests.remoteBuilds
|
tests.remoteBuilds
|
||||||
tests.nix-copy-closure
|
tests.nix-copy-closure
|
||||||
tests.binaryTarball
|
tests.binaryTarball
|
||||||
tests.evalNixpkgs
|
tests.evalNixpkgs
|
||||||
tests.evalNixOS
|
tests.evalNixOS
|
||||||
|
installerScript
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -23,22 +23,22 @@ require_util() {
|
||||||
}
|
}
|
||||||
|
|
||||||
case "$(uname -s).$(uname -m)" in
|
case "$(uname -s).$(uname -m)" in
|
||||||
Linux.x86_64) system=x86_64-linux; hash=[%nix_hash_x86_64_linux%];;
|
Linux.x86_64) system=x86_64-linux; hash=@binaryTarball_x86_64-linux@;;
|
||||||
Linux.i?86) system=i686-linux; hash=[%nix_hash_i686_linux%];;
|
Linux.i?86) system=i686-linux; hash=@binaryTarball_i686-linux@;;
|
||||||
Linux.aarch64) system=aarch64-linux; hash=[%nix_hash_aarch64_linux%];;
|
Linux.aarch64) system=aarch64-linux; hash=@binaryTarball_aarch64-linux@;;
|
||||||
Darwin.x86_64) system=x86_64-darwin; hash=[%nix_hash_x86_64_darwin%];;
|
Darwin.x86_64) system=x86_64-darwin; hash=@binaryTarball_x86_64-darwin@;;
|
||||||
*) oops "sorry, there is no binary distribution of Nix for your platform";;
|
*) oops "sorry, there is no binary distribution of Nix for your platform";;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
url="https://nixos.org/releases/nix/nix-[%latestNixVersion%]/nix-[%latestNixVersion%]-$system.tar.bz2"
|
url="https://nixos.org/releases/nix/nix-@nixVersion@/nix-@nixVersion@-$system.tar.bz2"
|
||||||
|
|
||||||
tarball="$tmpDir/$(basename "$tmpDir/nix-[%latestNixVersion%]-$system.tar.bz2")"
|
tarball="$tmpDir/$(basename "$tmpDir/nix-@nixVersion@-$system.tar.bz2")"
|
||||||
|
|
||||||
require_util curl "download the binary tarball"
|
require_util curl "download the binary tarball"
|
||||||
require_util bzcat "decompress the binary tarball"
|
require_util bzcat "decompress the binary tarball"
|
||||||
require_util tar "unpack the binary tarball"
|
require_util tar "unpack the binary tarball"
|
||||||
|
|
||||||
echo "downloading Nix [%latestNixVersion%] binary tarball for $system from '$url' to '$tmpDir'..."
|
echo "downloading Nix @nixVersion@ binary tarball for $system from '$url' to '$tmpDir'..."
|
||||||
curl -L "$url" -o "$tarball" || oops "failed to download '$url'"
|
curl -L "$url" -o "$tarball" || oops "failed to download '$url'"
|
||||||
|
|
||||||
if type sha256sum > /dev/null 2>&1; then
|
if type sha256sum > /dev/null 2>&1; then
|
||||||
|
|
Loading…
Reference in a new issue