hako pushed a commit to branch master in repository guix. commit ee1a40745ccde94cf18d90a80566ca65b0ea0408 Author: Hilton Chain <hako@ultrarare.space> AuthorDate: Sat Mar 1 14:17:17 2025 +0800
gnu: Add xwayland-run. * gnu/packages/xorg.scm (xwayland-run): New variable. Change-Id: I447913a9ef4fca8ec8cad128b15eeb61041ca734 --- gnu/packages/xorg.scm | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index db34a58f6e..c7c60e738f 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -6841,6 +6841,64 @@ the server and cleaning up before returning the exit status of the command.") (license (list license:x11 ; the script license:gpl2+)))) ; the man page +(define-public xwayland-run + (package + (name "xwayland-run") + (version "0.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.freedesktop.org/ofourdan/xwayland-run.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1nhrdjk1zbxfxkqwsz992g6xg04gankprzks543931fysclgdzql")))) + (build-system meson-build-system) + (arguments + (list + #:imported-modules + (append %meson-build-system-modules + %python-build-system-modules) + #:modules + '((guix build utils) + (guix build meson-build-system) + ((guix build python-build-system) #:prefix python:)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'enable-bytecode-determinism + (assoc-ref python:%standard-phases 'enable-bytecode-determinism)) + (add-after 'install 'python-install + (lambda args + (for-each + (lambda (phase) + (apply (assoc-ref python:%standard-phases phase) + args)) + '(add-install-to-pythonpath + add-install-to-path + wrap)))) + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/wlheadless/xwayland.py" + (("'(xauth|Xwayland)'" _ command) + (format #f "'~a'" (search-input-file + inputs (in-vicinity "bin" command)))))))))) + (inputs (list python xauth xorg-server-xwayland)) + (home-page "https://gitlab.freedesktop.org/ofourdan/xwayland-run") + (synopsis "Run X11 client on dedicated Xwayland server") + (description + "@code{xwayland-run} contains a set of small utilities revolving around +running @command{Xwayland} and various Wayland compositor headless, namely: +@itemize +@item @command{xwayland-run}: Spawn X11 client within its own dedicated +@command{Xwayland} rootful instance. +@item @command{wlheadless-run}: Run Wayland client on a set of supported +Wayland headless compositors. +@item @command{xwfb-run}: Combination of above two tools to be used as a +direct replacement for @command{xvfb-run} specifically. +@end itemize") + (license license:gpl2+))) + (define-public setroot (package (name "setroot")