summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/gl.scm23
-rw-r--r--gnu/packages/patches/mesa-skip-disk-cache-test.patch20
3 files changed, 35 insertions, 9 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 82e94171b8..35f5cc64a6 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -773,6 +773,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/mcrypt-CVE-2012-4409.patch			\
   %D%/packages/patches/mcrypt-CVE-2012-4426.patch			\
   %D%/packages/patches/mcrypt-CVE-2012-4527.patch			\
+  %D%/packages/patches/mesa-skip-disk-cache-test.patch		\
   %D%/packages/patches/mesa-wayland-egl-symbols-check-mips.patch	\
   %D%/packages/patches/metabat-remove-compilation-date.patch	\
   %D%/packages/patches/mhash-keygen-test-segfault.patch		\
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index bb2eb768ea..f43f464390 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -217,17 +217,20 @@ also known as DXTn or DXTC) for Mesa.")
 (define-public mesa
   (package
     (name "mesa")
-    (version "13.0.5")
+    (version "17.0.4")
     (source
       (origin
         (method url-fetch)
-        (uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/"
-                            version "/mesa-" version ".tar.xz"))
+        (uri (list (string-append "ftp://ftp.freedesktop.org/pub/mesa/"
+                                  "mesa-" version ".tar.xz")
+                   (string-append "ftp://ftp.freedesktop.org/pub/mesa/"
+                                  version "/mesa-" version ".tar.xz")))
         (sha256
          (base32
-          "11zgynii1wz17131ml1mmblpwib8m88zz2jwi5h5llh1r3iagkmz"))
+          "0im3ca1vwwmkjf5w761vh7vabr4vrrdxpckr0wm974x18n2xqs8j"))
         (patches
-         (search-patches "mesa-wayland-egl-symbols-check-mips.patch"))))
+         (search-patches "mesa-wayland-egl-symbols-check-mips.patch"
+                         "mesa-skip-disk-cache-test.patch"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("glproto" ,glproto)
@@ -281,7 +284,7 @@ also known as DXTn or DXTC) for Mesa.")
          ;; Without floating point texture support, drivers such as Nouveau
          ;; are stuck at OpenGL 2.1 instead of OpenGL 3.0+.
          "--enable-texture-float"
-         
+
          ;; Also enable the tests.
          "--enable-gallium-tests"
 
@@ -301,7 +304,8 @@ also known as DXTn or DXTC) for Mesa.")
              (substitute* "src/compiler/glsl/tests/lower_jumps/create_test_cases.py"
                (("/usr/bin/env bash") (which "bash")))
              (substitute* "src/intel/genxml/gen_pack_header.py"
-               (("/usr/bin/env python2") (which "python")))))
+               (("/usr/bin/env python2") (which "python")))
+             #t))
          (add-before
            'build 'fix-dlopen-libnames
            (lambda* (#:key inputs outputs #:allow-other-keys)
@@ -325,8 +329,9 @@ also known as DXTn or DXTC) for Mesa.")
                  ;; it's never installed since Mesa removed its
                  ;; egl_gallium support.
                  (("\"gbm_dri\\.so")
-                  (string-append "\"" out "/lib/dri/gbm_dri.so")))))))))
-    (home-page "http://mesa3d.org/")
+                  (string-append "\"" out "/lib/dri/gbm_dri.so")))
+               #t))))))
+    (home-page "https://mesa3d.org/")
     (synopsis "OpenGL implementation")
     (description "Mesa is a free implementation of the OpenGL specification -
 a system for rendering interactive 3D graphics.  A variety of device drivers
diff --git a/gnu/packages/patches/mesa-skip-disk-cache-test.patch b/gnu/packages/patches/mesa-skip-disk-cache-test.patch
new file mode 100644
index 0000000000..4377110475
--- /dev/null
+++ b/gnu/packages/patches/mesa-skip-disk-cache-test.patch
@@ -0,0 +1,20 @@
+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
+@@ -137,11 +137,6 @@
+    unsetenv("MESA_GLSL_CACHE_DIR");
+    unsetenv("XDG_CACHE_HOME");
+
+-   cache = disk_cache_create();
+-   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();
+