nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 cargo,
3 darwin,
4 pkg-config,
5 rustc,
6 stdenv,
7 fetchFromGitHub,
8 libepoxy,
9 libkrun-efi,
10 rustPlatform,
11 lib,
12 nix-update-script,
13}:
14stdenv.mkDerivation (finalAttrs: {
15 pname = "krunkit";
16 version = "1.0.0";
17
18 src = fetchFromGitHub {
19 owner = "containers";
20 repo = "krunkit";
21 tag = "v${finalAttrs.version}";
22 hash = "sha256-dsEZZiLgHyd6xeXZCdDd4zsxzwQeIhAK+lewY2ZfvpY=";
23 };
24
25 cargoDeps = rustPlatform.fetchCargoVendor {
26 inherit (finalAttrs) src;
27 hash = "sha256-i0cC3aOEqcvOcwTPbM6AazMzd8Q+QLwuhnvPGv3ntsc=";
28 };
29
30 nativeBuildInputs = [
31 cargo
32 darwin.sigtool
33 pkg-config
34 rustc
35 rustPlatform.bindgenHook
36 rustPlatform.cargoSetupHook
37 ];
38
39 buildInputs = [
40 libepoxy
41 libkrun-efi
42 ];
43
44 makeFlags = [ "PREFIX=${placeholder "out"}" ];
45
46 # This is necessary in order for the binary to keep its entitlements
47 dontStrip = true;
48
49 passthru.updateScript = nix-update-script { };
50
51 meta = {
52 description = "Launch configurable virtual machines with libkrun";
53 homepage = "https://github.com/containers/krunkit";
54 license = lib.licenses.asl20;
55 platforms = [ "aarch64-darwin" ];
56 maintainers = with lib.maintainers; [ quinneden ];
57 };
58})