summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-11-10 16:06:32 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-11-16 14:08:02 -0500
commit52c1f5c8253f1ee59bb75c09900c3dbcb970c232 (patch)
treeb1e552c3ac35ce4bddf0a7c0e3f0feb0edacd125 /gnu/packages
parentbf741cdd275a8464799b4380d352c3a63da627d7 (diff)
downloadguix-52c1f5c8253f1ee59bb75c09900c3dbcb970c232.tar.gz
gnu: Add clang-runtime-15.
* gnu/packages/llvm.scm (clang-runtime-15): New variable.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/llvm.scm23
1 files changed, 23 insertions, 0 deletions
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 5a64c712af..9f4f64e0d0 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -674,6 +674,29 @@ of programming tools as well as libraries with equivalent functionality.")
      `(("python" ,python-wrapper)
        ("perl"   ,perl)))))
 
+(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