guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] gnu: Add llvm-3.6.0 and clang-3.6.0


From: Mark H Weaver
Subject: [PATCH] gnu: Add llvm-3.6.0 and clang-3.6.0
Date: Mon, 02 Mar 2015 08:45:17 -0500

This updates llvm and clang to 3.6.0, while keeping 3.5.0 available as
well.  It creates a new procedure 'clang-from-llvm' that does the
obvious thing.  I want to keep 3.5.0 around for purposes of testing
Guile with various versions of clang.

I've verified that the 3.5.0 packages generate the same derivations as
before, but have not yet finished building 3.6.0 to make sure it works.

      Mark

>From 1cb5f9f845056117e0e86e1848fc4f4fd00a3fec Mon Sep 17 00:00:00 2001
From: Mark H Weaver <address@hidden>
Date: Mon, 2 Mar 2015 08:36:31 -0500
Subject: [PATCH] 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.
---
 gnu/packages/llvm.scm | 31 +++++++++++++++++++++++++------
 1 file changed, 25 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 5b70124..6cf1fda 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 Eric Bavier <address@hidden>
+;;; Copyright © 2015 Mark H Weaver <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -31,7 +32,7 @@
 (define-public llvm
   (package
     (name "llvm")
-    (version "3.5.0")
+    (version "3.6.0")
     (source
      (origin
       (method url-fetch)
@@ -39,7 +40,7 @@
                           version "/llvm-" version ".src.tar.xz"))
       (sha256
        (base32
-        "00swb43mzlvda8306arlg2jw7g6k3acwfccgf1k4c2pgd3rrkq98"))))
+        "1kmr5vlnz1419nnvyc7lsrcfx09n65ravjbmzxrqz7ml07jnk6mk"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("python" ,python-wrapper)
@@ -74,7 +75,7 @@ development.  The compiler infrastructure includes mirror 
sets of programming
 tools as well as libraries with equivalent functionality.")
     (license ncsa)))
 
-(define-public clang
+(define (clang-from-llvm llvm hash)
   (package
     (name "clang")
     (version (package-version llvm))
@@ -83,9 +84,7 @@ tools as well as libraries with equivalent functionality.")
        (method url-fetch)
        (uri (string-append "http://llvm.org/releases/";
                            version "/cfe-" version ".src.tar.xz"))
-       (sha256
-        (base32
-         "12yv3jwdjcbkrx7zjm8wh4jrvb59v8fdw4mnmz3zc1jb00p9k07w"))))
+       (sha256 (base32 hash))))
     ;; 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
     ;; 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
 code analysis tools.")
     (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"))
-- 
2.2.1


reply via email to

[Prev in Thread] Current Thread [Next in Thread]