diff --git a/pkgs/applications/virtualization/firecracker/default.nix b/pkgs/applications/virtualization/firecracker/default.nix index 991925ff34bf..9fa06f5bf0b9 100644 --- a/pkgs/applications/virtualization/firecracker/default.nix +++ b/pkgs/applications/virtualization/firecracker/default.nix @@ -2,15 +2,28 @@ let version = "0.19.0"; - baseurl = "https://github.com/firecracker-microvm/firecracker/releases/download"; + suffix = { + x86_64-linux = ""; + aarch64-linux = "-aarch64"; + }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + + baseurl = "https://github.com/firecracker-microvm/firecracker/releases/download"; fetchbin = name: sha256: fetchurl { - url = "${baseurl}/v${version}/${name}-v${version}"; - inherit sha256; + url = "${baseurl}/v${version}/${name}-v${version}${suffix}"; + sha256 = sha256."${stdenv.hostPlatform.system}"; + }; + + firecracker-bin = fetchbin "firecracker" { + x86_64-linux = "0yjhw77xc2nc96p36jhf0va95gf6hwi9n270g4iiwakycdy048mx"; + aarch64-linux = "165yca7pcwpqw3x6dihcjz1xcwjh37sdi9qrrjk9zasxx7xcniym"; + }; + + jailer-bin = fetchbin "jailer" { + x86_64-linux = "1q792b4bl1q3ach8nc8l0fbcil44knv3wa542xrskndzdz28lhsp"; + aarch64-linux = "1cnwlpy5bswjprk7fcjgf6lxidhp7z00qx691nkwhzjkby80j490"; }; - firecracker-bin = fetchbin "firecracker" "0yjhw77xc2nc96p36jhf0va95gf6hwi9n270g4iiwakycdy048mx"; - jailer-bin = fetchbin "jailer" "1q792b4bl1q3ach8nc8l0fbcil44knv3wa542xrskndzdz28lhsp"; in stdenv.mkDerivation { pname = "firecracker"; @@ -42,7 +55,7 @@ stdenv.mkDerivation { description = "Secure, fast, minimal micro-container virtualization"; homepage = http://firecracker-microvm.io; license = licenses.asl20; - platforms = [ "x86_64-linux" ]; + platforms = [ "x86_64-linux" "aarch64-linux" ]; maintainers = with maintainers; [ thoughtpolice ]; }; }