nixpkgs/pkgs/by-name/xw/xwayland-run/package.nix
2024-03-25 20:51:45 -03:00

59 lines
1.5 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.3";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "ofourdan";
repo = "xwayland-run";
rev = version;
hash = "sha256-yYULbbcFDT1zRFn1UWS0dyuchGYnOZypDmxqc14RYF4=";
};
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 = with lib; {
description = "A set of small utilities revolving around running Xwayland and various Wayland compositor headless";
homepage = "https://gitlab.freedesktop.org/ofourdan/xwayland-run";
license = licenses.gpl2Only;
maintainers = with maintainers; [ arthsmn ];
platforms = platforms.linux;
};
}