summaryrefslogtreecommitdiff
path: root/gnu/packages/xorg.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/xorg.scm')
-rw-r--r--gnu/packages/xorg.scm140
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")