From beeb5f5d9ffbcaf1fb6aec66ac74e34a0148b31c Mon Sep 17 00:00:00 2001 From: Val Packett Date: Fri, 20 Feb 2026 05:17:28 -0300 Subject: [PATCH] Fork libkrun again to fix buffer mapping permission issue (fix #18) Initial D-Bus WIP is also there.. --- flake.lock | 18 ++++++++++++++++++ flake.nix | 12 ++++++------ packages/libkrun/default.nix | 20 +++++++++++--------- 3 files changed, 35 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index ebbd7e5..84f1720 100644 --- a/flake.lock +++ b/flake.lock @@ -20,6 +20,23 @@ "type": "github" } }, + "libkrun-src": { + "flake": false, + "locked": { + "lastModified": 1772170018, + "narHash": "sha256-pi4Mrx9wFE8zT8lx+0su2bP1tTkJBh5FaGNQjAFUAx4=", + "owner": "valpackett", + "repo": "libkrun", + "rev": "eeafbc55379b60379414168e7a22d5f95b73d7a0", + "type": "github" + }, + "original": { + "owner": "valpackett", + "repo": "libkrun", + "rev": "eeafbc55379b60379414168e7a22d5f95b73d7a0", + "type": "github" + } + }, "muvm-src": { "flake": false, "locked": { @@ -56,6 +73,7 @@ "root": { "inputs": { "flake-parts": "flake-parts", + "libkrun-src": "libkrun-src", "muvm-src": "muvm-src", "nixpkgs": "nixpkgs", "sidebus": "sidebus" diff --git a/flake.nix b/flake.nix index a7bacf1..84c3166 100644 --- a/flake.nix +++ b/flake.nix @@ -19,10 +19,10 @@ url = "github:valpackett/muvm/ae7dbd49aac04e9732a14a424572e99a81eb1298"; # v0.5.0+custom-init flake = false; }; - # libkrun-src = { - # url = "github:containers/libkrun/376f25637c49f26231ec92532f31a24b99236aa6"; # v1.17.0 - # flake = false; - # }; + libkrun-src = { + url = "github:valpackett/libkrun/eeafbc55379b60379414168e7a22d5f95b73d7a0"; # PR #558 (map permission fix) + D-Bus WIP + flake = false; + }; # libkrunfw-src = { # url = "github:containers/libkrunfw/20484a2e60290acb74c43ccfd6e1ea4caf41d470"; # v5.1.0 # flake = false; @@ -36,7 +36,7 @@ flake-parts, sidebus, muvm-src, - # libkrun-src, + libkrun-src, # libkrunfw-src, ... }: @@ -108,7 +108,7 @@ libkrun = pkgs.callPackage ./packages/libkrun { libkrunfw = self'.packages.libkrunfw; - # libkrun-src = libkrun-src; + libkrun-src = libkrun-src; }; mesa = pkgs.callPackage ./packages/mesa { }; diff --git a/packages/libkrun/default.nix b/packages/libkrun/default.nix index 205f8d2..00d655c 100644 --- a/packages/libkrun/default.nix +++ b/packages/libkrun/default.nix @@ -1,8 +1,9 @@ { libkrun, libkrunfw, - # libkrun-src, - # rustPlatform, + libkrun-src, + rustPlatform, + libcap_ng, variant ? null, ... }: @@ -21,10 +22,11 @@ let libkrunfw = libkrunfw'; }; in -libkrun' -# libkrun'.overrideAttrs (old: { -# src = libkrun-src; -# cargoDeps = rustPlatform.importCargoLock { -# lockFile = "${libkrun-src}/Cargo.lock"; -# }; -# }) +# libkrun' +libkrun'.overrideAttrs (old: { + src = libkrun-src; + cargoDeps = rustPlatform.importCargoLock { + lockFile = "${libkrun-src}/Cargo.lock"; + }; + buildInputs = old.buildInputs ++ [ libcap_ng ]; # new dep +})