[PATCH 1/2] gnu: Add llvm-19.

  • Open
  • quality assurance status badge
Details
One participant
  • dan
Owner
unassigned
Submitted by
dan
Severity
normal

Debbugs page

D
D
dan wrote 5 days ago
(address . guix-patches@gnu.org)
b620433da77697aea65c16a44ba59054ded0490d.1731748323.git.i@dan.games
* gnu/packages/llvm.scm (clang-runtime-from-llvm)[native-inputs]: When
building clang-runtime-19 or newer use gcc-14.
(clang-from-llvm)[#:configure-flags]: When building clang-19 or newer, pass in
USE_DEPRECATED_GCC_INSTALL_PREFIX.
(%llvm-monorepo-hashes): Add entry for llvm-19.
(llvm-19, clang-runtime-19, clang-19, libomp-19, clang-toolchain-19): New
variables.

Change-Id: I55630c3ecd2e6caa4237f28ac9f41726ed09eec4
---
gnu/packages/llvm.scm | 59 +++++++++++++++++++++++++++++++++++++++++--
1 file changed, 57 insertions(+), 2 deletions(-)

Toggle diff (102 lines)
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index c6566a3339..1b3fd27dd6 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -154,7 +154,12 @@ (define* (clang-runtime-from-llvm llvm
(llvm-monorepo (package-version llvm))))
(build-system cmake-build-system)
(native-inputs
- (cond ((version>=? version "18")
+ (cond ((version>=? version "19")
+ ;; TODO: Remove this when GCC 14 is the default.
+ ;; libfuzzer fails to build with GCC 13
+ (modify-inputs (package-native-inputs llvm)
+ (prepend gcc-14)))
+ ((version>=? version "18")
;; TODO: Remove this when GCC 13 is the default.
;; libfuzzer fails to build with GCC 12
(modify-inputs (package-native-inputs llvm)
@@ -261,6 +266,11 @@ (define* (clang-from-llvm llvm clang-runtime
`(#:configure-flags
(list "-DCLANG_INCLUDE_TESTS=True"
+ ;; TODO: Use --gcc-install-dir when GCC_INSTALL_PREFIX is
+ ;; removed. See: https://github.com/llvm/llvm-project/pull/77537
+ ,@(if (version>=? version "19")
+ '("-DUSE_DEPRECATED_GCC_INSTALL_PREFIX=ON")
+ '())
;; Find libgcc_s, crtbegin.o, and crtend.o.
(string-append "-DGCC_INSTALL_PREFIX="
(assoc-ref %build-inputs "gcc-lib"))
@@ -552,7 +562,8 @@ (define %llvm-monorepo-hashes
("15.0.7" . "12sggw15sxq1krh1mfk3c1f07h895jlxbcifpwk3pznh4m1rjfy2")
("16.0.6" . "0jxmapg7shwkl88m4mqgfjv4ziqdmnppxhjz6vz51ycp2x4nmjky")
("17.0.6" . "1a7rq3rgw5vxm8y39fyzr4kv7w97lli4a0c1qrkchwk8p0n07hgh")
- ("18.1.8" . "1l9wm0g9jrpdf309kxjx7xrzf13h81kz8bbp0md14nrz38qll9la")))
+ ("18.1.8" . "1l9wm0g9jrpdf309kxjx7xrzf13h81kz8bbp0md14nrz38qll9la")
+ ("19.1.3" . "051miidbiqz4d2m1kk5w2am0hayjymbvc9pgjcjq7cadwbap8k1m")))
(define %llvm-patches
'(("14.0.6" . ("clang-14.0-libc-search-path.patch"
@@ -565,6 +576,8 @@ (define %llvm-patches
("17.0.6" . ("clang-17.0-libc-search-path.patch"
"clang-17.0-link-dsymutil-latomic.patch"))
("18.1.8" . ("clang-18.0-libc-search-path.patch"
+ "clang-17.0-link-dsymutil-latomic.patch"))
+ ("19.1.3" . ("clang-18.0-libc-search-path.patch"
"clang-17.0-link-dsymutil-latomic.patch"))))
(define (llvm-monorepo version)
@@ -1536,6 +1549,48 @@ (define-public libomp-18
(define-public clang-toolchain-18
(make-clang-toolchain clang-18 libomp-18))
+(define-public llvm-19
+ (package
+ (inherit llvm-15)
+ (version "19.1.3")
+ (source (llvm-monorepo version))
+ (arguments
+ (substitute-keyword-arguments (package-arguments llvm-15)
+ ;; The build daemon goes OOM on i686-linux on this phase.
+ ((#:phases phases #~'%standard-phases)
+ (if (target-x86-32?)
+ #~(modify-phases #$phases
+ (delete 'make-dynamic-linker-cache))
+ phases))))))
+
+(define-public clang-runtime-19
+ (clang-runtime-from-llvm llvm-19))
+
+(define-public clang-19
+ (clang-from-llvm
+ llvm-19 clang-runtime-19
+ #:tools-extra
+ (origin
+ (method url-fetch)
+ (uri (llvm-uri "clang-tools-extra"
+ (package-version llvm-19)))
+ (sha256
+ (base32
+ "0ig3syx0m9hcjzr4yl568jv2rz3haadgr9nhv8jv0gspx55ywn33")))))
+
+(define-public libomp-19
+ (package
+ (inherit libomp-15)
+ (version (package-version llvm-19))
+ (source (llvm-monorepo version))
+ (native-inputs
+ (modify-inputs (package-native-inputs libomp-15)
+ (replace "clang" clang-19)
+ (replace "llvm" llvm-19)))))
+
+(define-public clang-toolchain-19
+ (make-clang-toolchain clang-19 libomp-19))
+
;; Default LLVM and Clang version.
(define-public libomp libomp-13)
(define-public llvm llvm-13)

base-commit: 3e8d3d80f41e016cdfe80e488a78c2351c94fef8
--
2.46.0
D
D
dan wrote 5 days ago
[PATCH 2/2] gnu: Add lld-19.
(address . 74380@debbugs.gnu.org)
20b0e0012901fba013f430e51998af01a1b96d5a.1731748323.git.i@dan.games
* gnu/packages/llvm.scm (lld-19): New variable.

Change-Id: I8d24e762fc7837f5d3ade91801c3ffc0a5cb84a9
---
gnu/packages/llvm.scm | 7 +++++++
1 file changed, 7 insertions(+)

Toggle diff (20 lines)
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 1b3fd27dd6..112215663f 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -1756,6 +1756,13 @@ (define-public lld-18
(source (llvm-monorepo version))
(inputs (list llvm-18))))
+(define-public lld-19
+ (package
+ (inherit lld-15)
+ (version (package-version llvm-19))
+ (source (llvm-monorepo version))
+ (inputs (list llvm-19))))
+
(define-public lld lld-14)
(define* (make-lld-wrapper lld #:key lld-as-ld?)
--
2.46.0
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 74380@patchwise.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 74380
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch