diff mbox

:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix

Message ID CAKKYfmG1rdruWDV5GeOF1XeQO+U630zzMnH+d8NTynGTfzvqhw@mail.gmail.com
State New
Headers show

Commit Message

Dennis Mungai May 30, 2016, 10:39 p.m. UTC
Hello fellows,

I have made a few changes that should ensure a successful build of
both clang and clang-runtime-3.8, by disabling test units from llvm
3.8 as they generated invalid targets for clang.

Test and confirm that the patch fixes the issues highlighted above.

Thanks and regards,

Dennis.


On 28 May 2016 at 18:30, Ludovic Courtès <ludo@gnu.org> wrote:
> Hi!
>
> Another question: is there any use for all these versions, or should we
> instead just bump llvm/clang/clang-runtime to 3.8?
>
> LLVM 3.6 currently has only five users:
>
> --8<---------------cut here---------------start------------->8---
> $ GUIX_PACKAGE_PATH= guix refresh -l llvm@3.6
> Building the following 2 packages would ensure 5 dependent packages are rebuilt: rdmd-v2.070.0-1.da0a2e0 c-reduce-2.3.0
> --8<---------------cut here---------------end--------------->8---
>
> Thanks,
> Ludo’.

Comments

Ludovic Courtès June 10, 2016, 3:42 p.m. UTC | #1
Hi Dennis,

Dennis Mungai <dmngaie@gmail.com> skribis:

> I have made a few changes that should ensure a successful build of
> both clang and clang-runtime-3.8, by disabling test units from llvm
> 3.8 as they generated invalid targets for clang.

What’s your opinion on this:

> On 28 May 2016 at 18:30, Ludovic Courtès <ludo@gnu.org> wrote:
>> Hi!
>>
>> Another question: is there any use for all these versions, or should we
>> instead just bump llvm/clang/clang-runtime to 3.8?
>>
>> LLVM 3.6 currently has only five users:
>>
>> --8<---------------cut here---------------start------------->8---
>> $ GUIX_PACKAGE_PATH= guix refresh -l llvm@3.6
>> Building the following 2 packages would ensure 5 dependent packages are rebuilt: rdmd-v2.070.0-1.da0a2e0 c-reduce-2.3.0
>> --8<---------------cut here---------------end--------------->8---

?

Thanks,
Ludo’.
diff mbox

Patch

From 38643acf50749212a4455d15a1729002d6dfa04a Mon Sep 17 00:00:00 2001
From: brainiarc7 <dmngaie@gmail.com>
Date: Tue, 31 May 2016 01:32:05 +0300
Subject: [PATCH] Add LLVM 3.8 to GNU Guix

---
 gnu/packages/llvm.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 3bf019f..e995ff2 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -2,6 +2,9 @@ 
 ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com>
+;;; Copyright © 2016 Pjotr Prins <pjotr.public12@thebird.nl>
+;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,6 +24,8 @@ 
 (define-module (gnu packages llvm)
   #:use-module (guix packages)
   #:use-module (guix licenses)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages libffi)
   #:use-module (guix download)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
@@ -201,3 +206,37 @@  code analysis tools.")
 (define-public clang-3.5
   (clang-from-llvm llvm-3.5 clang-runtime-3.5
                    "12yv3jwdjcbkrx7zjm8wh4jrvb59v8fdw4mnmz3zc1jb00p9k07w"))
+                   
+(define-public llvm-3.8
+  (package (inherit llvm)
+    (version "3.8.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://llvm.org/releases/"
+                           version "/llvm-" version ".src.tar.xz"))
+       (sha256
+        (base32
+         "0ikfq0gxac8xpvxj23l4hk8f12ydx48fljgrz1gl9xp0ks704nsm"))))
+    (native-inputs
+     `(("python" ,python-wrapper)
+       ("perl" ,perl)
+       ("libffi" ,libffi)
+       ("zlib" ,zlib)))
+    (arguments
+     `(#:configure-flags '("-DCMAKE_SKIP_BUILD_RPATH=FALSE"
+                           "-DLLVM_INCLUDE_TESTS=OFF" ;; clang target units cannot be built (invalid test targets inherited from llvm result in build failure)
+                           "-DLLVM_BUILD_TESTS=OFF"
+                           "-DCMAKE_BUILD_TYPE=Release"
+                           "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"
+                           "-DLLVM_ENABLE_PIC=ON"
+                           "-DLLVM_ENABLE_WERROR=OFF")))))
+
+(define-public clang-runtime-3.8
+  (clang-runtime-from-llvm
+   llvm-3.8
+   "1c2nkp9563873ffz22qmhc0wakgj428pch8rmhym8agjamz3ily8"))
+
+(define-public clang-3.8
+  (clang-from-llvm llvm-3.8 clang-runtime-3.8
+                   "1ybcac8hlr9vl3wg8s4v6cp0c0qgqnwprsv85lihbkq3vqv94504"))
-- 
2.7.4