From 9b2a3e023f7090d19c98e7582220340df3962555 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 22 Aug 2022 16:11:24 -0400 Subject: [PATCH] gnu: mesa: Update to 22.1.7. * gnu/packages/gl.scm (mesa): Update to 22.1.7. [source]: Fix indentation. Remove patch, implementing it as a... [configure-flags]: Remove '-Ddri-drivers=...' flag, no longer supported. [phases]{disable-failing-test} ... substitution instead. [propagated-inputs]: Move comment above. [inputs]: Remove extraneous append and sort. [native-inputs]: Likewise. [configure-flags]: Break long lines. * gnu/packages/patches/mesa-skip-tests.patch: Delete file. * gnu/local.mk (dist_patch_DATA): De-register it. --- gnu/local.mk | 1 - gnu/packages/gl.scm | 109 +++++++++++---------- gnu/packages/patches/mesa-skip-tests.patch | 18 ---- 3 files changed, 58 insertions(+), 70 deletions(-) delete mode 100644 gnu/packages/patches/mesa-skip-tests.patch diff --git a/gnu/local.mk b/gnu/local.mk index f061f1d4ddbfbdfb45e2d4de6dc1037bba88d4e9..6ee756c37e5b53fa09c6075c91860ae2e6b99592 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1491,7 +1491,6 @@ dist_patch_DATA = \ %D%/packages/patches/libsigrokdecode-python3.9-fix.patch \ %D%/packages/patches/mercurial-hg-extension-path.patch \ %D%/packages/patches/mesa-opencl-all-targets.patch \ - %D%/packages/patches/mesa-skip-tests.patch \ %D%/packages/patches/meson-allow-dirs-outside-of-prefix.patch \ %D%/packages/patches/mhash-keygen-test-segfault.patch \ %D%/packages/patches/mia-fix-boost-headers.patch \ diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index d6d127d7655198bb75f87af52411b7583d610782..dd38c1a502aab21c3ec5ce5a005354cba42f0a73 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -268,73 +268,72 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "22.1.2") + (version "22.1.7") (source - (origin - (method url-fetch) - (uri (list (string-append "https://mesa.freedesktop.org/archive/" - "mesa-" version ".tar.xz") - (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 - "1smrvvh8l7xcccwfbccx9k0ihzh1whrnnwsmqb7i0gba99mj4w89")) - (patches - (search-patches "mesa-skip-tests.patch")))) + (origin + (method url-fetch) + (uri (list (string-append "https://mesa.freedesktop.org/archive/" + "mesa-" version ".tar.xz") + (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 + "12ax6lmshc8aqzw5ca7ab7f7z64n9nyzci4r1s6y1l0iryr8x0ys")))) (build-system meson-build-system) (propagated-inputs - (list ;; The following are in the Requires.private field of gl.pc. - libdrm - libvdpau - libx11 - libxdamage - libxfixes - libxshmfence - libxxf86vm - xorgproto)) + ;; The following are in the Requires.private field of gl.pc. + (list libdrm + libvdpau + libx11 + libxdamage + libxfixes + libxshmfence + libxxf86vm + xorgproto)) (inputs - (append (list expat - elfutils ;libelf required for r600 when using llvm - (force libva-without-mesa) - libxml2 - libxrandr - libxvmc - wayland - wayland-protocols) - ;; TODO: Resort alphabetically. - ;; Note: update the 'clang' input of mesa-opencl when bumping this. - (list llvm))) + (list elfutils ;libelf required for r600 when using llvm + expat + (force libva-without-mesa) + libxml2 + libxrandr + libxvmc + ;; Note: update the 'clang' input of mesa-opencl when bumping this. + llvm + wayland + wayland-protocols)) (native-inputs - (append (list bison - flex - gettext-minimal - pkg-config - python-wrapper - python-libxml2 ;for OpenGL ES 1.1 and 2.0 support - python-mako - (@ (gnu packages base) which)) - ;; TODO: Resort alphabetically. - (list glslang))) + (list bison + flex + gettext-minimal + glslang + pkg-config + python-libxml2 ;for OpenGL ES 1.1 and 2.0 support + python-mako + python-wrapper + (@ (gnu packages base) which))) (outputs '("out" "bin")) (arguments `(#:configure-flags '(,@(match (%current-system) ("aarch64-linux" ;; TODO: Fix svga driver for non-Intel architectures. - '("-Dgallium-drivers=etnaviv,freedreno,kmsro,lima,nouveau,panfrost,r300,r600,swrast,tegra,v3d,vc4,virgl")) + '("-Dgallium-drivers=etnaviv,freedreno,kmsro,lima,nouveau,\ +panfrost,r300,r600,swrast,tegra,v3d,vc4,virgl")) ("armhf-linux" ;; Freedreno FTBFS when built on a 64-bit machine. - '("-Dgallium-drivers=etnaviv,kmsro,lima,nouveau,panfrost,r300,r600,swrast,tegra,v3d,vc4,virgl")) - ((or "powerpc64le-linux" "powerpc-linux") + '("-Dgallium-drivers=etnaviv,kmsro,lima,nouveau,panfrost,\ +r300,r600,swrast,tegra,v3d,vc4,virgl")) + ((or "powerpc64le-linux" "powerpc-linux" "riscv64-linux") '("-Dgallium-drivers=nouveau,r300,r600,radeonsi,swrast,virgl")) (_ - '("-Dgallium-drivers=auto"))) + '("-Dgallium-drivers=iris,nouveau,r300,r600,radeonsi,\ +svga,swrast,virgl"))) ;; Enable various optional features. TODO: opencl requires libclc, ;; omx requires libomxil-bellagio "-Dplatforms=x11,wayland" - "-Dglx=dri" ;Thread Local Storage, improves performance + "-Dglx=dri" ;Thread Local Storage, improves performance ;; "-Dopencl=true" ;; "-Domx=true" "-Dosmesa=true" @@ -347,10 +346,14 @@ also known as DXTn or DXTC) for Mesa.") ;; Explicitly enable Vulkan on some architectures. ,@(match (%current-system) + ((or "i686-linux" "x86_64-linux") + '("-Dvulkan-drivers=intel,amd")) ((or "powerpc64le-linux" "powerpc-linux") '("-Dvulkan-drivers=amd,swrast")) ("aarch64-linux" '("-Dvulkan-drivers=freedreno,amd,broadcom,swrast")) + ("riscv64-linux" + '("-Dvulkan-drivers=amd,swrast")) (_ '("-Dvulkan-drivers=auto"))) @@ -360,8 +363,7 @@ also known as DXTn or DXTC) for Mesa.") ;; Also enable the tests. "-Dbuild-tests=true" - ;; Enable LLVM; default is x86/x86_64 only. - "-Dllvm=enabled") + "-Dllvm=enabled") ; default is x86/x86_64 only ;; XXX: 'debugoptimized' causes LTO link failures on some drivers. The ;; documentation recommends using 'release' for performance anyway. @@ -409,6 +411,11 @@ also known as DXTn or DXTC) for Mesa.") ;; This test times out and receives SIGTERM. (substitute* "src/amd/common/meson.build" (("and not with_platform_windows") "and with_platform_windows")))) + ("i686-linux" + ;; This test is known to fail on i686 (see: + ;; https://gitlab.freedesktop.org/mesa/mesa/-/issues/4091). + `((substitute* "src/util/meson.build" + ((".*'tests/u_debug_stack_test.cpp',.*") "")))) ("aarch64-linux" ;; The ir3_disasm test segfaults. ;; The simplest way to skip it is to run a different test instead. diff --git a/gnu/packages/patches/mesa-skip-tests.patch b/gnu/packages/patches/mesa-skip-tests.patch deleted file mode 100644 index af61ea165883849c2e1e19f6e1f750357fe52e25..0000000000000000000000000000000000000000 --- a/gnu/packages/patches/mesa-skip-tests.patch +++ /dev/null @@ -1,18 +0,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: - -https://gitlab.freedesktop.org/mesa/mesa/-/issues/4091 - -diff --git a/src/util/meson.build b/src/util/meson.build -index 2a1028f0d3a..0d31f38b671 100644 ---- a/src/util/meson.build -+++ b/src/util/meson.build -@@ -330,7 +330,6 @@ if with_tests - 'tests/set_test.cpp', - 'tests/sparse_array_test.cpp', - 'tests/u_atomic_test.cpp', -- 'tests/u_debug_stack_test.cpp', - 'tests/u_printf_test.cpp', - 'tests/u_qsort_test.cpp', - 'tests/vector_test.cpp',