gnu: Add llvm-3.6.0 and clang-3.6.0.

* gnu/packages/llvm.scm (llvm): Update to 3.6.0.
  (clang-from-llvm): New procedure.
  (clang): Update to 3.6.0.  Reimplement using 'clang-from-llvm'.
  (llvm-3.5, clang-3.5): New variables.
This commit is contained in:
Mark H Weaver 2015-03-02 08:36:31 -05:00
parent 191c710139
commit 1204c5100e
1 changed files with 25 additions and 6 deletions

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -31,7 +32,7 @@
(define-public llvm (define-public llvm
(package (package
(name "llvm") (name "llvm")
(version "3.5.0") (version "3.6.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -39,7 +40,7 @@
version "/llvm-" version ".src.tar.xz")) version "/llvm-" version ".src.tar.xz"))
(sha256 (sha256
(base32 (base32
"00swb43mzlvda8306arlg2jw7g6k3acwfccgf1k4c2pgd3rrkq98")))) "1kmr5vlnz1419nnvyc7lsrcfx09n65ravjbmzxrqz7ml07jnk6mk"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (native-inputs
`(("python" ,python-wrapper) `(("python" ,python-wrapper)
@ -74,7 +75,7 @@ development. The compiler infrastructure includes mirror sets of programming
tools as well as libraries with equivalent functionality.") tools as well as libraries with equivalent functionality.")
(license ncsa))) (license ncsa)))
(define-public clang (define (clang-from-llvm llvm hash)
(package (package
(name "clang") (name "clang")
(version (package-version llvm)) (version (package-version llvm))
@ -83,9 +84,7 @@ tools as well as libraries with equivalent functionality.")
(method url-fetch) (method url-fetch)
(uri (string-append "http://llvm.org/releases/" (uri (string-append "http://llvm.org/releases/"
version "/cfe-" version ".src.tar.xz")) version "/cfe-" version ".src.tar.xz"))
(sha256 (sha256 (base32 hash))))
(base32
"12yv3jwdjcbkrx7zjm8wh4jrvb59v8fdw4mnmz3zc1jb00p9k07w"))))
;; Using cmake allows us to treat llvm as an external library. There ;; Using cmake allows us to treat llvm as an external library. There
;; doesn't seem to be any way to do this with clang's autotools-based ;; doesn't seem to be any way to do this with clang's autotools-based
;; build system. ;; build system.
@ -105,3 +104,23 @@ 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 project includes the Clang front end, the Clang static analyzer, and several
code analysis tools.") code analysis tools.")
(license ncsa))) (license ncsa)))
(define-public clang
(clang-from-llvm llvm
"0b8825mvdhfk5r9gwcwp1j2dl9kw5glgyk7pybq2dzhrh4vnj3my"))
(define-public llvm-3.5
(package (inherit llvm)
(version "3.5.0")
(source
(origin
(method url-fetch)
(uri (string-append "http://llvm.org/releases/"
version "/llvm-" version ".src.tar.xz"))
(sha256
(base32
"00swb43mzlvda8306arlg2jw7g6k3acwfccgf1k4c2pgd3rrkq98"))))))
(define-public clang-3.5
(clang-from-llvm llvm-3.5
"12yv3jwdjcbkrx7zjm8wh4jrvb59v8fdw4mnmz3zc1jb00p9k07w"))