From 814319f1ae7665590e120db268e2aefe9f82458d Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Thu, 29 Nov 2018 17:10:35 -0600 Subject: [PATCH] nixpkgs/firecracker: init at 0.12.0 This currently uses a binary-only package, since building jailer/firecracker all on their own is somewhat complex from my attempts. This will later be changed into a source-only build, ideally. Signed-off-by: Austin Seipp --- .../virtualization/firecracker/default.nix | 35 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 37 insertions(+) create mode 100644 pkgs/applications/virtualization/firecracker/default.nix diff --git a/pkgs/applications/virtualization/firecracker/default.nix b/pkgs/applications/virtualization/firecracker/default.nix new file mode 100644 index 00000000000..7d8772da73d --- /dev/null +++ b/pkgs/applications/virtualization/firecracker/default.nix @@ -0,0 +1,35 @@ +{ fetchurl, stdenv }: + +let + version = "0.12.0"; + baseurl = "https://github.com/firecracker-microvm/firecracker/releases/download"; + + fetchbin = name: sha256: fetchurl { + url = "${baseurl}/v${version}/${name}-v${version}"; + inherit sha256; + }; + + firecracker-bin = fetchbin "firecracker" "0jk9w5kagqp3w668c1x0g4yyahmy7696pm0bkhv066rrdpcqpw66"; + jailer-bin = fetchbin "jailer" "1fcxzpnapnccklgbi4bis3f6c9fki2daxvzg9l7433vfqz2zbyjl"; +in +stdenv.mkDerivation { + name = "firecracker-${version}"; + inherit version; + + srcs = [ firecracker-bin jailer-bin ]; + phases = [ "installPhase" ]; + + installPhase = '' + mkdir -p $out/bin + install -D ${firecracker-bin} $out/bin/firecracker + install -D ${jailer-bin} $out/bin/jailer + ''; + + meta = with stdenv.lib; { + description = "Secure, fast, minimal micro-container virtualization"; + homepage = http://firecracker-microvm.io; + license = licenses.asl20; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ thoughtpolice ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3dd971c8d9e..93fb364e472 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1400,6 +1400,8 @@ in fileshelter = callPackage ../servers/web-apps/fileshelter { }; + firecracker = callPackage ../applications/virtualization/firecracker { }; + fsmon = callPackage ../tools/misc/fsmon { }; fsql = callPackage ../tools/misc/fsql { };