GNU bug report logs - #72043
[CORE-UPDATES PATCH 0/3] Fix mesa for aarch64-linux.

Previous Next

Package: guix-patches;

Reported by: Efraim Flashner <efraim <at> flashner.co.il>

Date: Wed, 10 Jul 2024 20:27:01 UTC

Severity: normal

Tags: patch

Done: Efraim Flashner <efraim <at> flashner.co.il>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 72043 <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: 72043 <at> debbugs.gnu.org
Cc: Efraim Flashner <efraim <at> flashner.co.il>
Subject: [PATCH 1/3] gnu: mesa: Fix building on aarch64-linux.
Date: Wed, 10 Jul 2024 23:28:02 +0300
* 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
---
 gnu/packages/check.scm  |  1 +
 gnu/packages/gl.scm     | 56 +++++++++++++++++++++++++----------------
 gnu/packages/llvm.scm   |  1 +
 gnu/packages/vulkan.scm |  1 +
 4 files changed, 38 insertions(+), 21 deletions(-)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index bc341943f02..c24878937f3 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -2577,6 +2577,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")
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 80ba2cdcb09..43a452acb6a 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -320,19 +320,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
@@ -340,13 +345,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
@@ -464,6 +472,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"
@@ -586,8 +598,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
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index a1a2c9dc1b9..b32b4b5955c 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -1915,6 +1915,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")
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 25542c1e064..befd5325b58 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -152,6 +152,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")
-- 
Efraim Flashner   <efraim <at> flashner.co.il>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted





This bug report was last modified 345 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.