diff --git a/pkgs/by-name/li/libkrun/package.nix b/pkgs/by-name/li/libkrun/package.nix index 4659c00b715a..33a820dbc286 100644 --- a/pkgs/by-name/li/libkrun/package.nix +++ b/pkgs/by-name/li/libkrun/package.nix @@ -60,7 +60,7 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optional (sevVariant || withGpu) pkg-config; buildInputs = [ - (libkrunfw.override { inherit sevVariant; }) + (libkrunfw.override { variant = if sevVariant then "sev" else null; }) glibc glibc.static ] diff --git a/pkgs/by-name/li/libkrunfw/package.nix b/pkgs/by-name/li/libkrunfw/package.nix index 395d892c971e..2977487ee116 100644 --- a/pkgs/by-name/li/libkrunfw/package.nix +++ b/pkgs/by-name/li/libkrunfw/package.nix @@ -10,23 +10,29 @@ perl, elfutils, python3, - sevVariant ? false, + variant ? null, }: +assert lib.elem variant [ + null + "sev" + "tdx" +]; + stdenv.mkDerivation (finalAttrs: { - pname = "libkrunfw"; - version = "4.9.0"; + pname = "libkrunfw" + lib.optionalString (variant != null) "-${variant}"; + version = "4.10.0"; src = fetchFromGitHub { owner = "containers"; repo = "libkrunfw"; tag = "v${finalAttrs.version}"; - hash = "sha256-wmvjex68Mh7qehA33WNBYHhV9Q/XWLixokuGWnqJ3n0="; + hash = "sha256-mq2gw0+xL6qUZE/fk0vLT3PEpzPV8p+iwRFJHXVOMnk="; }; kernelSrc = fetchurl { - url = "mirror://kernel/linux/kernel/v6.x/linux-6.12.20.tar.xz"; - hash = "sha256-Iw6JsHsKuC508H7MG+4xBdyoHQ70qX+QCSnEBySbasc="; + url = "mirror://kernel/linux/kernel/v6.x/linux-6.12.34.tar.xz"; + hash = "sha256-p/P+OB9n7KQXLptj77YaFL1/nhJ44DYD0P9ak/Jwwk0="; }; postPatch = '' @@ -51,8 +57,11 @@ stdenv.mkDerivation (finalAttrs: { makeFlags = [ "PREFIX=${placeholder "out"}" ] - ++ lib.optionals sevVariant [ + ++ lib.optionals (variant == "sev") [ "SEV=1" + ] + ++ lib.optionals (variant == "tdx") [ + "TDX=1" ]; # Fixes https://github.com/containers/libkrunfw/issues/55 @@ -60,18 +69,18 @@ stdenv.mkDerivation (finalAttrs: { enableParallelBuilding = true; - meta = with lib; { + meta = { description = "Dynamic library bundling the guest payload consumed by libkrun"; homepage = "https://github.com/containers/libkrunfw"; - license = with licenses; [ + license = with lib.licenses; [ lgpl2Only lgpl21Only ]; - maintainers = with maintainers; [ + maintainers = with lib.maintainers; [ nickcao RossComputerGuy nrabulinski ]; - platforms = [ "x86_64-linux" ] ++ lib.optionals (!sevVariant) [ "aarch64-linux" ]; + platforms = [ "x86_64-linux" ] ++ lib.optionals (variant == null) [ "aarch64-linux" ]; }; })