Subject: [PATCH 2/3] gnu: Add clang-runtime-15.

From: Maxim Cournoyer <[email-masked]>
Date: Sun, 13 Nov 2022 00:01:59 -0500

* gnu/packages/llvm.scm (clang-runtime-15): New variable.
---
 gnu/packages/llvm.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 0a35aed7c6..d7b6207dc4 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -690,6 +690,29 @@ (define-public llvm-14
     (license license:asl2.0)
     (properties `((release-monitoring-url . ,%llvm-release-monitoring-url)))))
 
+(define-public clang-runtime-15
+  (let ((template (clang-runtime-from-llvm llvm-15)))
+    (package
+      (inherit template)
+      (arguments
+       (substitute-keyword-arguments (package-arguments template)
+         ((#:phases phases '(@ (guix build cmake-build-system) %standard-phases))
+          #~(modify-phases #$phases
+              (add-after 'unpack 'change-directory
+                (lambda _
+                  (chdir "compiler-rt")))
+              (add-after 'install 'delete-static-libraries
+                ;; Reduce size from 33 MiB to 7.4 MiB.
+                (lambda _
+                  (for-each delete-file
+                            (find-files #$output "\\.a(\\.syms)?$"))))))))
+      (native-inputs
+       (modify-inputs (package-native-inputs template)
+         (prepend gcc-12)))             ;libfuzzer fails to build with GCC 11
+      (inputs
+       (modify-inputs (package-inputs template)
+         (append libffi))))))
+
 (define-public clang-runtime-14
   (let ((template (clang-runtime-from-llvm llvm-14)))
     (package
-- 
2.38.1