31 pipewireSupport ? true,
35 remotingSupport ? true,
45 xwaylandSupport ? true,
50 stdenv.mkDerivation rec {
55 url = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${version}/downloads/weston-${version}.tar.xz";
56 hash = "sha256-qBUFBbEmpZ33gf6MMMjm+H2nAT4XkDnrhEpbu8x8ebM=";
61 # vnc: Allow neatvnc in version 0.9.0
62 # https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1649
63 url = "https://gitlab.freedesktop.org/wayland/weston/-/commit/b4386289d614f26e89e1c6eb17e048826e925ed1.patch";
64 hash = "sha256-mkIOup44C9Kp42tFMXz8Sis4URmPi4t605MQG672nJU=";
68 depsBuildBuild = [ pkg-config ];
90 ++ lib.optional jpegSupport libjpeg
91 ++ lib.optional lcmsSupport lcms2
92 ++ lib.optional pangoSupport pango
93 ++ lib.optional pipewireSupport pipewire
94 ++ lib.optional rdpSupport freerdp
95 ++ lib.optionals remotingSupport [
97 gst_all_1.gst-plugins-base
99 ++ lib.optional vaapiSupport libva
100 ++ lib.optionals vncSupport [
105 ++ lib.optional webpSupport libwebp
106 ++ lib.optionals xwaylandSupport [
114 (lib.mesonBool "backend-drm-screencast-vaapi" vaapiSupport)
115 (lib.mesonBool "backend-pipewire" pipewireSupport)
116 (lib.mesonBool "backend-rdp" rdpSupport)
117 (lib.mesonBool "backend-vnc" vncSupport)
118 (lib.mesonBool "color-management-lcms" lcmsSupport)
119 (lib.mesonBool "demo-clients" demoSupport)
120 (lib.mesonBool "image-jpeg" jpegSupport)
121 (lib.mesonBool "image-webp" webpSupport)
122 (lib.mesonBool "pipewire" pipewireSupport)
123 (lib.mesonBool "remoting" remotingSupport)
124 (lib.mesonOption "simple-clients" "")
125 (lib.mesonBool "test-junit-xml" false)
126 (lib.mesonBool "xwayland" xwaylandSupport)
128 ++ lib.optionals xwaylandSupport [
129 (lib.mesonOption "xwayland-path" (lib.getExe xwayland))
132 passthru.providedSessions = [ "weston" ];
135 description = "Lightweight and functional Wayland compositor";
137 Weston is the reference implementation of a Wayland compositor, as well
138 as a useful environment in and of itself.
139 Out of the box, Weston provides a very basic desktop, or a full-featured
140 environment for non-desktop uses such as automotive, embedded, in-flight,
141 industrial, kiosks, set-top boxes and TVs. It also provides a library
142 allowing other projects to build their own full-featured environments on
143 top of Weston's core. A small suite of example or demo clients are also
146 homepage = "https://gitlab.freedesktop.org/wayland/weston";
147 license = licenses.mit; # Expat version
148 platforms = platforms.linux;
149 mainProgram = "weston";
150 maintainers = with maintainers; [