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 @@ (define libva-without-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 @@ (define-public 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 @@ (define-public 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 @@ (define-public 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 +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(); +