Unverified Commit 4ae3f745 authored by Paul Haerle's avatar Paul Haerle Committed by GitHub
Browse files

crun: enable libkrun support when applicable (#504644)

parents 7bf1f7ec e4937ed7
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -6,6 +6,8 @@
  go-md2man,
  pkg-config,
  libcap,
  libkrun,
  libkrun-sev,
  libseccomp,
  python3,
  systemdMinimal,
@@ -13,6 +15,8 @@
  nixosTests,
  criu,
  versionCheckHook,
  withLibkrun ? lib.meta.availableOn stdenv.hostPlatform libkrun,
  withLibkrunSEV ? false,
}:

let
@@ -70,6 +74,16 @@ stdenv.mkDerivation (finalAttrs: {
    libseccomp
    systemdMinimal
    yajl
  ]
  ++ lib.optionals withLibkrun [
    libkrun
  ]
  ++ lib.optionals withLibkrunSEV [
    libkrun-sev
  ];

  configureFlags = lib.optionals withLibkrun [
    "--with-libkrun"
  ];

  enableParallelBuilding = true;
@@ -88,6 +102,14 @@ stdenv.mkDerivation (finalAttrs: {
    ${lib.concatMapStringsSep "\n" (
      e: "substituteInPlace Makefile.am --replace-fail 'tests/${e}' ''"
    ) disabledTests}
  ''
  + lib.optionalString withLibkrun ''
    substituteInPlace src/libcrun/handlers/krun.c \
      --replace-fail '"libkrun.so.1"' '"${libkrun}/lib/libkrun.so.1"'
  ''
  + lib.optionalString withLibkrunSEV ''
    substituteInPlace src/libcrun/handlers/krun.c \
      --replace-fail '"libkrun-sev.so.1"' '"${libkrun-sev}/lib/libkrun-sev.so.1"'
  '';

  doCheck = true;