[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/04: gnu: mesa: Build with llvm on armhf-linux.
From: |
guix-commits |
Subject: |
02/04: gnu: mesa: Build with llvm on armhf-linux. |
Date: |
Sat, 28 May 2022 15:25:24 -0400 (EDT) |
efraim pushed a commit to branch master
in repository guix.
commit 39227724e8edccc8aa6e62be8920bf3c0c4579b0
Author: Efraim Flashner <efraim@flashner.co.il>
AuthorDate: Fri May 27 18:28:44 2022 +0300
gnu: mesa: Build with llvm on armhf-linux.
* gnu/packages/gl.scm (mesa)[inputs]: Add llvm for all architectures.
[native-inputs]: Add glslang for all architectures.
[arguments]: Adjust configure-flags to give armhf-linux its own
gallium-drivers and enable llvm support. Rewrite portions that no longer
depend on specific architectures to enable flags. Adjust custom
'disable-failing-test phase to skip a test on armhf-linux.
---
gnu/packages/gl.scm | 44 +++++++++++++++++---------------------------
1 file changed, 17 insertions(+), 27 deletions(-)
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index f4313b4151..d3ee7aed93 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -294,25 +294,15 @@ also known as DXTn or DXTC) for Mesa.")
("libxml2" ,libxml2)
("libxrandr" ,libxrandr)
("libxvmc" ,libxvmc)
- ,@(match (%current-system)
- ((or "x86_64-linux" "i686-linux" "powerpc64le-linux"
"aarch64-linux"
- "powerpc-linux" "riscv64-linux")
- ;; Note: update the 'clang' input of mesa-opencl when bumping
this.
- `(("llvm" ,llvm-11)))
- (_
- `()))
+ ;; Note: update the 'clang' input of mesa-opencl when bumping this.
+ ("llvm" ,llvm-11)
("wayland" ,wayland)
("wayland-protocols" ,wayland-protocols)))
(native-inputs
`(("bison" ,bison)
("flex" ,flex)
("gettext" ,gettext-minimal)
- ,@(match (%current-system)
- ((or "x86_64-linux" "i686-linux" "powerpc64le-linux"
"aarch64-linux"
- "powerpc-linux" "riscv64-linux")
- `(("glslang" ,glslang)))
- (_
- `()))
+ ("glslang" ,glslang)
("pkg-config" ,pkg-config)
("python" ,python-wrapper)
("python-libxml2", python-libxml2) ;for OpenGL ES 1.1 and 2.0 support
@@ -322,9 +312,12 @@ also known as DXTn or DXTC) for Mesa.")
(arguments
`(#:configure-flags
'(,@(match (%current-system)
- ((or "armhf-linux" "aarch64-linux")
+ ("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"))
+ ("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" "riscv64-linux")
'("-Dgallium-drivers=nouveau,r300,r600,radeonsi,swrast,virgl"))
(_
@@ -356,13 +349,8 @@ also known as DXTn or DXTC) for Mesa.")
(_
'("-Dvulkan-drivers=auto")))
- ;; Enable the Vulkan overlay layer on architectures using llvm.
- ,@(match (%current-system)
- ((or "x86_64-linux" "i686-linux" "powerpc64le-linux"
"aarch64-linux"
- "powerpc-linux" "riscv64-linux")
- '("-Dvulkan-layers=device-select,overlay"))
- (_
- '()))
+ ;; Enable the Vulkan overlay layer on all architectures.
+ "-Dvulkan-layers=device-select,overlay"
;; Also enable the tests.
"-Dbuild-tests=true"
@@ -371,13 +359,11 @@ also known as DXTn or DXTC) for Mesa.")
;; from the default dri drivers
,@(match (%current-system)
((or "x86_64-linux" "i686-linux")
- '("-Ddri-drivers=i915,i965,nouveau,r200,r100"
- "-Dllvm=enabled")) ; default is x86/x86_64 only
- ((or "powerpc64le-linux" "aarch64-linux" "powerpc-linux"
"riscv64-linux")
- '("-Ddri-drivers=nouveau,r200,r100"
- "-Dllvm=enabled"))
+ '("-Ddri-drivers=i915,i965,nouveau,r200,r100"))
(_
- '("-Ddri-drivers=nouveau,r200,r100"))))
+ '("-Ddri-drivers=nouveau,r200,r100")))
+
+ "-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.
@@ -435,6 +421,10 @@ also known as DXTn or DXTC) for Mesa.")
;; The simplest way to skip it is to run a different test
instead.
`((substitute* "src/freedreno/ir3/meson.build"
(("disasm\\.c'") "delay.c',\n link_args:
ld_args_build_id"))))
+ ("armhf-linux"
+ ;; Disable some of the llvmpipe tests.
+ `((substitute* "src/gallium/drivers/llvmpipe/meson.build"
+ (("'lp_test_arit', ") ""))))
(_
'((display "No tests to disable on this
architecture.\n"))))))
(add-before 'configure 'fix-dlopen-libnames