From 8d5b31394b019965a9beef29ab8db18ab2f95f72 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Mon, 23 Oct 2023 20:43:55 +0800 Subject: 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 --- gnu/packages/llvm.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu/packages/llvm.scm') diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index bba9830b38..3fbabae040 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -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) -- cgit v1.2.3