depot/third_party/nixpkgs/pkgs/by-name/xw/xwayland-run/package.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;
};
}