biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / applications / virtualization / firecracker / default.nix
blobeeabb94536e12ecdfc4871cf6a01b24b9a242cef
1 { fetchurl, lib, stdenv }:
3 let
4   version = "1.7.0";
5   # nixpkgs-update: no auto update
7   suffix = {
8     x86_64-linux = "x86_64";
9     aarch64-linux = "aarch64";
10   }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
12   baseurl = "https://github.com/firecracker-microvm/firecracker/releases/download";
14   dlbin = sha256: fetchurl {
15     url = "${baseurl}/v${version}/firecracker-v${version}-${suffix}.tgz";
16     sha256 = sha256."${stdenv.hostPlatform.system}"or (throw "unsupported system ${stdenv.hostPlatform.system}");
17   };
20 stdenv.mkDerivation {
21   pname = "firecracker";
22   inherit version;
24   sourceRoot = ".";
25   src = dlbin {
26     x86_64-linux = "sha256-Vb0+bVmf3RCONuUvmu4jGfBsGKkPL6SbZOk/3wb1/1M=";
27     aarch64-linux = "sha256-PLoQA4a6qulxSns/ZRSgn6EtHr46/hstNhP1pAHt9VA=";
28   };
30   dontConfigure = true;
32   buildPhase = ''
33     mv release-v${version}-${suffix}/firecracker-v${version}-${suffix} firecracker
34     mv release-v${version}-${suffix}/jailer-v${version}-${suffix} jailer
35     chmod +x firecracker jailer
36   '';
38   doCheck = true;
39   checkPhase = ''
40     ./firecracker --version
41     ./jailer --version
42   '';
44   installPhase = ''
45     mkdir -p $out/bin
46     install -D firecracker $out/bin/firecracker
47     install -D jailer      $out/bin/jailer
48   '';
50   meta = with lib; {
51     description = "Secure, fast, minimal micro-container virtualization";
52     homepage = "http://firecracker-microvm.io";
53     changelog = "https://github.com/firecracker-microvm/firecracker/releases/tag/v${version}";
54     mainProgram = "firecracker";
55     license = licenses.asl20;
56     platforms = [ "x86_64-linux" "aarch64-linux" ];
57     maintainers = with maintainers; [ thoughtpolice endocrimes qjoly ];
58   };