diff options
Diffstat (limited to 'gnu/packages/xorg.scm')
-rw-r--r-- | gnu/packages/xorg.scm | 500 |
1 files changed, 256 insertions, 244 deletions
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index c553ae1eae..1e8aba9704 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2,11 +2,11 @@ ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014, 2015, 2017, 2018, 2020 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org> -;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> ;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> ;;; Copyright © 2015 Cyrill Schenkel <cyrill.schenkel@gmail.com> -;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Nikita <nikita@n0.is> ;;; Copyright © 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016 David Craven <david@craven.ch> @@ -24,11 +24,12 @@ ;;; Copyright © 2020 Liliana Marie Prikler <liliana.prikler@gmail.com> ;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de> ;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> -;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Jean-Baptiste Note <jean-baptiste.note@m4x.org> ;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org> ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2021 qblade <qblade@protonmail.com> ;;; @@ -53,6 +54,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (guix utils) @@ -101,6 +103,16 @@ +;; When cross-compiling certain packages, "--disable-malloc0returnsnull" +;; needs to be passed. Otherwise, the configure script will try to run a +;; binary for the host on the build machine. +(define (malloc0-flags) + (if (%current-target-system) + ;; At least on glibc-based systems, malloc(0) evaluates to a non-NULL + ;; pointer (except in out-of-memory situations). On other systems, + ;; --enable-malloc0returnsnull might be required instead. + '("--disable-malloc0returnsnull") + '())) ;; packages without propagated input ;; (rationale for this separation: The packages in PROPAGATED_INPUTS need to @@ -227,14 +239,14 @@ which can be read by any architecture.") (define-public xorgproto (package (name "xorgproto") - (version "2019.2") + (version "2021.5") (source (origin (method url-fetch) - (uri (string-append "mirror://xorg/individual/proto/" + (uri (string-append "ftp://ftp.freedesktop.org/pub/xorg//individual/proto/" "xorgproto-" version ".tar.bz2")) (sha256 (base32 - "13kvir8dz9dvzhvyfndpff1z7k8h14s7kkl7mbl427andhax1v26")))) + "05d0kib351qmnlfimaznaw0220fr0ym7fx2gn9h2jqxxilxncbxa")))) (build-system gnu-build-system) (propagated-inputs ;; To get util-macros in (almost?) all package inputs. @@ -1476,7 +1488,7 @@ treat it as part of their software base when porting.") (define-public libxres (package (name "libxres") - (version "1.2.0") + (version "1.2.1") (source (origin (method url-fetch) @@ -1486,7 +1498,7 @@ treat it as part of their software base when porting.") ".tar.bz2")) (sha256 (base32 - "1m0jr0lbz9ixpp9ihk68349q0i7ry2379lnfzdy4mrl86ijc2xgz")))) + "049b7dk6hx47161hg47ryjrm6pwsp27r5pby05b0wqb1pcggprmn")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static"))) @@ -1907,7 +1919,7 @@ management to participate in an X11R6 session.") (define-public util-macros (package (name "util-macros") - (version "1.19.2") + (version "1.19.3") (source (origin (method url-fetch) @@ -1917,7 +1929,7 @@ management to participate in an X11R6 session.") ".tar.bz2")) (sha256 (base32 - "04p7ydqxgq37jklnfj18b70zsifiz4h50wvrk94i2112mmv37r6p")))) + "0w8ryfqylprz37zj9grl4jzdsqq67ibfwq5raj7vm1i7kmp2x08g")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (arguments @@ -2150,8 +2162,15 @@ emulate a TI-30 or an HP-10C.") "https://xcb.freedesktop.org/dist/xcb-proto-" version ".tar.xz")) (sha256 - (base32 - "01d62r286yfc3rpz714nqdgkl0wk9j0wqkd4ylas1d7r4vmkqshq")))) + (base32 + "01d62r286yfc3rpz714nqdgkl0wk9j0wqkd4ylas1d7r4vmkqshq")) + (modules '((guix build utils))) + (snippet + '(begin + ;; fractions.gcd has been deprecated since python-3.5. + (substitute* "xcbgen/align.py" + (("from fractions import gcd") "from math import gcd")) + #t)))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("python" ,python-minimal-wrapper))) @@ -2255,65 +2274,58 @@ X11 Inter-Client Communication Conventions Manual (ICCCM).") X server: @code{handhelds}, @code{redglass} and @code{whiteglass}.") (license license:x11))) - (define-public hackneyed-x11-cursors - ;; The current release 0.8 suffers from non-deterministic build problems. - (let ((revision "1") - (commit "9423cef2e2e5ff6b1d65d61f7108c97bc7f5fdfb")) - (package - (name "hackneyed-x11-cursors") - (version (git-version "0.8.1" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/Enthymeme/hackneyed-x11-cursors.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0f637i76sdwz3nm1g1iynamq6j0i6k3c70fpl0fmd0dlynm8ga96")))) - (build-system gnu-build-system) - (arguments - `(#:tests? #f ;no test suite - #:make-flags (list (string-append "PREFIX=" %output)) - #:phases - (modify-phases %standard-phases - (delete 'configure) - (add-before 'build 'set-inkscape-environment-variable - (lambda* (#:key inputs #:allow-other-keys) - (let ((inkscape (string-append (assoc-ref inputs "inkscape") - "/bin/inkscape"))) - (setenv "INKSCAPE" inkscape) - #t))) - (add-before 'build 'placate-inkscape-warnings - (lambda _ - (setenv "HOME" (getcwd)) - #t)) - (add-after 'build 'generate-black-cursors - (lambda* (#:key make-flags parallel-build #:allow-other-keys) - (let ((build (assoc-ref %standard-phases 'build)) - (make-flags/extended - `(,@make-flags - "THEME_NAME=Hackneyed-Dark" - "COMMON_SOURCE=theme/common-dark.svg" - "RSVG_SOURCE=theme/right-handed-dark.svg" - "LSVG_SOURCE=theme/left-handed-dark.svg"))) - (build #:make-flags make-flags/extended - #:parallel-build parallel-build)))) - (add-after 'install 'install-black-cursors - (lambda* (#:key make-flags #:allow-other-keys) - (apply invoke `("make" "install" ,@make-flags - "THEME_NAME=Hackneyed-Dark"))))))) - (native-inputs `(("imagemagick" ,imagemagick) - ("inkscape" ,inkscape) - ("xcursorgen" ,xcursorgen))) - (home-page "https://gitlab.com/Enthymeme/hackneyed-x11-cursors") - (synopsis "Classic cursor theme for X11") - (description "Hackneyed is a scalable cursor theme mildly resembling old + (package + (name "hackneyed-x11-cursors") + (version "0.8.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/Enthymeme/hackneyed-x11-cursors.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1mjwbny4rid9dzz6xfb8l5rkwki41sfhdp970cf3w2pi9kyg1njs")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no test suite + #:make-flags (list (string-append "PREFIX=" %output)) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'set-inkscape-environment-variable + (lambda* (#:key inputs #:allow-other-keys) + (let ((inkscape (search-input-file inputs "/bin/inkscape"))) + (setenv "INKSCAPE" inkscape)))) + (add-before 'build 'placate-inkscape-warnings + (lambda _ + (setenv "HOME" (getcwd)))) + (add-after 'build 'generate-black-cursors + (lambda* (#:key make-flags parallel-build #:allow-other-keys) + (let ((build (assoc-ref %standard-phases 'build)) + (make-flags/extended + `(,@make-flags + "THEME_NAME=Hackneyed-Dark" + "COMMON_SOURCE=theme/common-dark.svg" + "RSVG_SOURCE=theme/right-handed-dark.svg" + "LSVG_SOURCE=theme/left-handed-dark.svg"))) + (build #:make-flags make-flags/extended + #:parallel-build parallel-build)))) + (add-after 'install 'install-black-cursors + (lambda* (#:key make-flags #:allow-other-keys) + (apply invoke `("make" "install" ,@make-flags + "THEME_NAME=Hackneyed-Dark"))))))) + (native-inputs `(("imagemagick" ,imagemagick) + ("inkscape" ,inkscape) + ("xcursorgen" ,xcursorgen))) + (home-page "https://gitlab.com/Enthymeme/hackneyed-x11-cursors") + (synopsis "Classic cursor theme for X11") + (description "Hackneyed is a scalable cursor theme mildly resembling old Windows 3.x cursors. The cursors are available in white and black colors. A left-handed version of the cursors is also included.") - (license license:x11)))) + (license license:x11))) (define-public xcursorgen (package @@ -2424,6 +2436,7 @@ DRI (Direct Rendering Infrastructure) drivers.") (base32 "1ql592pdhddhkipkrsxn929y9l2nn02a5fh2z3dx47kmzs5y006p")))) (build-system gnu-build-system) + (arguments `(#:configure-flags ',(malloc0-flags))) (inputs `(("libxrender" ,libxrender) ("libxrandr" ,libxrandr) @@ -2473,7 +2486,7 @@ XC-APPGROUP, XTEST.") (define-public libevdev (package (name "libevdev") - (version "1.9.1") + (version "1.11.0") (source (origin (method url-fetch) @@ -2481,7 +2494,7 @@ XC-APPGROUP, XTEST.") name "-" version ".tar.xz")) (sha256 (base32 - "1jvsphdrs1i54ccjcn6ll26jy42am7h28lbsvwa6pmxgqm43qq7m")))) + "1l628xblk36vh7aqia1fw6hh62af7va0pd70h28112l5i4afmx33")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-static"))) @@ -2535,7 +2548,7 @@ including most mice, keyboards, tablets and touchscreens.") (define-public xf86-input-libinput (package (name "xf86-input-libinput") - (version "1.0.1") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append @@ -2543,7 +2556,7 @@ including most mice, keyboards, tablets and touchscreens.") name "-" version ".tar.bz2")) (sha256 (base32 - "0nr4r9x8c7y1l0ipivjch5zps093mxmg2nqmfn2934am26fc9ppx")))) + "05ldqr10f2rrnshyk3lc773rz0gp3ccdzwa8n7lsc94i850jl7g1")))) (build-system gnu-build-system) (arguments '(#:configure-flags @@ -2711,14 +2724,14 @@ as USB mice.") (define-public xf86-video-amdgpu (package (name "xf86-video-amdgpu") - (version "19.1.0") + (version "21.0.0") (source (origin (method url-fetch) (uri (string-append "mirror://xorg/individual/driver/" "xf86-video-amdgpu-" version ".tar.bz2")) (sha256 - (base32 "0pgy4ihnja0vm8504qw7qxh3pdpa3p9k6967nz15m6b1mvha83jg")))) + (base32 "125dq85n46yqmnmr2hknxwcqicwlvz2b2phf0m963fpg9l1j6y30")))) (build-system gnu-build-system) (inputs `(("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) @@ -2776,27 +2789,36 @@ X server.") (license license:x11))) (define-public xf86-video-ati - (package - (name "xf86-video-ati") - (version "19.1.0") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://xorg/individual/driver/" - "xf86-video-ati-" version ".tar.bz2")) - (sha256 - (base32 "0j9w4axsqlycv4v14g53xyhkm9h7d27b2fcv9lrzb9gf54b5m7v5")))) - (build-system gnu-build-system) - (inputs `(("mesa" ,mesa) - ("xorgproto" ,xorgproto) - ("xorg-server" ,xorg-server))) - (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "https://www.x.org/wiki/") - (synopsis "ATI Radeon video driver for X server") - (description - "xf86-video-ati is an ATI Radeon video driver for the Xorg + ;; The current release is too old to build with our inputs. + (let ((commit "5eba006e4129e8015b822f9e1d2f1e613e252cda") + (revision "1")) + (package + (name "xf86-video-ati") + (version (git-version "19.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.freedesktop.org/xorg/driver/xf86-video-ati.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1n49wx0v13jh8vv17sxgrmmpi1mk3n2wph07jfmxmzqahpcn4lkn")))) + (build-system gnu-build-system) + (inputs `(("mesa" ,mesa) + ("xorgproto" ,xorgproto) + ("xorg-server" ,xorg-server))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (home-page "https://www.x.org/wiki/") + (synopsis "ATI Radeon video driver for X server") + (description + "xf86-video-ati is an ATI Radeon video driver for the Xorg X server.") - (license license:x11))) + (license license:x11)))) (define-public xf86-video-cirrus @@ -2904,7 +2926,13 @@ framebuffer device.") `(#:configure-flags (list (string-append "--with-xorg-conf-dir=" (assoc-ref %outputs "out") - "/share/X11/xorg.conf.d")))) + "/share/X11/xorg.conf.d")) + #:phases + (modify-phases %standard-phases + (replace 'bootstrap + (lambda _ + ;; autogen.sh calls configure unconditionally. + (invoke "autoreconf" "-vfi")))))) (home-page "https://www.x.org/wiki/") (synopsis "Adreno video driver for X server") (description @@ -3586,8 +3614,7 @@ X server.") (format #t "decompressing x86emu source code~%") (with-directory-excursion "libs" (let ((srcs (assoc-ref inputs "xorg-server-sources")) - (tar-binary (string-append (assoc-ref inputs "tar") - "/bin/tar"))) + (tar-binary (search-input-file inputs "/bin/tar"))) (invoke tar-binary "xvf" srcs "--strip-components=3" "--wildcards" "*/hw/xfree86/x86emu/") ;; extract license: @@ -3910,10 +3937,10 @@ alternative implementations like XRandR or TwinView.") (license license:x11))) -(define xkbcomp-intermediate ;used as input for xkeyboard-config +(define-public xkbcomp-intermediate ;used as input for xkeyboard-config (package (name "xkbcomp-intermediate") - (version "1.4.4") + (version "1.4.5") (source (origin (method url-fetch) @@ -3921,7 +3948,7 @@ alternative implementations like XRandR or TwinView.") version ".tar.bz2")) (sha256 (base32 - "0zpjkbap9160pdd6jpgb5f0yg5281w0rkkx1l0i7g887lq1ydk2r")))) + "0pmhshqinwqh5rip670l3szjpywky67hv232ql6gvdj489n0hlb8")))) (build-system gnu-build-system) (inputs `(("xorgproto" ,xorgproto) @@ -3943,11 +3970,16 @@ explicitly specify most aspects of keyboard behaviour on per-key basis and to more closely track the logical and physical state of the keyboard. It also includes a number of keyboard controls designed to make keyboards more accessible to people with physical impairments.") - (license license:x11))) + (license license:x11) + + ;; The only reason this package is public is to make sure it's built and + ;; published by the continuous integration tool. + (properties '((hidden? . #t))))) (define-public xkbcomp ; using xkeyboard-config as input (package (inherit xkbcomp-intermediate) (name "xkbcomp") + (properties '()) (inputs `(,@(package-inputs xkbcomp-intermediate) ("xkeyboard-config" ,xkeyboard-config))) @@ -4050,17 +4082,17 @@ extension to the X11 protocol. It includes: (define-public xkeyboard-config (package (name "xkeyboard-config") - (version "2.31") + (version "2.34") (source (origin (method url-fetch) (uri (string-append - "mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-" + "ftp://ftp.freedesktop.org/pub/xorg//individual/data/xkeyboard-config/xkeyboard-config-" version ".tar.bz2")) (sha256 (base32 - "18xddaxh83zm698syh50w983jg6b7b8zgv0dfaf7ha485hgihi6s")))) + "1kmq2ykwmh10sd6155gml4jhdxmvsll6xdg7zw86czpfhrvd48dk")))) (build-system gnu-build-system) (inputs `(("libx11" ,libx11) @@ -4758,13 +4790,14 @@ cannot be adequately worked around on the client side of the wire.") (base32 "0azqxllcsfxc3ilhz6kwc6x7m8wc477p59ir9p0yrsldx766zbar")))) (build-system gnu-build-system) + (outputs '("out" "doc")) ;man pages represent 40% of the total (arguments `(#:configure-flags (list "--disable-static" - ;; Disable zero malloc check that fails when cross-compiling. - ,@(if (%current-target-system) - '("--disable-malloc0returnsnull") - '())))) + (string-append "--mandir=" + (assoc-ref %outputs "doc") + "/share/man") + ,@(malloc0-flags)))) (propagated-inputs `(("xorgproto" ,xorgproto))) (inputs @@ -4795,7 +4828,7 @@ cannot be adequately worked around on the client side of the wire.") "086p0axqj57nvkaqa6r00dnr9kyrn1m8blgf0zjy25zpxkbxn200")))) (build-system gnu-build-system) (arguments - '(#:configure-flags '("--disable-static"))) + `(#:configure-flags '("--disable-static" ,@(malloc0-flags)))) (propagated-inputs `(("xorgproto" ,xorgproto))) (inputs @@ -4854,11 +4887,7 @@ cannot be adequately worked around on the client side of the wire.") (build-system gnu-build-system) (arguments `(#:configure-flags - (list "--disable-static" - ;; Disable zero malloc check that fails when cross-compiling. - ,@(if (%current-target-system) - '("--disable-malloc0returnsnull") - '())))) + (list "--disable-static" ,@(malloc0-flags)))) (propagated-inputs `(("xorgproto" ,xorgproto))) (inputs @@ -4925,7 +4954,7 @@ protocol and arbitrary X extension protocol.") "125hn06bd3d8y97hm2pbf5j55gg4r2hpd3ifad651i4sr7m16v6j")))) (build-system gnu-build-system) (arguments - '(#:configure-flags '("--disable-static"))) + `(#:configure-flags '(,@(malloc0-flags) "--disable-static"))) (propagated-inputs `(("xorgproto" ,xorgproto))) (inputs @@ -4974,9 +5003,8 @@ protocol and arbitrary X extension protocol.") (wrap-program (string-append (assoc-ref outputs "out") "/bin/mkfontdir") `("PATH" ":" prefix - (,(string-append (assoc-ref inputs "mkfontscale") - "/bin")))) - #t))))) + (,(dirname + (search-input-file inputs "/bin/mkfontscale")))))))))) (inputs `(("mkfontscale" ,mkfontscale))) (native-inputs @@ -5084,7 +5112,7 @@ an X Window System display.") (define-public libxfixes (package (name "libxfixes") - (version "5.0.3") + (version "6.0.0") (source (origin (method url-fetch) @@ -5094,7 +5122,7 @@ an X Window System display.") ".tar.bz2")) (sha256 (base32 - "1miana3y4hwdqdparsccmygqr3ic3hs5jrqfzp70hvi2zwxd676y")))) + "0k2v4i4r24y3kdr5ici1qqhp69djnja919xfqp54c2rylm6s5hd7")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static"))) @@ -5173,8 +5201,13 @@ new API's in libXft, or the legacy API's in libX11.") (base32 "0q8hz3slga3w3ch8wp0k7ay9ilhz315qnab0w1y2x9w3cf7hv8rn")))) (build-system gnu-build-system) + (outputs '("out" "doc")) ;man pages represent 28% of the total (arguments - '(#:configure-flags '("--disable-static"))) + `(#:configure-flags (list "--disable-static" + (string-append "--mandir=" + (assoc-ref %outputs "doc") + "/share/man") + ,@(malloc0-flags)))) (propagated-inputs `(("xorgproto" ,xorgproto) ("libx11" ,libx11) @@ -5203,7 +5236,7 @@ new API's in libXft, or the legacy API's in libX11.") "08z0mqywrm7ij8bxlfrx0d2wy6kladdmkva1nw5k6qix82z0xsla")))) (build-system gnu-build-system) (arguments - '(#:configure-flags '("--disable-static"))) + `(#:configure-flags '("--disable-static" ,@(malloc0-flags)))) (propagated-inputs ;; In accordance with xrandr.pc. `(("libx11" ,libx11) @@ -5234,7 +5267,7 @@ new API's in libXft, or the legacy API's in libX11.") "1kbdjsvkm5l7axv7g477qj18sab2wnqhliy6197syzizgfbsfgbb")))) (build-system gnu-build-system) (arguments - '(#:configure-flags '("--disable-static"))) + `(#:configure-flags '(,@(malloc0-flags) "--disable-static"))) (propagated-inputs `(("libxv" ,libxv))) (inputs @@ -5264,7 +5297,7 @@ new API's in libXft, or the legacy API's in libX11.") "0mydhlyn72i7brjwypsqrpkls3nm6vxw0li8b2nw0caz7kwjgvmg")))) (build-system gnu-build-system) (arguments - '(#:configure-flags '("--disable-static"))) + `(#:configure-flags '("--disable-static" ,@(malloc0-flags)))) (propagated-inputs `(("libxext" ,libxext) ("xorgproto" ,xorgproto))) @@ -5295,6 +5328,7 @@ protocol.") (base32 "0d2chjgyn5lr9sfhacfvqgnj9l9faz11vn322a06jd6lk3dxcpm5")))) (build-system gnu-build-system) + (outputs '("out" "doc")) ;5.5 MiB of man pages (propagated-inputs `(("libpthread-stubs" ,libpthread-stubs) ("libxau" ,libxau) @@ -5306,8 +5340,11 @@ protocol.") `(("pkg-config" ,pkg-config) ("python" ,python-minimal-wrapper))) (arguments - `(#:configure-flags '("--enable-xkb" - "--disable-static"))) + `(#:configure-flags (list "--enable-xkb" + "--disable-static" + (string-append "--mandir=" + (assoc-ref %outputs "doc") + "/share/man")))) (home-page "https://xcb.freedesktop.org/") (synopsis "The X C Binding (XCB) library") (description @@ -5326,66 +5363,90 @@ over Xlib, including: - easy extension implementation: interfaces auto-generated from XML-XCB.") (license license:x11))) +(define-public libxcvt + (package + (name "libxcvt") + (version "0.1.1") + (source (origin + (method url-fetch) + (uri (string-append "https://www.x.org/releases/individual" + "/lib/libxcvt-" version ".tar.xz")) + (sha256 + (base32 + "0acc7vrj5kfb19zvyl7f29rnsvx383dvwc19k70r8prm1lccxsr7")))) + (build-system meson-build-system) + (home-page "https://gitlab.freedesktop.org/xorg/lib/libxcvt") + (synopsis "VESA Coordinated Video Timings (CVT) library") + (description "@code{libxcvt} is a library providing a standalone version +of the X server implementation of the VESA Coordinated Video Timings (CVT) +standard timing modelines generator. @code{libxcvt} also provides a +standalone version of the command line tool @command{cvt} copied from the Xorg +implementation and is meant to be a direct replacement to the version provided +by the Xorg server.") + (license license:x11))) (define-public xorg-server (package (name "xorg-server") - (version "1.20.11") + (version "21.1.0") (source - (origin - (method url-fetch) - (uri (string-append "mirror://xorg/individual/xserver/" - "xorg-server-" version ".tar.bz2")) - (sha256 - (base32 - "0jacqgin8kcyy8fyv0lhgb4if8g9hp60rm3ih3s1mgps7xp7jk4i")) - (patches - (list - ;; See: - ;; https://lists.fedoraproject.org/archives/list/devel@lists. - ;; fedoraproject.org/message/JU655YB7AM4OOEQ4MOMCRHJTYJ76VFOK/ - (origin - (method url-fetch) - (uri (string-append - "http://pkgs.fedoraproject.org/cgit/rpms/xorg-x11-server.git" - "/plain/06_use-intel-only-on-pre-gen4.diff")) - (sha256 - (base32 - "0mm70y058r8s9y9jiv7q2myv0ycnaw3iqzm7d274410s0ik38w7q")) - (file-name "xorg-server-use-intel-only-on-pre-gen4.diff")))))) + (origin + (method url-fetch) + + (uri (string-append "https://xorg.freedesktop.org/archive/individual" + "/xserver/xorg-server-" version ".tar.xz")) + (sha256 + (base32 + "0hpyq51sf7f5yqq87zgcdiidfmb8r93am1djvxhcnwj4izfidhsh")) + (patches + (list + ;; See: + ;; https://lists.fedoraproject.org/archives/list/devel@lists. + ;; fedoraproject.org/message/JU655YB7AM4OOEQ4MOMCRHJTYJ76VFOK/ + (origin + (method url-fetch) + (uri (string-append + "http://pkgs.fedoraproject.org/cgit/rpms/xorg-x11-server.git" + "/plain/06_use-intel-only-on-pre-gen4.diff")) + (sha256 + (base32 + "0mm70y058r8s9y9jiv7q2myv0ycnaw3iqzm7d274410s0ik38w7q")) + (file-name "xorg-server-use-intel-only-on-pre-gen4.diff")))))) (build-system gnu-build-system) (propagated-inputs - `(("libpciaccess" ,libpciaccess) - ("mesa" ,mesa) - ("pixman" ,pixman) - ("xorgproto" ,xorgproto))) + ;; The following libraries are required by xorg-server.pc. + `(("libpciaccess" ,libpciaccess) + ("libxcvt" ,libxcvt) + ("mesa" ,mesa) + ("pixman" ,pixman) + ("xorgproto" ,xorgproto))) (inputs - `(("udev" ,eudev) - ("dbus" ,dbus) - ("libdmx" ,libdmx) - ("libepoxy" ,libepoxy) - ("libgcrypt" ,libgcrypt) - ("libxau" ,libxau) - ("libxaw" ,libxaw) - ("libxdmcp" ,libxdmcp) - ("libxfixes" ,libxfixes) - ("libxfont2" ,libxfont2) - ("libxkbfile" ,libxkbfile) - ("libxrender" ,libxrender) - ("libxres" ,libxres) - ("libxshmfence" ,libxshmfence) - ("libxt" ,libxt) - ("libxv" ,libxv) - ("xkbcomp" ,xkbcomp) - ("xkeyboard-config" ,xkeyboard-config) - ("xtrans" ,xtrans) - ("zlib" ,zlib) - ;; Inputs for Xephyr - ("xcb-util" ,xcb-util) - ("xcb-util-image" ,xcb-util-image) - ("xcb-util-keysyms" ,xcb-util-keysyms) - ("xcb-util-renderutil" ,xcb-util-renderutil) - ("xcb-util-wm" ,xcb-util-wm))) + `(("udev" ,eudev) + ("dbus" ,dbus) + ("libdmx" ,libdmx) + ("libepoxy" ,libepoxy) + ("libgcrypt" ,libgcrypt) + ("libxau" ,libxau) + ("libxaw" ,libxaw) + ("libxdmcp" ,libxdmcp) + ("libxfixes" ,libxfixes) + ("libxfont2" ,libxfont2) + ("libxkbfile" ,libxkbfile) + ("libxrender" ,libxrender) + ("libxres" ,libxres) + ("libxshmfence" ,libxshmfence) + ("libxt" ,libxt) + ("libxv" ,libxv) + ("xkbcomp" ,xkbcomp) + ("xkeyboard-config" ,xkeyboard-config) + ("xtrans" ,xtrans) + ("zlib" ,zlib) + ;; Inputs for Xephyr + ("xcb-util" ,xcb-util) + ("xcb-util-image" ,xcb-util-image) + ("xcb-util-keysyms" ,xcb-util-keysyms) + ("xcb-util-renderutil" ,xcb-util-renderutil) + ("xcb-util-wm" ,xcb-util-wm))) (native-inputs `(("python" ,python-wrapper) ("pkg-config" ,pkg-config))) @@ -5397,7 +5458,7 @@ over Xlib, including: "/share/X11/xkb") (string-append "--with-xkb-output=" "/tmp") ; FIXME: This is a bit doubtful; where should - ; the compiled keyboard maps go? + ; the compiled keyboard maps go? (string-append "--with-xkb-bin-directory=" (assoc-ref %build-inputs "xkbcomp") "/bin") @@ -5409,16 +5470,13 @@ over Xlib, including: ;; The default is to use "uname -srm", which captures the kernel ;; version and makes builds non-reproducible. "--with-os-name=GNU" - - "--with-os-vendor=GuixSD" ;not strictly needed, but looks nice - + "--with-os-vendor=Guix" ; not strictly needed, but looks nice ;; For the log file, etc. "--localstatedir=/var" - ;; For sddm + ;; For sddm. "--enable-kdrive" "--enable-xephyr") - #:phases (modify-phases %standard-phases (add-before 'configure 'pre-configure @@ -5437,9 +5495,7 @@ over Xlib, including: (("^BUILD_DATE=.*$") "BUILD_DATE=19700101\n") (("^BUILD_TIME=.*$") - "BUILD_TIME=000001\n")) - - #t))))) + "BUILD_TIME=000001\n"))))))) (home-page "https://www.x.org/wiki/") (synopsis "Xorg implementation of the X Window System") (description @@ -5460,30 +5516,7 @@ draggable titlebars and borders.") (define-public xorg-server-for-tests (hidden-package (package - (inherit xorg-server) - (version "1.20.10") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://xorg/individual/xserver/" - "xorg-server-" version ".tar.bz2")) - (sha256 - (base32 - "16bwrf0ag41l7jbrllbix8z6avc5yimga7ihvq4ch3a5hb020x4p")) - (patches - (list - ;; See: - ;; https://lists.fedoraproject.org/archives/list/devel@lists. - ;; fedoraproject.org/message/JU655YB7AM4OOEQ4MOMCRHJTYJ76VFOK/ - (origin - (method url-fetch) - (uri (string-append - "http://pkgs.fedoraproject.org/cgit/rpms/xorg-x11-server.git" - "/plain/06_use-intel-only-on-pre-gen4.diff")) - (sha256 - (base32 - "0mm70y058r8s9y9jiv7q2myv0ycnaw3iqzm7d274410s0ik38w7q")) - (file-name "xorg-server-use-intel-only-on-pre-gen4.diff"))))))))) + (inherit xorg-server)))) (define-public xorg-server-xwayland (package/inherit xorg-server @@ -5508,18 +5541,15 @@ draggable titlebars and borders.") (define-public libx11 (package (name "libx11") - (version "1.6.10") + (version "1.7.2") (source (origin (method url-fetch) - (uri (string-append - "mirror://xorg/individual/lib/libX11-" - version - ".tar.bz2")) + (uri (string-append "mirror://xorg/individual/lib/libX11-" + version ".tar.bz2")) (sha256 (base32 - "09k2pqmqbn2m1bpgl7jfxyqxaaxsnzbnp2bp8ycmqldqi5ln4j5g")))) - (replacement libx11/fixed) + "0v7aj8q3rlchdyfwdna7n7vgpyzyir391dlv5rwy9fxagbikbyhw")))) (build-system gnu-build-system) (outputs '("out" "doc")) ;8 MiB of man pages + XML @@ -5529,11 +5559,7 @@ draggable titlebars and borders.") (assoc-ref %outputs "doc") "/share/man") "--disable-static" - - ;; Disable zero malloc check that fails when cross-compiling. - ,@(if (%current-target-system) - '("--disable-malloc0returnsnull") - '())))) + ,@(malloc0-flags)))) (propagated-inputs `(("xorgproto" ,xorgproto) ("libxcb" ,libxcb))) @@ -5547,18 +5573,6 @@ draggable titlebars and borders.") (description "Xorg Core X11 protocol client library.") (license license:x11))) -(define-public libx11/fixed - (package - (inherit libx11) - (version "1.7.1A") - (source - (origin - (method url-fetch) - (uri "mirror://xorg/individual/lib/libX11-1.7.1.tar.bz2") - (sha256 - (base32 - "0isxad59hvdwggbxqqjjjg3zmih9xiq4d9mdsnqbyb2nmbg46kp6")))))) - ;; packages of height 5 in the propagated-inputs tree (define-public libxcursor @@ -5602,7 +5616,7 @@ draggable titlebars and borders.") (define-public libxt (package (name "libxt") - (version "1.2.0") + (version "1.2.1") (source (origin (method url-fetch) @@ -5612,7 +5626,7 @@ draggable titlebars and borders.") ".tar.bz2")) (sha256 (base32 - "0cbqlyssr8aia88c8i7z59z9d0kp3p2hp6683xhz9ndyv8qza7dk")) + "0q1x7842r8rcn2m0q4q9f69h4qa097fyizs8brzx5ns62s7w1737")) (patches (search-patches "libxt-guix-search-paths.patch")))) (build-system gnu-build-system) (outputs '("out" @@ -5623,10 +5637,7 @@ draggable titlebars and borders.") (assoc-ref %outputs "doc") "/share/man") "--disable-static" - ;; Disable zero malloc check that fails when cross-compiling. - ,@(if (%current-target-system) - '("--disable-malloc0returnsnull") - '())))) + ,@(malloc0-flags)))) (propagated-inputs `(("libx11" ,libx11) ("libice" ,libice) @@ -5644,7 +5655,7 @@ draggable titlebars and borders.") (define-public libxaw (package (name "libxaw") - (version "1.0.13") + (version "1.0.14") (source (origin (method url-fetch) @@ -5654,7 +5665,7 @@ draggable titlebars and borders.") ".tar.bz2")) (sha256 (base32 - "1kdhxplwrn43d9jp3v54llp05kwx210lrsdvqb6944jp29rhdy4f")))) + "13kg59r3086383g1dyhnwxanhp2frssh9062mrgn34nzlf7gkbkn")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static"))) @@ -6422,7 +6433,8 @@ basic eye-candy effects.") ;; The trailing -- is intentional, so we only replace it inside ;; a command line. (("dbus-launch --") - (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch --"))) + (string-append (search-input-file inputs "/bin/dbus-launch") + " --"))) ;; /run/user does not exist on guix system (substitute* "./xpra/scripts/config.py" (("socket-dir.*: \"\",") |