[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
- Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix,
Roel Janssen <=
- Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix, Dennis Mungai, 2016/07/05
- Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix, Ricardo Wurmus, 2016/07/06
- Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix, Efraim Flashner, 2016/07/06
- Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix, Eric Bavier, 2016/07/06
- [PATCH 1/5] gnu: llvm: Update to 3.5.2., ericbavier, 2016/07/07
- [PATCH 2/5] gnu: llvm: Add "license:" prefix., ericbavier, 2016/07/07
- [PATCH 3/5] gnu: llvm: Add libffi and zlib inputs., ericbavier, 2016/07/07
- [PATCH 4/5] gnu: llvm: Update to 3.7.1., ericbavier, 2016/07/07
- [PATCH 5/5] gnu: llvm: Update to 3.8.0., ericbavier, 2016/07/07