ripasso-cursive: cosmetic changes (#361736)
[NixPkgs.git] / pkgs / by-name / kr / krun / package.nix
blob430916abaa5a883eda9afad0482198b5da79428a
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , fetchpatch
5 , rustPlatform
6 , libkrun
7 , makeWrapper
8 , passt
9 , sommelier
10 , mesa
11 , opengl-driver ? mesa.drivers
12 , withSommelier ? false
15 rustPlatform.buildRustPackage rec {
16   pname = "krun";
17   version = "0-unstable-2024-06-18";
19   src = fetchFromGitHub {
20     owner = "slp";
21     repo = pname;
22     rev = "912afa5c6525b7c8f83dffd65ec4b1425b3f7521";
23     hash = "sha256-rDuxv3UakAemDnj4Nsbpqsykts2IcseuQmDwO24L+u8=";
24   };
26   patches = [
27     (fetchpatch {
28       url = "https://github.com/slp/krun/pull/39.diff";
29       hash = "sha256-CV69L+VDDLRcWgpgDCAYKLlTU9ytFcHhzNgOibWD8KY=";
30     })
31     (fetchpatch {
32       url = "https://github.com/slp/krun/pull/38.diff";
33       hash = "sha256-cK3iDhh+33H16V65lWUXahjmpSxI1HhiLUmkjfkRB7A=";
34     })
35   ];
37   cargoHash = "sha256-NahnigxJaY2QwWnySCRrnf3JyqZ+7jRA1CpE7ON0OOE=";
39   nativeBuildInputs = [
40     rustPlatform.bindgenHook
41     makeWrapper
42   ];
44   buildInputs = [
45     (libkrun.override {
46       withGpu = true;
47       withNet = true;
48     })
49   ];
51   # Allow for sommelier to be disabled as it can cause problems.
52   wrapArgs = [
53     "--prefix PATH : ${lib.makeBinPath (lib.optional withSommelier [ sommelier ] ++ [ passt ])}"
54   ];
56   postFixup = ''
57     wrapProgram $out/bin/krun $wrapArgs \
58       --set-default OPENGL_DRIVER ${opengl-driver}
59   '';
61   meta = {
62     description = "Run programs from your system in a microVM";
63     homepage = "https://github.com/slp/krun";
64     license = lib.licenses.mit;
65     maintainers = with lib.maintainers; [ RossComputerGuy ];
66     platforms = libkrun.meta.platforms;
67     mainProgram = "krun";
68   };