gnu: Add clang-17.

* gnu/packages/llvm.scm (clang-from-llvm)[arguments]: Include test runner in
CMakeLists.txt when version >= 17.
(clang-17): New variable.

Change-Id: Ia3cd8013d497b72522e95f6face5975bf79f93b3
This commit is contained in:
Hilton Chain 2023-10-23 20:43:55 +08:00 committed by Efraim Flashner
parent b7b945c32f
commit 8d5b31394b
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351

View file

@ -358,6 +358,15 @@ (define* (clang-from-llvm llvm clang-runtime
(("@GLIBC_LIBDIR@")
(string-append libc "/lib"))))))
#t)))
,@(if (version>=? version "17")
'((add-after 'unpack 'include-test-runner
(lambda _
(substitute* "CMakeLists.txt"
((".*llvm_gtest" line)
(string-append
"add_subdirectory(${LLVM_THIRD_PARTY_DIR}/uni\
ttest third-party/unittest)\n" line))))))
'())
;; Awkwardly, multiple phases added after the same phase,
;; e.g. unpack, get applied in the reverse order. In other
;; words, adding 'change-directory last means it occurs
@ -1497,6 +1506,18 @@ (define-public llvm-17
(define-public clang-runtime-17
(clang-runtime-from-llvm llvm-17))
(define-public clang-17
(clang-from-llvm
llvm-17 clang-runtime-17
#:tools-extra
(origin
(method url-fetch)
(uri (llvm-uri "clang-tools-extra"
(package-version llvm-17)))
(sha256
(base32
"0an16xdc8rgrdf0dcq3sdg82ajyb00h4bff9n0gm7gqf48ds0da8")))))
;; Default LLVM and Clang version.
(define-public libomp libomp-13)
(define-public llvm llvm-13)