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: Dennis Mungai
Subject: Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix
Date: Wed, 6 Jul 2016 00:20:47 +0300

Roel, you may push.

Also, I prefer the name Dennis Mungai.

:-)

On 5 July 2016 at 23:48, Roel Janssen <address@hidden> wrote:
> 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]