81 lines
1.7 KiB
Nix
81 lines
1.7 KiB
Nix
{
|
|
fetchFromGitLab,
|
|
lib,
|
|
meson,
|
|
ninja,
|
|
python3,
|
|
weston,
|
|
xorg,
|
|
xwayland,
|
|
withCage ? false,
|
|
cage,
|
|
withKwin ? false,
|
|
kdePackages,
|
|
withMutter ? false,
|
|
gnome,
|
|
withDbus ? withMutter,
|
|
dbus, # Since 0.0.3, mutter compositors run with their own DBUS sessions
|
|
}:
|
|
let
|
|
compositors =
|
|
[ weston ]
|
|
++ lib.optional withCage cage
|
|
++ lib.optional withKwin kdePackages.kwin
|
|
++ lib.optional withMutter gnome.mutter
|
|
++ lib.optional withDbus dbus;
|
|
in
|
|
python3.pkgs.buildPythonApplication rec {
|
|
pname = "xwayland-run";
|
|
version = "0.0.4";
|
|
|
|
src = fetchFromGitLab {
|
|
domain = "gitlab.freedesktop.org";
|
|
owner = "ofourdan";
|
|
repo = "xwayland-run";
|
|
rev = version;
|
|
hash = "sha256-FP/2KNPehZEGKXr+fKdVj4DXzRMpfc3x7K6vH6ZsGdo=";
|
|
};
|
|
|
|
pyproject = false;
|
|
|
|
outputs = [
|
|
"out"
|
|
"man"
|
|
];
|
|
|
|
nativeBuildInputs = [
|
|
meson
|
|
ninja
|
|
];
|
|
|
|
postInstall = ''
|
|
wrapProgram $out/bin/wlheadless-run \
|
|
--prefix PATH : ${lib.makeBinPath compositors}
|
|
wrapProgram $out/bin/xwayland-run \
|
|
--prefix PATH : ${
|
|
lib.makeBinPath [
|
|
xwayland
|
|
xorg.xauth
|
|
]
|
|
}
|
|
wrapProgram $out/bin/xwfb-run \
|
|
--prefix PATH : ${
|
|
lib.makeBinPath (
|
|
compositors
|
|
++ [
|
|
xwayland
|
|
xorg.xauth
|
|
]
|
|
)
|
|
}
|
|
'';
|
|
|
|
meta = {
|
|
changelog = "https://gitlab.freedesktop.org/ofourdan/xwayland-run/-/releases/${src.rev}";
|
|
description = "Set of small utilities revolving around running Xwayland and various Wayland compositor headless";
|
|
homepage = "https://gitlab.freedesktop.org/ofourdan/xwayland-run";
|
|
license = lib.licenses.gpl2Only;
|
|
maintainers = with lib.maintainers; [ arthsmn ];
|
|
platforms = lib.platforms.linux;
|
|
};
|
|
}
|