ripasso-cursive: cosmetic changes (#361736)
[NixPkgs.git] / pkgs / by-name / fi / firecracker / package.nix
blobffd22a70bf037240cf435c79cdbfab3e7684bf12
2   fetchurl,
3   lib,
4   stdenv,
5 }:
7 let
8   version = "1.9.0";
9   # nixpkgs-update: no auto update
11   suffix =
12     {
13       x86_64-linux = "x86_64";
14       aarch64-linux = "aarch64";
15     }
16     ."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
18   baseurl = "https://github.com/firecracker-microvm/firecracker/releases/download";
20   dlbin =
21     hash:
22     fetchurl {
23       url = "${baseurl}/v${version}/firecracker-v${version}-${suffix}.tgz";
24       hash =
25         hash."${stdenv.hostPlatform.system}" or (throw "unsupported system ${stdenv.hostPlatform.system}");
26     };
29 stdenv.mkDerivation {
30   pname = "firecracker";
31   inherit version;
33   sourceRoot = ".";
34   src = dlbin {
35     x86_64-linux = "sha256-lcE3QMfKGm37QOD1HNCp7v7h8iPNLDU4dV0Dw6m6Ujc=";
36     aarch64-linux = "sha256-xVZOdt7CuOgJLFLw+KTF9FzzF5HpWpMC9DYKdx33j2k=";
37   };
39   dontConfigure = true;
41   buildPhase = ''
42     mv release-v${version}-${suffix}/firecracker-v${version}-${suffix} firecracker
43     mv release-v${version}-${suffix}/jailer-v${version}-${suffix} jailer
44     chmod +x firecracker jailer
45   '';
47   doCheck = true;
48   checkPhase = ''
49     ./firecracker --version
50     ./jailer --version
51   '';
53   installPhase = ''
54     mkdir -p $out/bin
55     install -D firecracker $out/bin/firecracker
56     install -D jailer      $out/bin/jailer
57   '';
59   meta = with lib; {
60     description = "Secure, fast, minimal micro-container virtualization";
61     homepage = "http://firecracker-microvm.io";
62     changelog = "https://github.com/firecracker-microvm/firecracker/releases/tag/v${version}";
63     mainProgram = "firecracker";
64     license = licenses.asl20;
65     platforms = [
66       "x86_64-linux"
67       "aarch64-linux"
68     ];
69     maintainers = with maintainers; [
70       thoughtpolice
71       qjoly
72       techknowlogick
73     ];
74   };