gnu: LLVM: Promote LLVM 9 to the default 'llvm' package.

* gnu/packages/llvm.scm (llvm-8): Rename to ...
(llvm): ... this.  Update to 9.0.1.
[license]: Change to ASL2.0.
(clang-runtime-from-llvm)[license]: Inherit from LLVM.
(clang-from-llvm)[license]: Conditionally choose license based on version.
(llvm-9, clang-runtime-8, clang-8, clang-toolchain-8): New public variables.
(llvm-7): Inherit from LLVM-8 (for the license change).
(llvm-6): Inherit from LLVM-7.
(llvm-3.9.1): Inherit from LLVM-6.
(llvm-3.8): Inherit from LLVM-3.9.1.
(llvm-3.7): Inherit from LLVM-3.8.
(llvm-3.6): Inherit from LLVM-3.7.
(llvm-3.5): Inherit from LLVM-3.6.
(libcxx, libclc, libomp): Update to 9.0.1.
This commit is contained in:
Marius Bakke 2020-02-24 00:54:06 +01:00
parent b77a901e06
commit 00ede15708
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA

View file

@ -83,17 +83,17 @@ (define (llvm-download-uri component version)
(string-append "https://releases.llvm.org/" version "/" component "-"
version ".src.tar.xz")))
(define-public llvm-8
(define-public llvm
(package
(name "llvm")
(version "8.0.0")
(version "9.0.1")
(source
(origin
(method url-fetch)
(uri (llvm-download-uri "llvm" version))
(sha256
(base32
"0k124sxkfhfi1rca6kzkdraf4axhx99x3cw2rk55056628dvwwl8"))))
"16hwp3qa54c3a3v7h8nlw0fh5criqh0hlr1skybyk0cz70gyx880"))))
(build-system cmake-build-system)
(native-inputs
`(("python" ,python-2) ;bytes->str conversion in clang>=3.7 needs python-2
@ -131,9 +131,7 @@ (define-public llvm-8
front-ends derived from GCC 4.0.1. A new front-end for the C family of
languages is in development. The compiler infrastructure includes mirror sets
of programming tools as well as libraries with equivalent functionality.")
(license license:ncsa)))
(define-public llvm llvm-8)
(license license:asl2.0))) ;with LLVM exceptions, see LICENSE.txt
(define* (clang-runtime-from-llvm llvm hash
#:optional (patches '()))
@ -161,7 +159,7 @@ (define* (clang-runtime-from-llvm llvm hash
functions for C and C++ programs. It also provides header files that allow C
and C++ source code to interface with the \"sanitization\" passes of the clang
compiler. In LLVM this library is called \"compiler-rt\".")
(license license:ncsa)
(license (package-license llvm))
;; <https://compiler-rt.llvm.org/> doesn't list MIPS as supported.
(supported-systems (delete "mips64el-linux" %supported-systems))))
@ -307,7 +305,9 @@ (define* (clang-from-llvm llvm clang-runtime hash
Objective-C++ programming languages. It uses LLVM as its back end. The Clang
project includes the Clang front end, the Clang static analyzer, and several
code analysis tools.")
(license license:ncsa)))
(license (if (version>=? version "9.0")
license:asl2.0 ;with LLVM exceptions
license:ncsa))))
(define (make-clang-toolchain clang)
(package
@ -357,44 +357,49 @@ (define (make-clang-toolchain clang)
(define-public clang-runtime
(clang-runtime-from-llvm
llvm
"1c919wsm17xnv7lr8bhpq2wkq8113lzlw6hzhfr737j59x3wfddl"))
"0xwh79g3zggdabxgnd0bphry75asm1qz7mv3hcqihqwqr6aspgy2"))
(define-public clang
(clang-from-llvm llvm clang-runtime
"0svk1f70hvpwrjp6x5i9kqwrqwxnmcrw5s7f4cxyd100mdd12k08"
#:patches '("clang-7.0-libc-search-path.patch")))
"0ls2h3iv4finqyflyhry21qhc9cm9ga7g1zq21020p065qmm2y2p"
#:patches '("clang-9.0-libc-search-path.patch")))
(define-public clang-toolchain
(make-clang-toolchain clang))
(define-public llvm-9
(define-public llvm-9 llvm)
(define-public clang-runtime-9 clang-runtime)
(define-public clang-9 clang)
(define-public clang-toolchain-9 clang-toolchain)
(define-public llvm-8
(package
(inherit llvm)
(version "9.0.1")
(version "8.0.0")
(source (origin
(method url-fetch)
(uri (llvm-download-uri "llvm" version))
(sha256
(base32
"16hwp3qa54c3a3v7h8nlw0fh5criqh0hlr1skybyk0cz70gyx880"))))
(license license:asl2.0)))
"0k124sxkfhfi1rca6kzkdraf4axhx99x3cw2rk55056628dvwwl8"))))
(license license:ncsa)))
(define-public clang-runtime-9
(define-public clang-runtime-8
(clang-runtime-from-llvm
llvm-9
"0xwh79g3zggdabxgnd0bphry75asm1qz7mv3hcqihqwqr6aspgy2"))
llvm-8
"1c919wsm17xnv7lr8bhpq2wkq8113lzlw6hzhfr737j59x3wfddl"))
(define-public clang-9
(clang-from-llvm llvm-9 clang-runtime-9
"0ls2h3iv4finqyflyhry21qhc9cm9ga7g1zq21020p065qmm2y2p"
#:patches '("clang-9.0-libc-search-path.patch")))
(define-public clang-8
(clang-from-llvm llvm-8 clang-runtime-8
"0svk1f70hvpwrjp6x5i9kqwrqwxnmcrw5s7f4cxyd100mdd12k08"
#:patches '("clang-7.0-libc-search-path.patch")))
(define-public clang-toolchain-9
(make-clang-toolchain clang-9))
(define-public clang-toolchain-8
(make-clang-toolchain clang-8))
(define-public llvm-7
(package
(inherit llvm)
(inherit llvm-8)
(version "7.0.1")
(source (origin
(method url-fetch)
@ -418,7 +423,7 @@ (define-public clang-toolchain-7
(define-public llvm-6
(package
(inherit llvm)
(inherit llvm-7)
(version "6.0.1")
(source (origin
(method url-fetch)
@ -441,7 +446,7 @@ (define-public clang-toolchain-6
(make-clang-toolchain clang-6))
(define-public llvm-3.9.1
(package (inherit llvm)
(package (inherit llvm-6)
(name "llvm")
(version "3.9.1")
(source
@ -466,7 +471,7 @@ (define-public clang-3.9.1
#:patches '("clang-3.8-libc-search-path.patch")))
(define-public llvm-3.8
(package (inherit llvm)
(package (inherit llvm-3.9.1)
(name "llvm")
(version "3.8.1")
(source
@ -490,7 +495,7 @@ (define-public clang-3.8
#:patches '("clang-3.8-libc-search-path.patch")))
(define-public llvm-3.7
(package (inherit llvm)
(package (inherit llvm-3.8)
(version "3.7.1")
(source
(origin
@ -513,7 +518,7 @@ (define-public clang-3.7
#:patches '("clang-3.5-libc-search-path.patch")))
(define-public llvm-3.6
(package (inherit llvm)
(package (inherit llvm-3.7)
(version "3.6.2")
(source
(origin
@ -535,7 +540,7 @@ (define-public clang-3.6
#:patches '("clang-3.5-libc-search-path.patch")))
(define-public llvm-3.5
(package (inherit llvm)
(package (inherit llvm-3.6)
(version "3.5.2")
(source
(origin
@ -572,14 +577,14 @@ (define-public llvm-for-extempore
(define-public libcxx
(package
(name "libcxx")
(version (package-version llvm))
(version "9.0.1")
(source
(origin
(method url-fetch)
(uri (llvm-download-uri "libcxx" version))
(sha256
(base32
"1qlx3wlxrnc5cwc1fcfc2vhfsl7j4294hi8y5kxj8hy8wxsjd462"))))
"0d2bj5i6mk4caq7skd5nsdmz8c2m5w5anximl5wz3x32p08zz089"))))
(build-system cmake-build-system)
(native-inputs
`(("clang" ,clang)
@ -610,7 +615,7 @@ (define-public libcxx-6
(define-public libclc
(package
(name "libclc")
(version (package-version llvm))
(version "9.0.1")
(source
(origin
(method git-fetch)
@ -620,7 +625,7 @@ (define-public libclc
(file-name (git-file-name name version))
(sha256
(base32
"052h16wjcnqginzp7ki4il2xmm25v9nyk0wcz7cg03gbryhl7aqa"))))
"1d1qayvrvvc1di7s7jfxnjvxq2az4lwq1sw1b2gq2ic0nksvajz0"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
@ -649,13 +654,13 @@ (define-public libclc
(define-public libomp
(package
(name "libomp")
(version (package-version llvm))
(version "9.0.1")
(source (origin
(method url-fetch)
(uri (llvm-download-uri "openmp" version))
(sha256
(base32
"1mf9cpgvix34xlpv0inkgl3qmdvgvp96f7sksqizri0n5xfp1cgp"))
"1knafnpp0f7hylx8q20lkd6g1sf0flly572dayc5d5kghh7hd52w"))
(file-name (string-append "libomp-" version ".tar.xz"))))
(build-system cmake-build-system)
;; XXX: Note this gets built with GCC because building with Clang itself