From mboxrd@z Thu Jan 1 00:00:00 1970 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 Message-ID: References: <87vb1yjj2u.fsf@gnu.org> <20160610163849.GA4631@thebird.nl> <8737oimkt4.fsf@gnu.org> <87eg77izg8.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:40267) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bKXm5-00054G-Ay for guix-devel@gnu.org; Tue, 05 Jul 2016 17:20:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bKXm3-0004XP-U5 for guix-devel@gnu.org; Tue, 05 Jul 2016 17:20:57 -0400 In-Reply-To: <87eg77izg8.fsf@gnu.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Roel Janssen Cc: guix-devel@gnu.org, Guix-devel Roel, you may push. Also, I prefer the name Dennis Mungai. :-) On 5 July 2016 at 23:48, Roel Janssen 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 > 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 =C2=A9 2014 Eric Bavier > ;;; Copyright =C2=A9 2015 Mark H Weaver > ;;; Copyright =C2=A9 2015 Ludovic Court=C3=A8s > +;;; Copyright =C2=A9 2016 Dennis Mungai > +;;; Copyright =C2=A9 2016 Pjotr Prins > +;;; Copyright =C2=A9 2016 Roel Janssen > ;;; > ;;; 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 mirro= r 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 equivale= nt functionality.") > functions for C and C++ programs. It also provides header files that al= low 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) > > ;; 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 sev= eral > 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=3DFALSE" > + ;; Using the "Release" build type we reduce t= he > + ;; disk space and compile time footprint > + ;; considerably. > + "-DCMAKE_BUILD_TYPE=3DRelease" > + ;; This option was set on the previous LLVM b= uild, > + ;; so for consistency, use it here too. > + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=3DFALSE" > + "-DLLVM_ENABLE_PIC=3DON" > + ;; Some non-crucial compiler warnings occur. = Treat > + ;; them as warnings instead of errors. > + "-DLLVM_ENABLE_WERROR=3DOFF"))))) > + > +(define-public clang-runtime-3.8 > + (clang-runtime-from-llvm llvm-3.8 > + "1c2nkp9563873ffz22qmhc0wakgj428pch8rmhym8agjamz3ily8")) > -- > 2.9.0