guix-devel
[Top][All Lists]
Advanced

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

Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix


From: Roel Janssen
Subject: Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix
Date: Tue, 05 Jul 2016 22:48:07 +0200
User-agent: mu4e 0.9.17; emacs 24.5.1

Hello Dennis,

Thanks for your work on LLVM-3.8.  I see a couple of things:
- We try to keep lines within 80 columns.
- libffi and zlib should be inputs instead of native-inputs.
- zlib is both a license and a package, so the licenses should be
prefixed.

I created a new patch for you addressing these issues, if you and others
agree, I can push this one for you.  I verified that the package builds
and that the programs can be run.

Could you please also let me know whether you want to use the name
'brainiarc7' in the commit history, or that you prefer 'Dennis Mungai'.

Thanks again!

Kind regards,
Roel Janssen

>From 451d93eaaab6166e38e33f0556fe40f83afefc5c Mon Sep 17 00:00:00 2001
From: brainiarc7 <address@hidden>
Date: Tue, 5 Jul 2016 22:42:24 +0200
Subject: [PATCH] gnu: Add LLVM 3.8.

* gnu/packages/llvm.scm (llvm-3.8): New variable.
* gnu/packages/llvm.scm (clang-runtime-3.8): New variable.
---
 gnu/packages/llvm.scm | 47 +++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 43 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 3bf019f..911a5ea 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -2,6 +2,9 @@
 ;;; Copyright © 2014 Eric Bavier <address@hidden>
 ;;; Copyright © 2015 Mark H Weaver <address@hidden>
 ;;; Copyright © 2015 Ludovic Courtès <address@hidden>
+;;; Copyright © 2016 Dennis Mungai <address@hidden>
+;;; Copyright © 2016 Pjotr Prins <address@hidden>
+;;; Copyright © 2016 Roel Janssen <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -20,7 +23,9 @@
 
 (define-module (gnu packages llvm)
   #:use-module (guix packages)
-  #:use-module (guix licenses)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages libffi)
   #:use-module (guix download)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
@@ -60,7 +65,7 @@ languages.  It currently supports compilation of C and C++ 
programs, using
 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 ncsa)))
+    (license license:ncsa)))
 
 (define (clang-runtime-from-llvm llvm hash)
   (package
@@ -87,7 +92,7 @@ of programming tools as well as libraries with equivalent 
functionality.")
 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 ncsa)
+    (license license:ncsa)
 
     ;; <http://compiler-rt.llvm.org/> doesn't list MIPS as supported.
     (supported-systems (delete "mips64el-linux" %supported-systems))))
@@ -170,7 +175,7 @@ compiler.  In LLVM this library is called \"compiler-rt\".")
 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)))
+    (license license:ncsa)))
 
 (define-public clang-runtime
   (clang-runtime-from-llvm
@@ -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"))))
+    (inputs
+     `(("libffi" ,libffi)
+       ("zlib" ,zlib)))
+    (native-inputs
+     `(("python" ,python-wrapper)
+       ("perl" ,perl)))
+    (arguments
+     `(#:configure-flags '("-DCMAKE_SKIP_BUILD_RPATH=FALSE"
+                           ;; Using the "Release" build type we reduce the
+                           ;; disk space and compile time footprint
+                           ;; considerably.
+                           "-DCMAKE_BUILD_TYPE=Release"
+                           ;; This option was set on the previous LLVM build,
+                           ;; so for consistency, use it here too.
+                           "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"
+                           "-DLLVM_ENABLE_PIC=ON"
+                           ;; Some non-crucial compiler warnings occur.  Treat
+                           ;; them as warnings instead of errors.
+                           "-DLLVM_ENABLE_WERROR=OFF")))))
+
+(define-public clang-runtime-3.8
+  (clang-runtime-from-llvm llvm-3.8
+   "1c2nkp9563873ffz22qmhc0wakgj428pch8rmhym8agjamz3ily8"))
-- 
2.9.0



reply via email to

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