unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / Atom feed
* bug#51900: [core-updates-frozen] xorg-server-xwayland broken
@ 2021-11-16 21:47 Guillaume Le Vaillant
  2021-11-17 14:36 ` Guillaume Le Vaillant
  2021-11-18 14:16 ` bug#51900: [PATCH 01/11] gnu: libinput: Update to 1.19.2 Maxim Cournoyer
  0 siblings, 2 replies; 17+ messages in thread
From: Guillaume Le Vaillant @ 2021-11-16 21:47 UTC (permalink / raw)
  To: 51900

[-- Attachment #1: Type: text/plain, Size: 696 bytes --]

The xorg-server-xwayland-21.1.0 package is broken on the
core-updates-frozen branch. The build succeeds, but the file
"bin/Xwayland" is missing in the result. Then the mutter package
depending on xorg-server-xwayland fails to build because it can't find
the Xwayland program.

According to the configure phase, xorg-server 21.1.0 doesn't understand
the "--enable-xwayland" option:

--8<---------------cut here---------------start------------->8---
config.status: executing sdksyms commands
configure: WARNING: unrecognized options: --enable-xwayland, --with-os-name, --with-os-vendor
phase `configure' succeeded after 6.6 seconds
--8<---------------cut here---------------end--------------->8---

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#51900: [core-updates-frozen] xorg-server-xwayland broken
  2021-11-16 21:47 bug#51900: [core-updates-frozen] xorg-server-xwayland broken Guillaume Le Vaillant
@ 2021-11-17 14:36 ` Guillaume Le Vaillant
  2021-11-18 13:40   ` Maxim Cournoyer
  2021-11-18 14:16 ` bug#51900: [PATCH 01/11] gnu: libinput: Update to 1.19.2 Maxim Cournoyer
  1 sibling, 1 reply; 17+ messages in thread
From: Guillaume Le Vaillant @ 2021-11-17 14:36 UTC (permalink / raw)
  To: 51900


[-- Attachment #1.1: Type: text/plain, Size: 822 bytes --]

According to [1], since 21.1 series of Xorg, XWayland is packaged
separately. The attached patch replaces xorg-xserver-xwayland by the
xwayland package.

However it looks like it's not working so far, the tests fail with:
--8<---------------cut here---------------start------------->8---
XKB: Failed to compile keymap
Keyboard initialization failed. This could be a missing or incorrect setup of xkeyboard-config.
(EE) 
Fatal server error:
(EE) Failed to activate virtual core keyboard: 2(EE)
--8<---------------cut here---------------end--------------->8---

I tried adding the same keyboard-related parameters as the ones in
xorg-server (xbk_dir and xkb_bin_dir), but it doesn't seem to
make a difference.

Does someone have an idea?


[1] https://lists.x.org/archives/xorg/2021-October/060799.html

[-- Attachment #1.2: 0001-WIP-gnu-Replace-xorg-server-xwayland-by-xwayland.patch --]
[-- Type: text/x-patch, Size: 8230 bytes --]

From 457921b36c49c68e58ac067ede50637ce71a200c Mon Sep 17 00:00:00 2001
From: Guillaume Le Vaillant <glv@posteo.net>
Date: Wed, 17 Nov 2021 15:20:34 +0100
Subject: [PATCH] WIP: gnu: Replace xorg-server-xwayland by xwayland.

* gnu/packages/xorg.scm (xorg-server-xwayland): Remove varable.
  (xwayland): New variable.
* gnu/packages/enlightenment.scm (enlightenment)[inputs]: Replace
  xorg-server-xwayland by xwayland.
* gnu/packages/freedesktop.scm (weston)[inputs, arguments]: Idem.
* gnu/packages/gnome.scm (mutter)[inputs, arguments]: Idem.
* gnu/packages/wm.scm (wlroots)[inputs, arguments]: Idem.
---
 gnu/packages/enlightenment.scm |  2 +-
 gnu/packages/freedesktop.scm   |  4 +--
 gnu/packages/gnome.scm         |  4 +--
 gnu/packages/wm.scm            |  5 ++-
 gnu/packages/xorg.scm          | 63 +++++++++++++++++++++++++++-------
 5 files changed, 57 insertions(+), 21 deletions(-)

diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index 8c7da4a5b4..9b3fcfabaa 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -369,7 +369,7 @@ (define-public enlightenment
        ("setxkbmap" ,setxkbmap)
        ("xcb-util-keysyms" ,xcb-util-keysyms)
        ("xkeyboard-config" ,xkeyboard-config)
-       ("xorg-server-xwayland" ,xorg-server-xwayland)))
+       ("xwayland" ,xwayland)))
     (propagated-inputs
      `(("efl" ,efl)
        ("libxkbcommon" ,libxkbcommon)
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 003da5c7a5..7511b2014c 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1147,7 +1147,7 @@ (define-public weston
        ("pango" ,pango)
        ("pipewire" ,pipewire)
        ("wayland-protocols" ,wayland-protocols)
-       ("xorg-server-xwayland" ,xorg-server-xwayland)))
+       ("xwayland" ,xwayland)))
     (propagated-inputs
      `(("libxkbcommon" ,libxkbcommon)
        ("pixman" ,pixman)
@@ -1164,7 +1164,7 @@ (define-public weston
         "-Dbackend-default=auto"
         "-Dsystemd=false"
         (string-append "-Dxwayland-path="
-                       (assoc-ref %build-inputs "xorg-server-xwayland")
+                       (assoc-ref %build-inputs "xwayland")
                        "/bin/Xwayland"))
        #:parallel-tests? #f           ; Parallel tests cause failures.
        #:phases
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 39ab43c90c..73af9eddd9 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -7507,7 +7507,7 @@ (define-public mutter
 
              ;; The following flags are needed for the bundled clutter
              (string-append "-Dxwayland_path="
-                            (assoc-ref %build-inputs "xorg-server-xwayland")
+                            (assoc-ref %build-inputs "xwayland")
                             "/bin/Xwayland")
 
              ;; the remaining flags are needed for the bundled cogl
@@ -7572,7 +7572,7 @@ (define-public mutter
        ("startup-notification" ,startup-notification)
        ("upower-glib" ,upower)
        ("xkeyboard-config" ,xkeyboard-config)
-       ("xorg-server-xwayland" ,xorg-server-xwayland)
+       ("xwayland" ,xwayland)
        ("zenity" ,zenity)))
     (synopsis "Window and compositing manager")
     (home-page "https://www.gnome.org")
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index e19a08da47..b746d68485 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -1486,8 +1486,7 @@ (define-public wlroots
          (add-before 'configure 'hardcode-paths
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "xwayland/server.c"
-               (("Xwayland") (string-append (assoc-ref inputs
-                                                       "xorg-server-xwayland")
+               (("Xwayland") (string-append (assoc-ref inputs "xwayland")
                                             "/bin/Xwayland")))
              #t)))))
     (propagated-inputs
@@ -1503,7 +1502,7 @@ (define-public wlroots
        ("wayland-protocols" ,wayland-protocols)
        ("xcb-util-errors" ,xcb-util-errors)
        ("xcb-util-wm" ,xcb-util-wm)
-       ("xorg-server-xwayland" ,xorg-server-xwayland)))
+       ("xwayland" ,xwayland)))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (home-page "https://github.com/swaywm/wlroots")
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 574562f065..e387474990 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -32,6 +32,7 @@
 ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
 ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
 ;;; Copyright © 2021 qblade <qblade@protonmail.com>
+;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -75,6 +76,7 @@ (define-module (gnu packages xorg)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gperf)
+  #:use-module (gnu packages graphics)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages haskell-xyz)
   #:use-module (gnu packages inkscape)
@@ -86,6 +88,7 @@ (define-module (gnu packages xorg)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages m4)
   #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages onc-rpc)
   #:use-module (gnu packages pciutils)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages perl-check)
@@ -5518,22 +5521,56 @@ (define-public xorg-server-for-tests
    (package
      (inherit xorg-server))))
 
-(define-public xorg-server-xwayland
-  (package/inherit xorg-server
-    (name "xorg-server-xwayland")
+(define-public xwayland
+  (package
+    (name "xwayland")
+    (version "21.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://xorg.freedesktop.org/archive/individual"
+                           "/xserver/xwayland-" version ".tar.xz"))
+       (sha256
+        (base32 "18pqvg76grbsyxa3mm3j06i1l8cwb28nbn2gcnqpsk7x75zpbhpb"))))
+    (build-system meson-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
     (inputs
-     `(("wayland" ,wayland)
+     `(("egl-wayland" ,egl-wayland)
+       ("font-util" ,font-util)
+       ("libbsd" ,libbsd)
+       ("libdrm" ,libdrm)
+       ("libepoxy" ,libepoxy)
+       ("libgcrypt" ,libgcrypt)
+       ("libtirpc" ,libtirpc)
+       ("libx11" ,libx11)
+       ("libxfont2" ,libxfont2)
+       ("libxkbfile" ,libxkbfile)
+       ("libxshmfence" ,libxshmfence)
+       ("pixman" ,pixman)
+       ("wayland" ,wayland)
        ("wayland-protocols" ,wayland-protocols)
-       ,@(package-inputs xorg-server)))
+       ("xkbcomp" ,xkbcomp)
+       ("xkeyboard-config" ,xkeyboard-config)
+       ("xorgproto" ,xorgproto)
+       ("xtrans" ,xtrans)))
     (arguments
-     (substitute-keyword-arguments (package-arguments xorg-server)
-       ((#:configure-flags flags)
-        `(cons* "--enable-xwayland" "--disable-xorg"
-                "--disable-docs"    "--disable-devel-docs"
-                "--disable-xvfb"    "--disable-xnest"
-                "--disable-xquartz" "--disable-xwin"
-                ,flags))))
-    (synopsis "Xorg server with wayland backend")))
+     `(#:tests? #f ; FIXME
+       #:configure-flags
+       (list (string-append "-Dxkb_dir="
+                            (assoc-ref %build-inputs "xkeyboard-config")
+                            "/share/X11/xkb")
+             "-Dxkb_output_dir=/tmp"
+             (string-append "-Dxkb_bin_dir="
+                            (assoc-ref %build-inputs "xkbcomp")
+                            "/bin")
+             "-Ddefault_font_path=")))
+    (home-page "https://wayland.freedesktop.org/xserver.html")
+    (synopsis "X server with Wayland backend")
+    (description
+     "XWayland is an X server running on Wayland to provide backwards
+compatibility for legacy X11 applications.")
+    (license license:x11)))
 
 
 ;; packages of height 4 in the propagated-inputs tree
-- 
2.33.1


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#51900: [core-updates-frozen] xorg-server-xwayland broken
  2021-11-17 14:36 ` Guillaume Le Vaillant
@ 2021-11-18 13:40   ` Maxim Cournoyer
  2021-11-18 15:25     ` Guillaume Le Vaillant
  0 siblings, 1 reply; 17+ messages in thread
From: Maxim Cournoyer @ 2021-11-18 13:40 UTC (permalink / raw)
  To: Guillaume Le Vaillant; +Cc: 51900

Hi Guillaume,

Guillaume Le Vaillant <glv@posteo.net> writes:

> According to [1], since 21.1 series of Xorg, XWayland is packaged
> separately. The attached patch replaces xorg-xserver-xwayland by the
> xwayland package.
>
> However it looks like it's not working so far, the tests fail with:
>
> XKB: Failed to compile keymap
> Keyboard initialization failed. This could be a missing or incorrect setup of xkeyboard-config.
> (EE) 
> Fatal server error:
> (EE) Failed to activate virtual core keyboard: 2(EE)
>
> I tried adding the same keyboard-related parameters as the ones in
> xorg-server (xbk_dir and xkb_bin_dir), but it doesn't seem to
> make a difference.
>
> Does someone have an idea?
>
>
> [1] https://lists.x.org/archives/xorg/2021-October/060799.html

Perhaps it was libinput?  I'm carrying this patch set locally, I guess I
should have shared it earlier, I was attempting to fix the Mutter test
suite on top of it.  Could you try it?  It rebuilds lots of stuff though
I'm afraid.

Thanks,

(the patch series will come shortly via git-send)




^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#51900: [PATCH 01/11] gnu: libinput: Update to 1.19.2.
  2021-11-16 21:47 bug#51900: [core-updates-frozen] xorg-server-xwayland broken Guillaume Le Vaillant
  2021-11-17 14:36 ` Guillaume Le Vaillant
@ 2021-11-18 14:16 ` Maxim Cournoyer
  2021-11-18 14:16   ` bug#51900: [PATCH 02/11] gnu: libxkbfile: Propagate libx11 and kbproto Maxim Cournoyer
                     ` (9 more replies)
  1 sibling, 10 replies; 17+ messages in thread
From: Maxim Cournoyer @ 2021-11-18 14:16 UTC (permalink / raw)
  To: 51900; +Cc: Maxim Cournoyer

* gnu/packages/freedesktop.scm (libinput): Update to 1.19.2.
---
 gnu/packages/freedesktop.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 003da5c7a5..60f42259f3 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -494,14 +494,14 @@ (define-public libinput
   ;; Updating this will rebuild over 700 packages through libinput-minimal.
   (package
     (name "libinput")
-    (version "1.16.4")
+    (version "1.19.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://freedesktop.org/software/libinput/"
                                   "libinput-" version ".tar.xz"))
               (sha256
                (base32
-                "0acywdjppj5i591l879bnqa9cs4vgdwnhilwk550x5x8sl33m4k5"))))
+                "10xqk05mkvsyxfxpn3vwkwb7j22d38wlbg1l1k37f6pfyc59zhqg"))))
     (build-system meson-build-system)
     (arguments
      `(#:configure-flags '("-Ddocumentation=false")
-- 
2.33.1





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#51900: [PATCH 02/11] gnu: libxkbfile: Propagate libx11 and kbproto.
  2021-11-18 14:16 ` bug#51900: [PATCH 01/11] gnu: libinput: Update to 1.19.2 Maxim Cournoyer
@ 2021-11-18 14:16   ` Maxim Cournoyer
  2021-11-18 14:16   ` bug#51900: [PATCH 03/11] gnu: mesa: Update to 21.2.5 Maxim Cournoyer
                     ` (8 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Maxim Cournoyer @ 2021-11-18 14:16 UTC (permalink / raw)
  To: 51900; +Cc: Maxim Cournoyer

* gnu/packages/xorg.scm (libxkbfile): Fix indentation.
[inputs]{libx11}: Move to...
[propagated-inputs]: ... here.  Add kbproto.
---
 gnu/packages/xorg.scm | 26 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 1e8aba9704..829bb13cca 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -1399,22 +1399,24 @@ (define-public libxkbfile
     (name "libxkbfile")
     (version "1.1.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (string-append
-               "mirror://xorg/individual/lib/libxkbfile-"
-               version
-               ".tar.bz2"))
-        (sha256
-          (base32
-            "1irq9crvscd3yb8sr802dhvvfr35jdy1n2yz094xplmd42mbv3bm"))))
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://xorg/individual/lib/libxkbfile-"
+             version
+             ".tar.bz2"))
+       (sha256
+        (base32
+         "1irq9crvscd3yb8sr802dhvvfr35jdy1n2yz094xplmd42mbv3bm"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--disable-static")))
-    (inputs
-      `(("libx11" ,libx11)))
+    (propagated-inputs
+     ;; Required in xkbfile.pc.
+     `(("libx11" ,libx11)
+       ("kbproto" ,kbproto)))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+     `(("pkg-config" ,pkg-config)))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg XKB file handling library")
     (description "Xorg XKB file handling library.")
-- 
2.33.1





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#51900: [PATCH 03/11] gnu: mesa: Update to 21.2.5.
  2021-11-18 14:16 ` bug#51900: [PATCH 01/11] gnu: libinput: Update to 1.19.2 Maxim Cournoyer
  2021-11-18 14:16   ` bug#51900: [PATCH 02/11] gnu: libxkbfile: Propagate libx11 and kbproto Maxim Cournoyer
@ 2021-11-18 14:16   ` Maxim Cournoyer
  2021-11-18 14:16   ` bug#51900: [PATCH 04/11] gnu: xorg-server: Update to 21.1.1 and reinstate parallel tests Maxim Cournoyer
                     ` (7 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Maxim Cournoyer @ 2021-11-18 14:16 UTC (permalink / raw)
  To: 51900; +Cc: Maxim Cournoyer

* gnu/packages/gl.scm (mesa): Update to 21.2.5.
[phases]{fix-tests}: Remove phase.
---
 gnu/packages/gl.scm | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 19b53acd41..f5a72d9048 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -238,7 +238,7 @@ (define libva-without-mesa
 (define-public mesa
   (package
     (name "mesa")
-    (version "21.2.4")
+    (version "21.2.5")
     (source
       (origin
         (method url-fetch)
@@ -250,7 +250,7 @@ (define-public mesa
                                   version "/mesa-" version ".tar.xz")))
         (sha256
          (base32
-          "0i2vz3ppcgqm076546imzl11jr3rlch1iv62lffk60mcs61dwvpy"))
+          "1fxcdf4qs4vmyjcns7jv62w4jy3gr383ar5b7mr77nb0nxgmhjcf"))
         (patches
          (search-patches "mesa-skip-tests.patch"))))
     (build-system meson-build-system)
@@ -396,11 +396,6 @@ (define-public mesa
                       (("disasm\\.c'") "delay.c',\n    link_args: ld_args_build_id"))))
                  (_
                   '((display "No tests to disable on this architecture.\n"))))))
-         (add-after 'unpack 'fix-tests
-           (lambda _
-             ;; See <https://gitlab.freedesktop.org/mesa/mesa/-/issues/3181>.
-             (substitute* "src/compiler/glsl/glcpp/tests/084-unbalanced-parentheses.c.expected"
-              (("unexpected \\$end") "unexpected end of file"))))
          (add-before 'configure 'fix-dlopen-libnames
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
-- 
2.33.1





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#51900: [PATCH 04/11] gnu: xorg-server: Update to 21.1.1 and reinstate parallel tests.
  2021-11-18 14:16 ` bug#51900: [PATCH 01/11] gnu: libinput: Update to 1.19.2 Maxim Cournoyer
  2021-11-18 14:16   ` bug#51900: [PATCH 02/11] gnu: libxkbfile: Propagate libx11 and kbproto Maxim Cournoyer
  2021-11-18 14:16   ` bug#51900: [PATCH 03/11] gnu: mesa: Update to 21.2.5 Maxim Cournoyer
@ 2021-11-18 14:16   ` Maxim Cournoyer
  2021-11-18 14:16   ` bug#51900: [PATCH 05/11] gnu: xorg-server: Enable X security extensions (xcsecurity) Maxim Cournoyer
                     ` (6 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Maxim Cournoyer @ 2021-11-18 14:16 UTC (permalink / raw)
  To: 51900; +Cc: Maxim Cournoyer

* gnu/packages/xorg.scm (xorg-server): Update to 21.1.1.
[parallel-tests?]: Tentatively remove argument; added in 2015 without a
comment.
---
 gnu/packages/xorg.scm | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 829bb13cca..a3fa41e5dd 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -5390,7 +5390,7 @@ (define-public libxcvt
 (define-public xorg-server
   (package
     (name "xorg-server")
-    (version "21.1.0")
+    (version "21.1.1")
     (source
      (origin
        (method url-fetch)
@@ -5399,7 +5399,7 @@ (define-public xorg-server
                            "/xserver/xorg-server-" version ".tar.xz"))
        (sha256
         (base32
-         "0hpyq51sf7f5yqq87zgcdiidfmb8r93am1djvxhcnwj4izfidhsh"))
+         "0md7dqsc5qb30gym06c4zc2cjsdc5ps8nywk1bkcpix05kppybkq"))
        (patches
         (list
          ;; See:
@@ -5453,8 +5453,7 @@ (define-public xorg-server
      `(("python" ,python-wrapper)
        ("pkg-config" ,pkg-config)))
     (arguments
-     `(#:parallel-tests? #f
-       #:configure-flags
+     `(#:configure-flags
        (list (string-append "--with-xkb-path="
                             (assoc-ref %build-inputs "xkeyboard-config")
                             "/share/X11/xkb")
-- 
2.33.1





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#51900: [PATCH 05/11] gnu: xorg-server: Enable X security extensions (xcsecurity).
  2021-11-18 14:16 ` bug#51900: [PATCH 01/11] gnu: libinput: Update to 1.19.2 Maxim Cournoyer
                     ` (2 preceding siblings ...)
  2021-11-18 14:16   ` bug#51900: [PATCH 04/11] gnu: xorg-server: Update to 21.1.1 and reinstate parallel tests Maxim Cournoyer
@ 2021-11-18 14:16   ` Maxim Cournoyer
  2021-11-18 14:16   ` bug#51900: [PATCH 06/11] gnu: Move eglexternalplatform and egl-wayland to (gnu packages xorg) Maxim Cournoyer
                     ` (5 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Maxim Cournoyer @ 2021-11-18 14:16 UTC (permalink / raw)
  To: 51900; +Cc: Maxim Cournoyer

Fixes <https://issues.guix.gnu.org/23317>.

* gnu/packages/xorg.scm (xorg-server)
[configure-flags]: Add --enable-xcsecurity.
---
 gnu/packages/xorg.scm | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index a3fa41e5dd..187ba56cb1 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -5468,6 +5468,9 @@ (define-public xorg-server
              ;; It's not used anyway, so set it to empty.
              "--with-default-font-path="
 
+             ;; Enable the X security extensions (ssh -X).
+             "--enable-xcsecurity"
+
              ;; The default is to use "uname -srm", which captures the kernel
              ;; version and makes builds non-reproducible.
              "--with-os-name=GNU"
-- 
2.33.1





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#51900: [PATCH 06/11] gnu: Move eglexternalplatform and egl-wayland to (gnu packages xorg).
  2021-11-18 14:16 ` bug#51900: [PATCH 01/11] gnu: libinput: Update to 1.19.2 Maxim Cournoyer
                     ` (3 preceding siblings ...)
  2021-11-18 14:16   ` bug#51900: [PATCH 05/11] gnu: xorg-server: Enable X security extensions (xcsecurity) Maxim Cournoyer
@ 2021-11-18 14:16   ` Maxim Cournoyer
  2021-11-18 14:16   ` bug#51900: [PATCH 07/11] gnu: egl-wayland: Update to 1.1.9 Maxim Cournoyer
                     ` (4 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Maxim Cournoyer @ 2021-11-18 14:16 UTC (permalink / raw)
  To: 51900; +Cc: Maxim Cournoyer

This is to avoid a module cycle between (gnu packages xorg) and (gnu packages
graphics).

* gnu/packages/graphics.scm (eglexternalplatform, egl-wayland): Move to...
* gnu/packages/xorg.scm: ... this file.  Remove trailing #t.
---
 gnu/packages/graphics.scm | 79 ---------------------------------------
 gnu/packages/xorg.scm     | 78 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 78 insertions(+), 79 deletions(-)

diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 4b4385d3ff..4014af153a 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -119,85 +119,6 @@ (define-module (gnu packages graphics)
   #:use-module (guix packages)
   #:use-module (guix utils))
 
-(define-public eglexternalplatform
-  (package
-    (name "eglexternalplatform")
-    (version "1.1")
-    (source
-     (origin
-       (method git-fetch)
-       (uri
-        (git-reference
-         (url "https://github.com/NVIDIA/eglexternalplatform")
-         (commit version)))
-       (file-name
-        (git-file-name name version))
-       (sha256
-        (base32 "0lr5s2xa1zn220ghmbsiwgmx77l156wk54c7hybia0xpr9yr2nhb"))))
-    (build-system copy-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'patch-pkgconfig
-           (lambda* (#:key outputs #:allow-other-keys)
-             (substitute* "eglexternalplatform.pc"
-               (("/usr")
-                (assoc-ref outputs "out")))
-             #t))
-         (add-after 'install 'revise
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out")))
-               (mkdir-p (string-append out "/include/EGL"))
-               (rename-file
-                (string-append out "/interface")
-                (string-append out "/include/EGL"))
-               (mkdir-p (string-append out "/share/pkgconfig"))
-               (rename-file
-                (string-append out "/eglexternalplatform.pc")
-                (string-append out "/share/pkgconfig/eglexternalplatform.pc"))
-               (for-each delete-file-recursively
-                         (list
-                          (string-append out "/samples")
-                          (string-append out "/COPYING")
-                          (string-append out "/README.md"))))
-             #t)))))
-    (synopsis "EGL External Platform interface")
-    (description "EGLExternalPlatform is an specification of the EGL External
-Platform interface for writing EGL platforms and their interactions with modern
-window systems on top of existing low-level EGL platform implementations.  This
-keeps window system implementation specifics out of EGL drivers by using
-application-facing EGL functions.")
-    (home-page "https://github.com/NVIDIA/eglexternalplatform")
-    (license license:expat)))
-
-(define-public egl-wayland
-  (package
-    (name "egl-wayland")
-    (version "1.1.7")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/NVIDIA/egl-wayland")
-             (commit version)))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "0xcx1132zwyp4qps074m72ngjlfmysi1jc2d0lp1ml1r9bllkam6"))))
-    (build-system meson-build-system)
-    (native-inputs
-     `(("pkg-config" ,pkg-config)))
-    (inputs
-     `(("mesa" ,mesa)
-       ("wayland" ,wayland)))
-    (propagated-inputs
-     `(("eglexternalplatform" ,eglexternalplatform)))
-    (synopsis "EGLStream-based Wayland external platform")
-    (description "EGL-Wayland is an implementation of a EGL External Platform
-library to add client-side Wayland support to EGL on top of EGLDevice and
-EGLStream families of extensions.")
-    (home-page "https://github.com/NVIDIA/egl-wayland")
-    (license license:expat)))
-
 (define-public mmm
   (package
     (name "mmm")
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 187ba56cb1..0ef0cb4f4a 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -53,6 +53,7 @@ (define-module (gnu packages xorg)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
+  #:use-module (guix build-system copy)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system meson)
   #:use-module (guix build-system perl)
@@ -5522,6 +5523,83 @@ (define-public xorg-server-for-tests
    (package
      (inherit xorg-server))))
 
+(define-public eglexternalplatform
+  (package
+    (name "eglexternalplatform")
+    (version "1.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/NVIDIA/eglexternalplatform")
+         (commit version)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "0lr5s2xa1zn220ghmbsiwgmx77l156wk54c7hybia0xpr9yr2nhb"))))
+    (build-system copy-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-pkgconfig
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "eglexternalplatform.pc"
+               (("/usr")
+                (assoc-ref outputs "out")))))
+         (add-after 'install 'revise
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (mkdir-p (string-append out "/include/EGL"))
+               (rename-file
+                (string-append out "/interface")
+                (string-append out "/include/EGL"))
+               (mkdir-p (string-append out "/share/pkgconfig"))
+               (rename-file
+                (string-append out "/eglexternalplatform.pc")
+                (string-append out "/share/pkgconfig/eglexternalplatform.pc"))
+               (for-each delete-file-recursively
+                         (list
+                          (string-append out "/samples")
+                          (string-append out "/COPYING")
+                          (string-append out "/README.md")))))))))
+    (synopsis "EGL External Platform interface")
+    (description "EGLExternalPlatform is an specification of the EGL External
+Platform interface for writing EGL platforms and their interactions with modern
+window systems on top of existing low-level EGL platform implementations.  This
+keeps window system implementation specifics out of EGL drivers by using
+application-facing EGL functions.")
+    (home-page "https://github.com/NVIDIA/eglexternalplatform")
+    (license license:expat)))
+
+(define-public egl-wayland
+  (package
+    (name "egl-wayland")
+    (version "1.1.7")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/NVIDIA/egl-wayland")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0xcx1132zwyp4qps074m72ngjlfmysi1jc2d0lp1ml1r9bllkam6"))))
+    (build-system meson-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("mesa" ,mesa)
+       ("wayland" ,wayland)))
+    (propagated-inputs
+     `(("eglexternalplatform" ,eglexternalplatform)))
+    (synopsis "EGLStream-based Wayland external platform")
+    (description "EGL-Wayland is an implementation of a EGL External Platform
+library to add client-side Wayland support to EGL on top of EGLDevice and
+EGLStream families of extensions.")
+    (home-page "https://github.com/NVIDIA/egl-wayland")
+    (license license:expat)))
+
 (define-public xorg-server-xwayland
   (package/inherit xorg-server
     (name "xorg-server-xwayland")
-- 
2.33.1





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#51900: [PATCH 07/11] gnu: egl-wayland: Update to 1.1.9.
  2021-11-18 14:16 ` bug#51900: [PATCH 01/11] gnu: libinput: Update to 1.19.2 Maxim Cournoyer
                     ` (4 preceding siblings ...)
  2021-11-18 14:16   ` bug#51900: [PATCH 06/11] gnu: Move eglexternalplatform and egl-wayland to (gnu packages xorg) Maxim Cournoyer
@ 2021-11-18 14:16   ` Maxim Cournoyer
  2021-11-18 14:16   ` bug#51900: [PATCH 08/11] gnu: xorg-server-xwayland: Update to 21.1.3 and adjust package Maxim Cournoyer
                     ` (3 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Maxim Cournoyer @ 2021-11-18 14:16 UTC (permalink / raw)
  To: 51900; +Cc: Maxim Cournoyer

* gnu/packages/xorg.scm (egl-wayland): Update to 1.1.9.
[native-inputs]: Add libglvnd and mesa-headers.
[inputs]: Add wayland-protocols.
---
 gnu/packages/xorg.scm | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 0ef0cb4f4a..cb391f8549 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -5575,7 +5575,7 @@ (define-public eglexternalplatform
 (define-public egl-wayland
   (package
     (name "egl-wayland")
-    (version "1.1.7")
+    (version "1.1.9")
     (source
      (origin
        (method git-fetch)
@@ -5584,13 +5584,16 @@ (define-public egl-wayland
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0xcx1132zwyp4qps074m72ngjlfmysi1jc2d0lp1ml1r9bllkam6"))))
+        (base32 "1iz86cpc4v7izckrcslllnw0vvvgsxg1sr65yb8s9d0f8xa8djdd"))))
     (build-system meson-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(("libglvnd" ,libglvnd)           ;needed for headers
+       ("mesa-headers" ,mesa-headers)
+       ("pkg-config" ,pkg-config)))
     (inputs
      `(("mesa" ,mesa)
-       ("wayland" ,wayland)))
+       ("wayland" ,wayland)
+       ("wayland-protocols" ,wayland-protocols)))
     (propagated-inputs
      `(("eglexternalplatform" ,eglexternalplatform)))
     (synopsis "EGLStream-based Wayland external platform")
-- 
2.33.1





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#51900: [PATCH 08/11] gnu: xorg-server-xwayland: Update to 21.1.3 and adjust package.
  2021-11-18 14:16 ` bug#51900: [PATCH 01/11] gnu: libinput: Update to 1.19.2 Maxim Cournoyer
                     ` (5 preceding siblings ...)
  2021-11-18 14:16   ` bug#51900: [PATCH 07/11] gnu: egl-wayland: Update to 1.1.9 Maxim Cournoyer
@ 2021-11-18 14:16   ` Maxim Cournoyer
  2021-11-18 14:16   ` bug#51900: [PATCH 09/11] gnu: python-dbusmock: Update to 0.24.1 Maxim Cournoyer
                     ` (2 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Maxim Cournoyer @ 2021-11-18 14:16 UTC (permalink / raw)
  To: 51900; +Cc: Maxim Cournoyer

Xwayland is no longer part of the main X server distribution and now requires
Meson to build.  This change also turn on EGL support, which was previously
disabled.

* gnu/packages/xorg.scm (xorg-server-xwayland): Do not inherit from
xorg-server.  Update to 21.1.3.
[native-inputs]: New field.
[build-system]: Likewise.
[inputs]: Fully specify inputs, which are a subset of those of xorg-server.
[configure-flags]: Adjust for Meson.
[phases]{patch-/bin/sh}: New phase.
[description, home-page, license]: New fields.
---
 gnu/packages/xorg.scm | 74 +++++++++++++++++++++++++++++++++++--------
 1 file changed, 61 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index cb391f8549..6fa5f2fae7 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -69,6 +69,7 @@ (define-module (gnu packages xorg)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages emacs)
   #:use-module (gnu packages flex)
+  #:use-module (gnu packages fonts)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
@@ -87,6 +88,7 @@ (define-module (gnu packages xorg)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages m4)
   #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages onc-rpc)
   #:use-module (gnu packages pciutils)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages perl-check)
@@ -5604,21 +5606,67 @@ (define-public egl-wayland
     (license license:expat)))
 
 (define-public xorg-server-xwayland
-  (package/inherit xorg-server
+  (package
     (name "xorg-server-xwayland")
-    (inputs
-     `(("wayland" ,wayland)
-       ("wayland-protocols" ,wayland-protocols)
-       ,@(package-inputs xorg-server)))
+    (version "21.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://xorg.freedesktop.org/archive/individual"
+                           "/xserver/xwayland-" version ".tar.xz"))
+       (sha256
+        (base32
+         "18pqvg76grbsyxa3mm3j06i1l8cwb28nbn2gcnqpsk7x75zpbhpb"))))
+    (inputs (list font-dejavu
+                  dbus
+                  egl-wayland
+                  eudev
+                  libfontenc
+                  libdrm
+                  libepoxy
+                  libgcrypt
+                  libtirpc
+                  libxfont2
+                  libxkbfile
+                  pixman
+                  wayland
+                  wayland-protocols
+                  xkbcomp
+                  xkeyboard-config
+                  xorgproto
+                  xtrans))
+    (native-inputs (list pkg-config))
+    (build-system meson-build-system)
     (arguments
-     (substitute-keyword-arguments (package-arguments xorg-server)
-       ((#:configure-flags flags)
-        `(cons* "--enable-xwayland" "--disable-xorg"
-                "--disable-docs"    "--disable-devel-docs"
-                "--disable-xvfb"    "--disable-xnest"
-                "--disable-xquartz" "--disable-xwin"
-                ,flags))))
-    (synopsis "Xorg server with wayland backend")))
+     `(#:configure-flags
+       (list "-Dxwayland_eglstream=true"
+             (string-append "-Dxkb_dir="
+                            (assoc-ref %build-inputs "xkeyboard-config")
+                            "/share/X11/xkb")
+             (string-append "-Dxkb_bin_dir="
+                            (assoc-ref %build-inputs "xkbcomp") "/bin")
+             ;; The build system insist on providing a default font path; give
+             ;; that of dejavu, the same used for our fontconfig package.
+             (string-append "-Ddefault_font_path="
+                            (assoc-ref %build-inputs "font-dejavu")
+                            "/share/fonts")
+             "-Dxkb_output_dir=/tmp"
+             (format #f "-Dbuilder_string=\"Build ID: ~a ~a\"" ,name ,version)
+             "-Dxcsecurity=true"
+             "-Ddri3=true"
+             "-Dglamor=true"
+             ;; For the log file, etc.
+             "--localstatedir=/var")
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'patch-/bin/sh
+                    (lambda _
+                      (substitute* (find-files "." "\\.c$")
+                        (("/bin/sh") (which "sh"))))))))
+    (synopsis "Xorg server with Wayland backend")
+    (description "Xwayland is an X server for running X clients under
+Wayland.")
+    (home-page "https://www.x.org/wiki/")
+    (license license:x11)))
 
 
 ;; packages of height 4 in the propagated-inputs tree
-- 
2.33.1





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#51900: [PATCH 09/11] gnu: python-dbusmock: Update to 0.24.1.
  2021-11-18 14:16 ` bug#51900: [PATCH 01/11] gnu: libinput: Update to 1.19.2 Maxim Cournoyer
                     ` (6 preceding siblings ...)
  2021-11-18 14:16   ` bug#51900: [PATCH 08/11] gnu: xorg-server-xwayland: Update to 21.1.3 and adjust package Maxim Cournoyer
@ 2021-11-18 14:16   ` Maxim Cournoyer
  2021-11-18 14:16   ` bug#51900: [PATCH 10/11] gnu: python-dbusmock: Patch reference to dbus-daemon Maxim Cournoyer
  2021-11-18 14:16   ` bug#51900: [PATCH 11/11] gnu: mutter: Update to 41.0 and fix test (WIP) Maxim Cournoyer
  9 siblings, 0 replies; 17+ messages in thread
From: Maxim Cournoyer @ 2021-11-18 14:16 UTC (permalink / raw)
  To: 51900; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-dbusmock): Update to 0.24.1.
---
 gnu/packages/python-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f61837323c..d02b89bc35 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -23634,14 +23634,14 @@ (define-public python-pykwalify
 (define-public python-dbusmock
   (package
     (name "python-dbusmock")
-    (version "0.24.0")
+    (version "0.24.1")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "python-dbusmock" version))
        (sha256
         (base32
-         "0wn2adqzwvwc0cc7kszidlq0i4xzfyip946dn85hbvjap8fxbq0b"))))
+         "0kvjwn5sdp3rqcbclvxljkmk988l12dvppzfn3ldy3jxbyyn1mjn"))))
     (build-system python-build-system)
     (arguments
      '(#:phases
-- 
2.33.1





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#51900: [PATCH 10/11] gnu: python-dbusmock: Patch reference to dbus-daemon.
  2021-11-18 14:16 ` bug#51900: [PATCH 01/11] gnu: libinput: Update to 1.19.2 Maxim Cournoyer
                     ` (7 preceding siblings ...)
  2021-11-18 14:16   ` bug#51900: [PATCH 09/11] gnu: python-dbusmock: Update to 0.24.1 Maxim Cournoyer
@ 2021-11-18 14:16   ` Maxim Cournoyer
  2021-11-18 14:16   ` bug#51900: [PATCH 11/11] gnu: mutter: Update to 41.0 and fix test (WIP) Maxim Cournoyer
  9 siblings, 0 replies; 17+ messages in thread
From: Maxim Cournoyer @ 2021-11-18 14:16 UTC (permalink / raw)
  To: 51900; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-dbusmock)
[phases]{patch-shell-path}: Rename to...
{patch-paths}: ... this, and also patch the dbus-daemon reference.
---
 gnu/packages/python-xyz.scm | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d02b89bc35..b0e28e48ca 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -23646,15 +23646,21 @@ (define-public python-dbusmock
     (arguments
      '(#:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'patch-shell-path
-           (lambda _
+         (add-after 'unpack 'patch-paths
+           (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "tests/test_code.py"
-               (("/bin/bash") (which "bash"))))))))
+               (("/bin/bash") (which "bash")))
+             (substitute* "dbusmock/testcase.py"
+               (("'dbus-daemon'")
+                (string-append "'" (assoc-ref inputs "dbus")
+                               "/bin/dbus-daemon'"))))))))
     (native-inputs
      `(;; For tests.
        ("dbus" ,dbus) ; for dbus-daemon
        ("python-nose" ,python-nose)
        ("which" ,which)))
+    (inputs
+     `(("dbus" ,dbus)))
     (propagated-inputs
      `(("python-dbus" ,python-dbus)
        ("python-pygobject" ,python-pygobject)))
-- 
2.33.1





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#51900: [PATCH 11/11] gnu: mutter: Update to 41.0 and fix test (WIP).
  2021-11-18 14:16 ` bug#51900: [PATCH 01/11] gnu: libinput: Update to 1.19.2 Maxim Cournoyer
                     ` (8 preceding siblings ...)
  2021-11-18 14:16   ` bug#51900: [PATCH 10/11] gnu: python-dbusmock: Patch reference to dbus-daemon Maxim Cournoyer
@ 2021-11-18 14:16   ` Maxim Cournoyer
  9 siblings, 0 replies; 17+ messages in thread
From: Maxim Cournoyer @ 2021-11-18 14:16 UTC (permalink / raw)
  To: 51900; +Cc: Maxim Cournoyer

* gnu/packages/gnome.scm (mutter): Update to 41.0.
TODO
---
 gnu/packages/gnome.scm | 95 +++++++++++++++++++++++++++++++++++-------
 1 file changed, 79 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index f07ff28701..c01da54da6 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -7478,7 +7478,7 @@ (define-public zenity
 (define-public mutter
   (package
     (name "mutter")
-    (version "40.5")
+    (version "41.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -7486,54 +7486,114 @@ (define-public mutter
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0bmd6p9qcwx0hv0y2bp33xjfaw4lyfkl55r0qn2cm04465riddny"))))
+                "17pqrm48kddqrc3fl96n5knhaxyn0crg0zv7zpmqhk848jks307s"))))
     ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
     ;; versions of cogl and clutter.  As a result, many of the inputs,
     ;; propagated-inputs, and configure flags used in cogl and clutter are
     ;; needed here as well.
     (build-system meson-build-system)
     (arguments
-     '(;; XXX: All mutter tests fail with the following error:
-       ;;   Settings schema 'org.gnome.mutter' is not installed
-       #:tests? #f
-       #:glib-or-gtk? #t
+     '(#:glib-or-gtk? #t
        #:configure-flags
        ;; TODO: Enable profiler when Sysprof is packaged.
        (list "-Dprofiler=false"
              ;; Otherwise, the RUNPATH will lack the final path component.
              (string-append "-Dc_link_args=-Wl,-rpath="
                             (assoc-ref %outputs "out") "/lib:"
-                            (assoc-ref %outputs "out") "/lib/mutter-8")
-
+                            (assoc-ref %outputs "out") "/lib/mutter-9")
+             ;; Disable systemd support.
+             "-Dsystemd=false"
              ;; The following flags are needed for the bundled clutter
              (string-append "-Dxwayland_path="
                             (assoc-ref %build-inputs "xorg-server-xwayland")
                             "/bin/Xwayland")
-
              ;; the remaining flags are needed for the bundled cogl
              (string-append "-Dopengl_libname="
                             (assoc-ref %build-inputs "mesa")
-                            "/lib/libGL.so"))
+                            "/lib/libGL.so")
+             (string-append "-Dgles2_libname="
+                            (assoc-ref %build-inputs "mesa")
+                            "/lib/libGLESv2.so")
+             "-Degl_device=true"         ;false by default
+             "-Dwayland_eglstream=true") ;false by default
+       #:test-options
+       (list "--verbose"
+             ;; FIXME: There are three (3) test suites: 'clutter', 'cogl' and
+             ;; 'core', of which only 'core' is currently failing with errors
+             ;; like:
+
+             ;; FIXME: The test suites takes way more time (from ~1m30 to 15m)
+             ;; in the build environment, due to python-dbusmock struggling to
+             ;; kill the dbus process with errors like "ERROR: timed out
+             ;; waiting for bus process to terminate" for unknown reasons
+             ;; (see:
+             ;; https://github.com/martinpitt/python-dbusmock/issues/47#issuecomment-972547988).
+             "--suite=clutter"
+             "--suite=cogl")
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'patch-dlopen-calls
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "src/wayland/meta-wayland-egl-stream.c"
+               (("libnvidia-egl-wayland.so.1")
+                (string-append (assoc-ref inputs "egl-wayland")
+                               "/lib/libnvidia-egl-wayland.so.1")))))
          (add-before 'configure 'set-udev-dir
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (setenv "PKG_CONFIG_UDEV_UDEVDIR"
                      (string-append (assoc-ref outputs "out")
-                                    "/lib/udev")))))))
+                                    "/lib/udev"))))
+         (replace 'check
+           (lambda* (#:key inputs tests? test-options parallel-tests?
+                     #:allow-other-keys)
+             (when tests?
+               ;; Setup (see the 'test-mutter' CI target at
+               ;; https://gitlab.gnome.org/GNOME/mutter/-/raw/main/.gitlab-ci.yml).
+               (setenv "XDG_RUNTIME_DIR" "runtime-dir")
+               (setenv "GSETTINGS_SCHEMA_DIR" "data")
+               (setenv "MUTTER_DEBUG_DUMMY_MODE_SPECS" "800x600@10.0")
+               (setenv "PIPEWIRE_DEBUG" "2")
+               (setenv "PIPEWIRE_LOG" "meson-logs/pipewire.log")
+               (setenv "XVFB_SERVER_ARGS" "+iglx -noreset")
+               (setenv "G_SLICE" "always-malloc")
+               (setenv "MALLOC_CHECK" "3")
+               (setenv "NO_AT_BRIDGE" "1")
+               ;; This is needed, otherwise the "mutter:core+mutter/unit /
+               ;; anonymous-file" test would fail (see:
+               ;; https://gitlab.gnome.org/GNOME/mutter/-/issues/2017).
+               (setenv "CI_JOB_ID" "1")
+
+               (invoke "glib-compile-schemas" (getenv "GSETTINGS_SCHEMA_DIR"))
+               (mkdir-p (getenv "XDG_RUNTIME_DIR"))
+               (chmod (getenv "XDG_RUNTIME_DIR") #o755)
+               (invoke "pipewire" "--version") ;check for pipewire
+               (system "pipewire &")    ;always returns 0 due to forking
+
+               (setenv "MESON_TESTTHREADS"
+                       (if parallel-tests?
+                           (number->string (parallel-job-count))
+                           "1"))
+               (apply invoke "dbus-run-session" "--"
+                      "xvfb-run" "-a" "-s" (getenv "XVFB_SERVER_ARGS")
+                      "meson" "test" "-t" "10" "--print-errorlogs"
+                      test-options)))))))
     (native-inputs
      `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
-       ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
+       ("glib:bin" ,glib "bin")         ; for glib-compile-schemas, etc.
        ("gobject-introspection" ,gobject-introspection)
        ("intltool" ,intltool)
        ("pkg-config" ,pkg-config)
-       ("xorg-server" ,xorg-server-for-tests)
+       ("xvfb-run" ,xvfb-run)
        ;; For git build
        ("autoconf" ,autoconf)
        ("automake" ,automake)
-       ("libtool" ,libtool)))
+       ("libtool" ,libtool)
+       ;; For tests.
+       ("pipewire" ,pipewire-0.3)
+       ("python-dbus" ,python-dbus)
+       ("python-dbusmock" ,python-dbusmock)))
     (propagated-inputs
-     `(;; libmutter.pc refers to these:
+     `( ;; libmutter.pc refers to these:
        ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
        ("gtk+" ,gtk+)
        ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
@@ -7545,6 +7605,7 @@ (define-public mutter
        ("libinput" ,libinput)
        ("libx11" ,libx11)
        ("libxcomposite" ,libxcomposite)
+       ("libxcvt" ,libxcvt)
        ("libxdamage" ,libxdamage)
        ("libxext" ,libxext)
        ("libxfixes" ,libxfixes)
@@ -7556,7 +7617,8 @@ (define-public mutter
        ("udev" ,eudev)
        ("xinput" ,xinput)))
     (inputs
-     `(("elogind" ,elogind)
+     `(("egl-wayland" ,egl-wayland)     ;for wayland-eglstream-protocols
+       ("elogind" ,elogind)
        ("gnome-desktop" ,gnome-desktop)
        ("gnome-settings-daemon" ,gnome-settings-daemon)
        ("graphene" ,graphene)
@@ -7570,6 +7632,7 @@ (define-public mutter
        ("libxtst" ,libxtst)
        ("pipewire" ,pipewire-0.3)
        ("startup-notification" ,startup-notification)
+       ("sysprof" ,sysprof)
        ("upower-glib" ,upower)
        ("xkeyboard-config" ,xkeyboard-config)
        ("xorg-server-xwayland" ,xorg-server-xwayland)
-- 
2.33.1





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#51900: [core-updates-frozen] xorg-server-xwayland broken
  2021-11-18 13:40   ` Maxim Cournoyer
@ 2021-11-18 15:25     ` Guillaume Le Vaillant
  2021-11-18 16:51       ` Maxim Cournoyer
  0 siblings, 1 reply; 17+ messages in thread
From: Guillaume Le Vaillant @ 2021-11-18 15:25 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: 51900

[-- Attachment #1: Type: text/plain, Size: 1362 bytes --]

Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:

> Hi Guillaume,
>
> Guillaume Le Vaillant <glv@posteo.net> writes:
>
>> According to [1], since 21.1 series of Xorg, XWayland is packaged
>> separately. The attached patch replaces xorg-xserver-xwayland by the
>> xwayland package.
>>
>> However it looks like it's not working so far, the tests fail with:
>>
>> XKB: Failed to compile keymap
>> Keyboard initialization failed. This could be a missing or incorrect setup of xkeyboard-config.
>> (EE) 
>> Fatal server error:
>> (EE) Failed to activate virtual core keyboard: 2(EE)
>>
>> I tried adding the same keyboard-related parameters as the ones in
>> xorg-server (xbk_dir and xkb_bin_dir), but it doesn't seem to
>> make a difference.
>>
>> Does someone have an idea?
>>
>>
>> [1] https://lists.x.org/archives/xorg/2021-October/060799.html
>
> Perhaps it was libinput?  I'm carrying this patch set locally, I guess I
> should have shared it earlier, I was attempting to fix the Mutter test
> suite on top of it.  Could you try it?  It rebuilds lots of stuff though
> I'm afraid.
>
> Thanks,
>
> (the patch series will come shortly via git-send)

It looks like your patches are working. I was able to build
xorg-server-xwayland (maybe it could be renamed xwayland), and also
weston (which has a test using xwayland).

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#51900: [core-updates-frozen] xorg-server-xwayland broken
  2021-11-18 15:25     ` Guillaume Le Vaillant
@ 2021-11-18 16:51       ` Maxim Cournoyer
  2021-11-20 14:10         ` Guillaume Le Vaillant
  0 siblings, 1 reply; 17+ messages in thread
From: Maxim Cournoyer @ 2021-11-18 16:51 UTC (permalink / raw)
  To: Guillaume Le Vaillant; +Cc: 51900

Hi Guillaume!

Guillaume Le Vaillant <glv@posteo.net> writes:

> Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:
>
>> Hi Guillaume,
>>
>> Guillaume Le Vaillant <glv@posteo.net> writes:
>>
>>> According to [1], since 21.1 series of Xorg, XWayland is packaged
>>> separately. The attached patch replaces xorg-xserver-xwayland by the
>>> xwayland package.
>>>
>>> However it looks like it's not working so far, the tests fail with:
>>>
>>> XKB: Failed to compile keymap
>>> Keyboard initialization failed. This could be a missing or incorrect setup of xkeyboard-config.
>>> (EE) 
>>> Fatal server error:
>>> (EE) Failed to activate virtual core keyboard: 2(EE)
>>>
>>> I tried adding the same keyboard-related parameters as the ones in
>>> xorg-server (xbk_dir and xkb_bin_dir), but it doesn't seem to
>>> make a difference.
>>>
>>> Does someone have an idea?
>>>
>>>
>>> [1] https://lists.x.org/archives/xorg/2021-October/060799.html
>>
>> Perhaps it was libinput?  I'm carrying this patch set locally, I guess I
>> should have shared it earlier, I was attempting to fix the Mutter test
>> suite on top of it.  Could you try it?  It rebuilds lots of stuff though
>> I'm afraid.
>>
>> Thanks,
>>
>> (the patch series will come shortly via git-send)
>
> It looks like your patches are working. I was able to build
> xorg-server-xwayland (maybe it could be renamed xwayland), and also
> weston (which has a test using xwayland).

I thought so about xwayland, but since it provides a xorg-server
variant, I think we may just leave it at xorg-server-xwayland (like it
is on Fedora).

Thank you, I've pushed all but my WIP mutter (which should work if we
disable the test suite as it was).

Thanks,

Maxim




^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#51900: [core-updates-frozen] xorg-server-xwayland broken
  2021-11-18 16:51       ` Maxim Cournoyer
@ 2021-11-20 14:10         ` Guillaume Le Vaillant
  0 siblings, 0 replies; 17+ messages in thread
From: Guillaume Le Vaillant @ 2021-11-20 14:10 UTC (permalink / raw)
  To: 51900-done

[-- Attachment #1: Type: text/plain, Size: 9 bytes --]

Closing.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2021-11-20 14:13 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-16 21:47 bug#51900: [core-updates-frozen] xorg-server-xwayland broken Guillaume Le Vaillant
2021-11-17 14:36 ` Guillaume Le Vaillant
2021-11-18 13:40   ` Maxim Cournoyer
2021-11-18 15:25     ` Guillaume Le Vaillant
2021-11-18 16:51       ` Maxim Cournoyer
2021-11-20 14:10         ` Guillaume Le Vaillant
2021-11-18 14:16 ` bug#51900: [PATCH 01/11] gnu: libinput: Update to 1.19.2 Maxim Cournoyer
2021-11-18 14:16   ` bug#51900: [PATCH 02/11] gnu: libxkbfile: Propagate libx11 and kbproto Maxim Cournoyer
2021-11-18 14:16   ` bug#51900: [PATCH 03/11] gnu: mesa: Update to 21.2.5 Maxim Cournoyer
2021-11-18 14:16   ` bug#51900: [PATCH 04/11] gnu: xorg-server: Update to 21.1.1 and reinstate parallel tests Maxim Cournoyer
2021-11-18 14:16   ` bug#51900: [PATCH 05/11] gnu: xorg-server: Enable X security extensions (xcsecurity) Maxim Cournoyer
2021-11-18 14:16   ` bug#51900: [PATCH 06/11] gnu: Move eglexternalplatform and egl-wayland to (gnu packages xorg) Maxim Cournoyer
2021-11-18 14:16   ` bug#51900: [PATCH 07/11] gnu: egl-wayland: Update to 1.1.9 Maxim Cournoyer
2021-11-18 14:16   ` bug#51900: [PATCH 08/11] gnu: xorg-server-xwayland: Update to 21.1.3 and adjust package Maxim Cournoyer
2021-11-18 14:16   ` bug#51900: [PATCH 09/11] gnu: python-dbusmock: Update to 0.24.1 Maxim Cournoyer
2021-11-18 14:16   ` bug#51900: [PATCH 10/11] gnu: python-dbusmock: Patch reference to dbus-daemon Maxim Cournoyer
2021-11-18 14:16   ` bug#51900: [PATCH 11/11] gnu: mutter: Update to 41.0 and fix test (WIP) Maxim Cournoyer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).