gnu: mesa: Fix building on aarch64-linux.

* gnu/packages/gl.scm (mesa)[inputs]: When building for aarch64-linux
use clang-18 and llvm-18 instead of llvm-for-mesa.
[native-inputs]: When building for aarch64-linux add libclc.
[arguments]: Adjust the 'disable-failing-test phase when building for
aarch64-linux to skip a test.
(mesa-opencl)[native-inputs]: When building for aarch64-linux don't add
clang-15.
* gnu/packages/check.scm (python-lit),
* gnu/packages/llvm.scm (libclc),
* gnu/packages/vulkan.scm (spirv-llvm-translator): Add a note about it
being a dependency for mesa.

Change-Id: I0bf5ab019ffd0626ad2d0c38bafceec401e3c886
This commit is contained in:
Efraim Flashner 2024-07-10 19:48:30 +03:00 committed by Ludovic Courtès
parent 8a2a088f29
commit d10ab3d397
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
4 changed files with 38 additions and 21 deletions

View file

@ -2755,6 +2755,7 @@ (define-public python-hypothesmith
programs, something like CSmith, a random generator of C programs.")
(license license:mpl2.0)))
;; WARNING: This package is a dependency of mesa.
(define-public python-lit
(package
(name "python-lit")

View file

@ -321,19 +321,24 @@ (define-public mesa
libxxf86vm
xorgproto))
(inputs
(list elfutils ;libelf required for r600 when using llvm
expat
(force libva-without-mesa)
libxml2
libxrandr
libxvmc
llvm-for-mesa
vulkan-loader
wayland
wayland-protocols
`(,zstd "lib")))
(append
(if (target-aarch64?)
(list clang-18
llvm-18)
(list llvm-for-mesa))
(list elfutils ;libelf required for r600 when using llvm
expat
(force libva-without-mesa)
libxml2
libxrandr
libxvmc
vulkan-loader
wayland
wayland-protocols
`(,zstd "lib"))))
(native-inputs
(cons* bison
(append
(list bison
flex
gettext-minimal
glslang
@ -341,13 +346,16 @@ (define-public mesa
python-libxml2 ;for OpenGL ES 1.1 and 2.0 support
python-mako
python-wrapper
(@ (gnu packages base) which)
(if (%current-target-system)
(list cmake-minimal-cross
pkg-config-for-build
wayland
wayland-protocols)
'())))
(@ (gnu packages base) which))
(if (target-aarch64?)
(list libclc)
'())
(if (%current-target-system)
(list cmake-minimal-cross
pkg-config-for-build
wayland
wayland-protocols)
'())))
(outputs '("out" "bin"))
(arguments
(list
@ -465,6 +473,10 @@ (define-public mesa
;; https://gitlab.freedesktop.org/mesa/mesa/-/issues/4091).
`((substitute* "src/util/meson.build"
((".*'tests/u_debug_stack_test.cpp',.*") ""))))
("aarch64-linux"
;; Disable some of the llvmpipe tests.
`((substitute* "src/gallium/drivers/llvmpipe/meson.build"
(("'lp_test_format', ") ""))))
("armhf-linux"
;; Disable some of the llvmpipe tests.
`((substitute* "src/gallium/drivers/llvmpipe/meson.build"
@ -587,8 +599,10 @@ (define-public mesa-opencl
(modify-inputs (package-inputs mesa)
(prepend libclc)))
(native-inputs
(modify-inputs (package-native-inputs mesa)
(prepend clang-15)))))
(if (target-aarch64?)
(package-native-inputs mesa)
(modify-inputs (package-native-inputs mesa)
(prepend clang-15))))))
(define-public mesa-opencl-icd
(package/inherit mesa-opencl

View file

@ -1949,6 +1949,7 @@ (define-public libcxx+libcxxabi-6
(native-inputs
(list clang-6 llvm-6 libcxxabi-6))))
;; WARNING: This package is a dependency of mesa.
(define-public libclc
(package
(name "libclc")

View file

@ -154,6 +154,7 @@ (define-public spirv-cross
SPIR-V, aiming to emit GLSL or MSL that looks like human-written code.")
(license license:asl2.0)))
;; WARNING: This package is a dependency of mesa.
(define-public spirv-llvm-translator
(package
(name "spirv-llvm-translator")