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

  • Done
  • quality assurance status badge
Details
2 participants
  • dan
  • Z572
Owner
unassigned
Submitted by
dan
Severity
normal
D
(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
[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
Z
Re: [bug#74380] [PATCH 1/2] gnu: Add llvm-19.
(name . dan)(address . i@dan.games)(address . 74380-done@debbugs.gnu.org)
87mshp5tc8.fsf@iscas.ac.cn
dan <i@dan.games> writes:

Toggle quote (114 lines)
> * 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(-)
>
> 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

pushed, and update to 19.1.4, closing.
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEfr6klGDOXiwIdX/bO1qpk+Gi3/AFAmdCfTcACgkQO1qpk+Gi
3/ClJxAAgOTFHHRdlAsVL0rmUjcS/H5tSYiwQ8Y8XS/k1XV0gBiPhG9TcZdduLm6
tf47sZiPfmYxXIhRtNiKEib8X41o4n9r3J5SzqBexAuVNwg2Hgi2mnegknzZpO0f
+Wgk1QVP35Q4HmprsDSYK024WIizRxXdRkAbPFoDSYY2bCqefmy8Rd8r/WDzK0x/
TJlM1g4l5cb+m2AHbW9wAuWxzjofkdU+MxuyS95BXKsUJAzchV92KUG6BdLuuuJK
n959qAvTI+yNYzfk3mPgAL4iAtLvyTig7BtHeuIn6W43oIIOtm1Zh4AhwnFUso2z
9Dvu9p5+E7PtFWw4WDxJ4wxMc6mN/PFp6Fn4u1PGUUGep01Q8x8yFkk4YbV1SwTT
M24VZ2HrphC2ff3zj+iILeaRFeQ6L7OVHdafnb9yxA7P/Aapur8Qq3fGLmJt+FHi
dNsBdBlrvE1A/esACooqy5VEWR01Olc2BaTpC21qaYl5d0cW/A80ld/8XibO/POK
SYoxkM4IWIpC3GzCDZG8wpczX23T7tq9l+id5ASAfPxWShwKyY3PDW3YXg5kLEIA
3esSfm5z7HRwBfKgz+lBH+LbqKc+sg2oDO/d8OnNcfYeJzkdjVTolYs7I9IuWB/R
Fp/emQnrJkZvGcB7VkmLDwqF9paGaoO6XD8iQmgmKi8VxR+MM+A=
=ldbY
-----END PGP SIGNATURE-----

Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 74380@debbugs.gnu.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