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: Thu, 30 Jun 2016 23:44:03 +0300 Message-ID: References: <87vb1yjj2u.fsf@gnu.org> <20160610163849.GA4631@thebird.nl> <8737oimkt4.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]:44688) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bIiok-0001E6-Dc for guix-devel@gnu.org; Thu, 30 Jun 2016 16:44:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bIioh-0005TA-VO for guix-devel@gnu.org; Thu, 30 Jun 2016 16:44:09 -0400 In-Reply-To: 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: =?UTF-8?Q?Ludovic_Court=C3=A8s?= Cc: guix-devel@gnu.org, Guix-devel Hello, See the corrected patch below, comments have been corrected. >From 38643acf50749212a4455d15a1729002d6dfa04a Mon Sep 17 00:00:00 2001 From: brainiarc7 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 =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. ;;; @@ -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=3DFALSE" ;;Same comment as on the "-DCMAKE_BUILD_WITH_INSTALL_RPATH" cmake option below. + "-DCMAKE_BUILD_TYPE=3DRelease" + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=3DFALSE" ;Inherit this from the LLVM package here to maintain consistency. + "-DLLVM_ENABLE_PIC=3DON" ;Defaults to on. + "-DLLVM_ENABLE_WERROR=3DOFF"))))) ;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 wrote: > From 38643acf50749212a4455d15a1729002d6dfa04a Mon Sep 17 00:00:00 2001 > From: brainiarc7 > 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 =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. > ;;; > @@ -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=3DFALSE" ;;Same > comment as on the "-DCMAKE_BUILD_WITH_INSTALL_RPATH" cmake option > below. > + "-DCMAKE_BUILD_TYPE=3DRelease" > + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=3DFALSE" > ;;Inherit this from the LLVM package here to maintain consistency. > + "-DLLVM_ENABLE_PIC=3DON" ;;Defaults to on. > + "-DLLVM_ENABLE_WERROR=3DOFF"))))) ;;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=C3=A8s wrote: >> Hi! >> >> Dennis Mungai 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=E2=80=99d add 3.8 on top = of it, >> right? And the =E2=80=98llvm=E2=80=99, =E2=80=98clang=E2=80=99 etc. bin= dings 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 =E2=80=98llvm=E2=80=99, and in particular: >> >>> + "-DLLVM_INCLUDE_TESTS=3DOFF" ;; clang targe= t 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=E2=80=99s a good reason. I don=E2=80=99t understand = the comment, >> what=E2=80=99s 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=E2=80=99.