Subject: [bug#60934] [PATCH v2 2/2] HELPER PATCH

From: Efraim Flashner <[email-masked]>
Date: Thu, 19 Jan 2023 15:56:04 +0200

This patch is to allow testing llvm-for-mesa while allowing the actual
patch to be cleanly shown.

* gnu/packages/gl.scm (mesa)[inputs]: Replace llvm-11 with llvm-for-mesa.
* gnu/packages/llvm.scm (llvm-for-mesa): Inherit from llvm-14.
[arguments]: Inherit package arguments from llvm-15.
---
 gnu/packages/gl.scm   | 2 +-
 gnu/packages/llvm.scm | 8 ++++++--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 01ab6135a4..084c14dd2f 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -304,7 +304,7 @@ (define-public mesa
                    wayland-protocols)
              ;; TODO: Resort alphabetically.
              ;; Note: update the 'clang' input of mesa-opencl when bumping this.
-             (list llvm-11)))
+             (list llvm-for-mesa)))
     (native-inputs
      (append (list bison
                    flex
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 8379b23fa5..23332dd8e2 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -2072,11 +2072,15 @@ (define-public emacs-clang-rename
 
 (define-public llvm-for-mesa
   ;; Note: update the 'clang' input of mesa-opencl when bumping this.
-  (let ((base-llvm llvm-15))
+  ;; llvm-15 is missing include/llvm-c/Transforms/Coroutines.h, needed by mesa-21.3.
+  ;; Therefore we inherit from llvm-14 but use the package arguments from llvm-15.
+  ;; This is an unsupported configuration of configure-flags for cross-building but
+  ;; works for mesa.
+  (let ((base-llvm llvm-14))
     (package
       (inherit base-llvm)
       (arguments
-       (substitute-keyword-arguments (package-arguments base-llvm)
+       (substitute-keyword-arguments (package-arguments llvm-15)
          ((#:modules modules '((guix build cmake-build-system)
                                (guix build utils)))
           `((ice-9 regex)
-- 
Efraim Flashner   <[email-masked]>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted