Subject: [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4.

From: John Kehayias <[email-masked]>
Date: Tue, 27 Jul 2021 21:54:40 +0000

> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
>
> On Tuesday, July 13th, 2021 at 11:42 AM, John Kehayias wrote:
>
> > Hi everyone,
> >
> > Final update, we still need the mesa-skip-tests.patch, but only for the i686 part (second half). The other part of the patch is not needed as the test passes.
> >
> > Here is the final version of the patch to just update Mesa to 21.1.4. Note this depends on the libdrm update of https://issues.guix.gnu.org/49412 Mesa builds as well as descendants I've tried (like xorg and friends).
> >
> > Shall we get this merged and set the libglvnd updates after (in case we run into the core-updates freeze)? That would work well for me at least.
> >
> > Thanks everyone,
> >
> > John
>
> I forgot the copyright line, though I think this should be for Irfan. Here is mine, just in case:
>
> diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
>
> index cc5131b28d..f9b6ed9891 100644
>
> --- a/gnu/packages/gl.scm
>
> +++ b/gnu/packages/gl.scm
>
> @@ -15,6 +15,7 @@
>
> ;;; Copyright © 2020 Giacomo Leidi [email-masked]
>
> ;;; Copyright © 2020 Maxim Cournoyer [email-masked]
>
> ;;; Copyright © 2020 Kei Kebreau [email-masked]
>
> +;;; Copyright © 2021 John Kehayias [email-masked]
>
> ;;;
>
> ;;; This file is part of GNU Guix.
>
> ;;;

Apologies, the full patch was missing before. It is attached as v2 with changes noted previously (would be great to give Irfan credit here as well). Still depends on libdrm being updated, see https://issues.guix.gnu.org/49412

Thanks!

John

* gnu/packages/gl.scm (mesa): Update to 21.1.4.
* gnu/packages/patches/mesa-skip-tests.patch: Remove cache_test.c as it is no
longer needed (test passes).
---
 gnu/packages/gl.scm                        | 11 ++++++-----
 gnu/packages/patches/mesa-skip-tests.patch | 20 --------------------
 2 files changed, 6 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index cc5131b28d..f9b6ed9891 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -15,6 +15,7 @@
 ;;; Copyright © 2020 Giacomo Leidi <[email-masked]>
 ;;; Copyright © 2020 Maxim Cournoyer <[email-masked]>
 ;;; Copyright © 2020 Kei Kebreau <[email-masked]>
+;;; Copyright © 2021 John Kehayias <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -237,7 +238,7 @@ also known as DXTn or DXTC) for Mesa.")
 (define-public mesa
   (package
     (name "mesa")
-    (version "20.2.6")
+    (version "21.1.4")
     (source
       (origin
         (method url-fetch)
@@ -249,7 +250,7 @@ also known as DXTn or DXTC) for Mesa.")
                                   version "/mesa-" version ".tar.xz")))
         (sha256
          (base32
-          "1nw5k2qrlcrp5bljy1lmyybgl525y0h44synkbbirw92qv3a6b7i"))
+          "02z9g6zpkg1p1sm8f84xdi7v2n7x534x9pn565bvcr411527y5qz"))
         (patches
          (search-patches "mesa-skip-tests.patch"))))
     (build-system meson-build-system)
@@ -309,7 +310,7 @@ also known as DXTn or DXTC) for Mesa.")
          "-Dglx=dri"        ;Thread Local Storage, improves performance
          ;; "-Dopencl=true"
          ;; "-Domx=true"
-         "-Dosmesa=gallium"
+         "-Dosmesa=true"
          "-Dgallium-xa=enabled"
 
          ;; features required by wayland
@@ -417,8 +418,8 @@ also known as DXTn or DXTC) for Mesa.")
              (let ((out (assoc-ref outputs "out"))
                    (bin (assoc-ref outputs "bin")))
                ;; Not all architectures have the Vulkan overlay control script.
-               (mkdir-p (string-append bin "/bin"))
-               (call-with-output-file (string-append bin "/bin/.empty")
+               (mkdir-p (string-append out "/bin"))
+               (call-with-output-file (string-append out "/bin/.empty")
                  (const #t))
                (copy-recursively (string-append out "/bin")
                                  (string-append bin "/bin"))
diff --git a/gnu/packages/patches/mesa-skip-tests.patch b/gnu/packages/patches/mesa-skip-tests.patch
index 2622d5d312..8f587ea7ef 100644
--- a/gnu/packages/patches/mesa-skip-tests.patch
+++ b/gnu/packages/patches/mesa-skip-tests.patch
@@ -1,23 +1,3 @@
-disk_cache_create() here looks up the users home directory from <pwd.h>
-which resolves to "/" in the build environment. I could not find an easy
-way to set the home directory to something else, so we disable this test
-for now.
-
---- a/src/compiler/glsl/tests/cache_test.c
-+++ b/src/compiler/glsl/tests/cache_test.c
-@@ -170,11 +170,6 @@
-    unsetenv("MESA_GLSL_CACHE_DIR");
-    unsetenv("XDG_CACHE_HOME");
- 
--   cache = disk_cache_create("test", "make_check", 0);
--   expect_non_null(cache, "disk_cache_create with no environment variables");
--
--   disk_cache_destroy(cache);
--
-    /* Test with XDG_CACHE_HOME set */
-    setenv("XDG_CACHE_HOME", CACHE_TEST_TMP "/xdg-cache-home", 1);
-    cache = disk_cache_create("test", "make_check", 0);
-
 This test fails on i686-linux. I couldn't come up with a regex that
 could be used to disable it just on i686-linux, so we disable it
 completely with this patch:
-- 
2.32.0