[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: |
Dennis Mungai |
Subject: |
Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix |
Date: |
Thu, 30 Jun 2016 23:44:03 +0300 |
Hello,
See the corrected patch below, comments have been corrected.
>From 38643acf50749212a4455d15a1729002d6dfa04a Mon Sep 17 00:00:00 2001
From: brainiarc7 <address@hidden>
Date: Thu, 30 June 2016 20:43:13 +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 <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.
;;;
@@ -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" ;;Same
comment as on the "-DCMAKE_BUILD_WITH_INSTALL_RPATH" cmake option
below.
+ "-DCMAKE_BUILD_TYPE=Release"
+ "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"
;Inherit this from the LLVM package here to maintain consistency.
+ "-DLLVM_ENABLE_PIC=ON" ;Defaults to on.
+ "-DLLVM_ENABLE_WERROR=OFF"))))) ;There's
no need to stop and fail the build if compiler warnings are triggered.
+
+(define-public clang-runtime-3.8
+ (clang-runtime-from-llvm llvm-3.8
+ "1c2nkp9563873ffz22qmhc0wakgj428pch8rmhym8agjamz3ily8"))
+
On 30 June 2016 at 21:15, Dennis Mungai <address@hidden> wrote:
> From 38643acf50749212a4455d15a1729002d6dfa04a Mon Sep 17 00:00:00 2001
> From: brainiarc7 <address@hidden>
> Date: Thu, 30 June 2016 16:47:02 +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 <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.
> ;;;
> @@ -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" ;;Same
> comment as on the "-DCMAKE_BUILD_WITH_INSTALL_RPATH" cmake option
> below.
> + "-DCMAKE_BUILD_TYPE=Release"
> + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"
> ;;Inherit this from the LLVM package here to maintain consistency.
> + "-DLLVM_ENABLE_PIC=ON" ;;Defaults to on.
> + "-DLLVM_ENABLE_WERROR=OFF"))))) ;;There's
> no need to stop and fail the build if compiler warnings are triggered.
> +
> +(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"))
>
> On 12 June 2016 at 19:30, Ludovic Courtès <address@hidden> wrote:
>> Hi!
>>
>> Dennis Mungai <address@hidden> skribis:
>>
>>> I second Pjotr on this.
>>>
>>> There are always tools that will lag behind, and having multiple LLVM
>>> versions is a reasonable (and possibly unavoidable) compromise, for
>>> now.
>>>
>>> There may be problems with conflicts should a user install such
>>> pipelines with differing LLVM and Clang combinations within the same
>>> profile, as a worst case scenario.
>>
>> OK fine. Currently we have 3.6 and 3.5, so we’d add 3.8 on top of it,
>> right? And the ‘llvm’, ‘clang’ etc. bindings would still point to 3.6?
>> Does it even make sense to have unversioned bindings?
>>
>> The patch you posted earlier adds a number of configure flags, different
>> from those currently used in ‘llvm’, and in particular:
>>
>>> + "-DLLVM_INCLUDE_TESTS=OFF" ;; clang target
>>> units cannot be built (invalid test targets inherited from llvm result in
>>> build failure)
>>
>> IIUC, this has the effect of disabling tests, which is something we
>> avoid unless there’s a good reason. I don’t understand the comment,
>> what’s happening?
>>
>> Could you remove as many of the configure flags as needed, and add a
>> comment for those that need to remain?
>>
>> Also, as a bonus, could you add a conforming commit log? :-)
>>
>> https://www.gnu.org/software/guix/manual/html_node/Submitting-Patches.html
>>
>> Thanks in advance!
>>
>> Ludo’.