gnu: clang-from-llvm: Fix set-glibc-file-names phase.

* gnu/packages/llvm.scm (clang-from-llvm)[arguments]: Turn case on major
version into a cond, so that newer versions of clang have the same behaviour as
version 6 and 7.

Signed-off-by: Carl Dong <contact@carldong.me>
This commit is contained in:
Mathieu Othacehe 2019-10-31 15:05:54 +01:00 committed by Carl Dong
parent 27fb781f41
commit 07c07de3ab
No known key found for this signature in database
GPG key ID: 0CC52153197991A5

View file

@ -201,10 +201,12 @@ (define* (clang-from-llvm llvm clang-runtime hash
'unpack 'set-glibc-file-names
(lambda* (#:key inputs #:allow-other-keys)
(let ((libc (assoc-ref inputs "libc"))
(compiler-rt (assoc-ref inputs "clang-runtime")))
(case (string->number ,(version-major
(package-version clang-runtime)))
((or 6 7)
(compiler-rt (assoc-ref inputs "clang-runtime"))
(version
(string->number
,(version-major (package-version clang-runtime)))))
(cond
((> version 3)
;; Link to libclang_rt files from clang-runtime.
(substitute* "lib/Driver/ToolChain.cpp"
(("getDriver\\(\\)\\.ResourceDir")
@ -220,7 +222,7 @@ (define* (clang-from-llvm llvm clang-runtime hash
;; allow crt1.o & co. to be found.
(("@GLIBC_LIBDIR@")
(string-append libc "/lib"))))
((3)
(else
(substitute* "lib/Driver/Tools.cpp"
;; Patch the 'getLinuxDynamicLinker' function so that
;; it uses the right dynamic linker file name.