diff options
Diffstat (limited to 'gnu/packages/xorg.scm')
| -rw-r--r-- | gnu/packages/xorg.scm | 140 |
1 files changed, 105 insertions, 35 deletions
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 4de513599d..f7e5317655 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -44,6 +44,7 @@ ;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; Copyright © 2025 宋文武 <iyzsong@envs.net> ;;; Copyright © 2025 B. Wilson <elaexuotee@wilsonb.com> +;;; Copyright © 2025 Simen Endsjø <contact@simendsjo.me> ;;; ;;; This file is part of GNU Guix. ;;; @@ -66,6 +67,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix build-system cargo) #:use-module (guix build-system cmake) #:use-module (guix build-system copy) #:use-module (guix build-system gnu) @@ -2108,7 +2110,7 @@ server.") (inputs (list libxmu libxext libxau libx11)) (native-inputs - (list cmdtest pkg-config)) + (list pkg-config)) (home-page "https://www.x.org/wiki/") (synopsis "X authority file utility") (description @@ -2643,7 +2645,7 @@ It is used to control the pointer with a joystick device.") "0mvwxrnkq0lzhjr894p420zxffdn34nc2scinmp7qd1hikr51kkp")))) (build-system gnu-build-system) ;; Linux is no longer supported since 2.0.0, use libinput or evdev instead. - (supported-systems '("i586-gnu" "x86_64-gnu")) + (supported-systems %hurd-systems) (inputs (list xorg-server)) (native-inputs (list pkg-config)) (home-page "https://www.x.org/wiki/") @@ -5188,19 +5190,22 @@ protocol.") (native-inputs (list pkg-config python-minimal-wrapper)) (arguments - `(#:configure-flags (list "--enable-xkb" - "--disable-static" - (string-append "--mandir=" - (assoc-ref %outputs "doc") - "/share/man")) - #:phases ,(if (target-hurd?) - '(modify-phases %standard-phases - (add-after 'unpack 'fix-PATH_MAX - (lambda _ - ;; Hurd doesn't define PATH_MAX. - (substitute* "src/xcb_util.c" - (("PATH_MAX") "4096"))))) - '%standard-phases))) + (list + #:configure-flags #~(list "--enable-xkb" + "--disable-static" + (string-append "--mandir=" + (assoc-ref %outputs "doc") + "/share/man")) + #:phases + (if (target-hurd?) + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-PATH_MAX + (lambda _ + ;; Hurd doesn't define PATH_MAX. + (let ((patch #$(local-file + (search-patch "libxcb-path-max.patch")))) + (invoke "patch" "--force" "-p1" "-i" patch))))) + #~%standard-phases))) (home-page "https://xcb.freedesktop.org/") (synopsis "The X C Binding (XCB) library") (description @@ -5244,7 +5249,7 @@ by the Xorg server.") (define-public xorg-server (package (name "xorg-server") - (version "21.1.15") + (version "21.1.18") (source (origin (method url-fetch) @@ -5252,7 +5257,7 @@ by the Xorg server.") "/xserver/xorg-server-" version ".tar.xz")) (sha256 (base32 - "12g0g9ksswzx1kgn23gvrpa570fnpkdkmw1dfqjjg4422a884744")) + "0lk3268gzpll547zvaa64rdhs4z89d7w567lbd55swl71n9x2y68")) (patches (list ;; See: @@ -5363,13 +5368,23 @@ communicates with the user via graphical controls such as buttons and draggable titlebars and borders.") (license license:x11))) -;; This package is intended to be used when building GTK+. +;; This package is intended to be used when building GTK+ qtbase (via +;; xvfb-run-for-tests). ;; Note: It's currently marked as "hidden" to avoid having two non-eq? ;; packages with the same name and version. (define-public xorg-server-for-tests (hidden-package (package - (inherit xorg-server)))) + (inherit xorg-server) + (version "21.1.15") + (source + (origin + (inherit (package-source xorg-server)) + (uri (string-append "https://xorg.freedesktop.org/archive/individual" + "/xserver/xorg-server-" version ".tar.xz")) + (sha256 + (base32 + "12g0g9ksswzx1kgn23gvrpa570fnpkdkmw1dfqjjg4422a884744"))))))) ;;; XXX: Not really at home, but unless we break the inheritance between ;;; tigervnc-server and xorg-server, it must live here to avoid cyclic module @@ -5674,7 +5689,7 @@ EGLStream families of extensions.") (define-public xorg-server-xwayland (package (name "xorg-server-xwayland") - (version "24.1.6") + (version "24.1.8") (source (origin (method url-fetch) @@ -5682,7 +5697,7 @@ EGLStream families of extensions.") "/xserver/xwayland-" version ".tar.xz")) (sha256 (base32 - "1myjakbmnw6w8vx4fyw48sc3iy9cb6vlwr0im4az9gbblcn62zkk")))) + "01wr356pgh7k9jg1zrd73fpyy8pmbansfsy1jf1fp77dr1bqv468")))) (inputs (list font-dejavu dbus egl-wayland @@ -5745,7 +5760,7 @@ Wayland.") (define-public libx11 (package (name "libx11") - (version "1.8.10") + (version "1.8.12") (source (origin (method url-fetch) @@ -5753,7 +5768,7 @@ Wayland.") version ".tar.xz")) (sha256 (base32 - "0lywvwsz92j7isglvw2227g3na4ghyspvsvblpf43ns7jfnksfrb")))) + "16lspc3bw2pg3jal7zyq6mxmxmmaax0fz6lgh1n4skqjn2dny0ps")))) (build-system gnu-build-system) (outputs '("out" "doc")) ;8 MiB of man pages + XML @@ -6188,16 +6203,13 @@ The XCB util-wm module provides the following libraries: (define-public xinit (package (name "xinit") - (version "1.4.3") + (version "1.4.4") (source (origin (method url-fetch) (uri (string-append "mirror://xorg/individual/app/xinit-" version ".tar.xz")) (sha256 - (base32 - "0npx32mi035xkz26gp7raps5xsq4v7rgayy1q794h4d3lqhryh46")) - (patches - (search-patches "xinit-startx-mcookie-path.patch")))) + (base32 "1ygymifhg500sx1ybk8x4d1zn4g4ywvlnyvqwcf9hzsc2rx7r920")))) (build-system gnu-build-system) (inputs (list libx11 util-linux xorgproto)) (native-inputs (list pkg-config)) @@ -6552,7 +6564,7 @@ basic eye-candy effects.") (define-public xpra (package (name "xpra") - (version "6.3.2") + (version "6.3.4") (source (origin (method git-fetch) @@ -6561,7 +6573,7 @@ basic eye-candy effects.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1ffh106rld54pb9n4aq1jh4lk8c9h54w0h5pjj2h3jzyvpsnpfqs")) + (base32 "0zzjx60qk6ps5h9ykwlwsj69vnxsjmk0zn01my6mr117xpajq7sv")) (patches (search-patches "xpra-6.0-systemd-run.patch" "xpra-6.1-install_libs.patch")))) (build-system python-build-system) @@ -6604,7 +6616,7 @@ basic eye-candy effects.") python-lz4 ; Faster compression than zlib. python-netifaces python-pycups)) - (native-inputs (list pkg-config pandoc python-cython-3)) + (native-inputs (list pkg-config pandoc python-cython)) (arguments (list #:configure-flags #~(list "--without-Xdummy" @@ -7062,14 +7074,14 @@ box, and a calendar. It uses GTK+, and will match your desktop theme.") (define-public xvfb-run (package (name "xvfb-run") - (version "21.1.7-1") + (version "21.1.18-2") (source (origin (method url-fetch) (uri (string-append "mirror://debian/pool/main/x/xorg-server/" "xorg-server_" version ".diff.gz")) (sha256 - (base32 "1073m4gzn8yv9kn70fbyq8a2xckgz0wljjr2w7i2bsrg767h29gd")))) + (base32 "1775i47yyvpzg5gb3cdyc260bzr802i15vdlw0qnrl030li53yj2")))) (build-system gnu-build-system) (arguments (list @@ -7078,11 +7090,11 @@ box, and a calendar. It uses GTK+, and will match your desktop theme.") (replace 'unpack ;; Apply the source patch to an empty directory. (lambda* (#:key inputs #:allow-other-keys) - (let* ((diff.gz (basename #$source)) + (let* ((diff.gz (basename #$(package-source this-package))) (diff (substring diff.gz 0 (string-rindex diff.gz #\.)))) (mkdir "source") (chdir "source") - (copy-file #$source diff.gz) + (copy-file #$(package-source this-package) diff.gz) (invoke "gunzip" diff.gz) (invoke "patch" "-Np1" "-i" diff) (chdir "debian/local")))) @@ -7137,6 +7149,24 @@ the server and cleaning up before returning the exit status of the command.") (license (list license:x11 ; the script license:gpl2+)))) ; the man page +;; This package is intended to be used when building qtbase, like +;; xorg-server-for-tests. +(define-public xvfb-run-for-tests + (hidden-package + (package + (inherit xvfb-run) + (version "21.1.7-1") + (source + (origin + (inherit (package-source xvfb-run)) + (uri (string-append "mirror://debian/pool/main/x/xorg-server/" + "xorg-server_" version ".diff.gz")) + (sha256 + (base32 "1073m4gzn8yv9kn70fbyq8a2xckgz0wljjr2w7i2bsrg767h29gd")))) + (inputs + (modify-inputs (package-inputs xvfb-run) + (replace "xorg-server" xorg-server-for-tests)))))) + (define-public xwayland-run (package (name "xwayland-run") @@ -7195,6 +7225,46 @@ direct replacement for @command{xvfb-run} specifically. @end itemize") (license license:gpl2+))) +(define-public xwayland-satellite + (package + (name "xwayland-satellite") + (version "0.7") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Supreeeme/xwayland-satellite") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "10g21lfxhym8wi2hsy7mdkhdk128myp5j1vy39vf2196zd8nvvwv")))) + (build-system cargo-build-system) + (arguments + (list #:install-source? #f + #:tests? #f ;Requires running display server. + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/lib.rs" + (("\"Xwayland\"") + (format #f "~s" + (search-input-file inputs "bin/Xwayland"))))))))) + (native-inputs (list pkg-config)) + (inputs + (cons* clang + xcb-util-cursor + xorg-server-xwayland + (cargo-inputs 'xwayland-satellite))) + (home-page "https://github.com/Supreeeme/xwayland-satellite") + (synopsis "Xwayland outside your Wayland") + (description + "@command{xwayland-satellite} grants rootless Xwayland integration to any +Wayland compositor implementing the @code{xdg_wm_base} interface. This is +particularly useful for compositors that (understandably) do not want to go +through implementing support for rootless Xwayland themselves.") + (license license:mpl2.0))) + (define-public setroot (package (name "setroot") |
