lock: 1.3.0 -> 1.3.4 (#364295)
[NixPkgs.git] / pkgs / by-name / xw / xwayland-satellite / package.nix
blobc39830d8bf73ccc171d0008eacadb18af267b326
2   lib,
3   fetchFromGitHub,
4   libxcb,
5   makeBinaryWrapper,
6   nix-update-script,
7   pkg-config,
8   rustPlatform,
9   xcb-util-cursor,
10   xwayland,
11   withSystemd ? true,
14 rustPlatform.buildRustPackage rec {
15   pname = "xwayland-satellite";
16   version = "0.5";
18   src = fetchFromGitHub {
19     owner = "Supreeeme";
20     repo = "xwayland-satellite";
21     rev = "refs/tags/v${version}";
22     hash = "sha256-nq7bouXQXaaPPo/E+Jbq+wNHnatD4dY8OxSrRqzvy6s=";
23   };
25   postPatch = ''
26     substituteInPlace resources/xwayland-satellite.service \
27       --replace-fail '/usr/local/bin' "$out/bin"
28   '';
30   cargoHash = "sha256-KnkU+uLToD0cBNgPnRiR34XHIphQWoATjim1E/MVf48=";
32   nativeBuildInputs = [
33     makeBinaryWrapper
34     pkg-config
35     rustPlatform.bindgenHook
36   ];
38   buildInputs = [
39     libxcb
40     xcb-util-cursor
41   ];
43   buildNoDefaultFeatures = true;
44   buildFeatures = lib.optional withSystemd "systemd";
46   # All integration tests require a running display server
47   doCheck = false;
49   postInstall = lib.optionalString withSystemd ''
50     install -Dm0644 resources/xwayland-satellite.service -t $out/lib/systemd/user
51   '';
53   postFixup = ''
54     wrapProgram $out/bin/xwayland-satellite \
55       --prefix PATH : "${lib.makeBinPath [ xwayland ]}"
56   '';
58   passthru.updateScript = nix-update-script { };
60   meta = {
61     description = "Xwayland outside your Wayland compositor";
62     longDescription = ''
63       Grants rootless Xwayland integration to any Wayland compositor implementing xdg_wm_base.
64     '';
65     homepage = "https://github.com/Supreeeme/xwayland-satellite";
66     changelog = "https://github.com/Supreeeme/xwayland-satellite/releases/tag/v${version}";
67     license = lib.licenses.mpl20;
68     maintainers = with lib.maintainers; [
69       if-loop69420
70       sodiboo
71       getchoo
72     ];
73     mainProgram = "xwayland-satellite";
74     platforms = lib.platforms.linux;
75   };