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 23:43:27 +0200
User-agent: mu4e 0.9.17; emacs 24.5.1

Does everyone agree that the proposed patch is fine?

Dennis Mungai writes:

> 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]