diff options
Diffstat (limited to 'gnu/packages/xorg.scm')
-rw-r--r-- | gnu/packages/xorg.scm | 227 |
1 files changed, 123 insertions, 104 deletions
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 2e10f29ba9..9c4be46966 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> @@ -29,6 +29,7 @@ ;;; 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> ;;; @@ -101,6 +102,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 +238,14 @@ which can be read by any architecture.") (define-public xorgproto (package (name "xorgproto") - (version "2019.2") + (version "2021.4") (source (origin (method url-fetch) (uri (string-append "mirror://xorg/individual/proto/" "xorgproto-" version ".tar.bz2")) (sha256 (base32 - "13kvir8dz9dvzhvyfndpff1z7k8h14s7kkl7mbl427andhax1v26")))) + "1gwz8lhvczjinndrq2jb0swfvhk7p65rprkwiqwlp132041mfl8g")))) (build-system gnu-build-system) (propagated-inputs ;; To get util-macros in (almost?) all package inputs. @@ -1476,7 +1487,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 +1497,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 +1918,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 +1928,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 +2161,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))) @@ -2282,8 +2300,7 @@ X server: @code{handhelds}, @code{redglass} and @code{whiteglass}.") (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"))) + (let ((inkscape (search-input-file inputs "/bin/inkscape"))) (setenv "INKSCAPE" inkscape) #t))) (add-before 'build 'placate-inkscape-warnings @@ -2424,6 +2441,7 @@ DRI (Direct Rendering Infrastructure) drivers.") (base32 "1ql592pdhddhkipkrsxn929y9l2nn02a5fh2z3dx47kmzs5y006p")))) (build-system gnu-build-system) + (arguments `(#:configure-flags ',(malloc0-flags))) (inputs `(("libxrender" ,libxrender) ("libxrandr" ,libxrandr) @@ -2535,7 +2553,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 +2561,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 +2729,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 +2794,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 +2931,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 +3619,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 +3942,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 +3953,7 @@ alternative implementations like XRandR or TwinView.") version ".tar.bz2")) (sha256 (base32 - "0zpjkbap9160pdd6jpgb5f0yg5281w0rkkx1l0i7g887lq1ydk2r")))) + "0pmhshqinwqh5rip670l3szjpywky67hv232ql6gvdj489n0hlb8")))) (build-system gnu-build-system) (inputs `(("xorgproto" ,xorgproto) @@ -3943,11 +3975,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,7 +4087,7 @@ extension to the X11 protocol. It includes: (define-public xkeyboard-config (package (name "xkeyboard-config") - (version "2.31") + (version "2.33") (source (origin (method url-fetch) @@ -4060,7 +4097,7 @@ extension to the X11 protocol. It includes: ".tar.bz2")) (sha256 (base32 - "18xddaxh83zm698syh50w983jg6b7b8zgv0dfaf7ha485hgihi6s")))) + "1g6kn7l0mixw50kgn7d97gwv1990c5rczr2x776q3xywss8dfzv5")))) (build-system gnu-build-system) (inputs `(("libx11" ,libx11) @@ -4758,13 +4795,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 +4833,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 +4892,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 +4959,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 +5008,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 +5117,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 +5127,7 @@ an X Window System display.") ".tar.bz2")) (sha256 (base32 - "1miana3y4hwdqdparsccmygqr3ic3hs5jrqfzp70hvi2zwxd676y")))) + "0k2v4i4r24y3kdr5ici1qqhp69djnja919xfqp54c2rylm6s5hd7")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static"))) @@ -5173,8 +5206,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 +5241,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 +5272,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 +5302,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 +5333,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 +5345,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 @@ -5409,13 +5451,11 @@ 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") @@ -5508,18 +5548,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 +5566,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 +5580,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 +5623,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 +5633,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 +5644,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 +5662,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 +5672,7 @@ draggable titlebars and borders.") ".tar.bz2")) (sha256 (base32 - "1kdhxplwrn43d9jp3v54llp05kwx210lrsdvqb6944jp29rhdy4f")))) + "13kg59r3086383g1dyhnwxanhp2frssh9062mrgn34nzlf7gkbkn")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static"))) @@ -6422,7 +6440,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.*: \"\",") |