* [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix @ 2016-05-26 19:45 Dennis Mungai 2016-05-26 20:13 ` Roel Janssen 0 siblings, 1 reply; 26+ messages in thread From: Dennis Mungai @ 2016-05-26 19:45 UTC (permalink / raw) To: guix-devel [-- Attachment #1: Type: text/plain, Size: 201 bytes --] Hello, This current patch adds LLVM 3.8 and it's matching clang and clang-runtime packages to GNU Guix. Discard the previous patch as it was not formatted via git. This one is :-) Regards, Dennis. [-- Attachment #2: add-llvm-3.8.patch --] [-- Type: text/x-patch, Size: 2541 bytes --] From 38643acf50749212a4455d15a1729002d6dfa04a Mon Sep 17 00:00:00 2001 From: brainiarc7 <dmngaie@gmail.com> Date: Thu, 26 May 2016 22:39:05 +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 <bavier@member.fsf.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com> +;;; Copyright © 2016 Pjotr Prins <pjotr.public12@thebird.nl> +;;; Copyright © 2016 Roel Janssen <roel@gnu.org> ;;; ;;; 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" + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE" + "-DLLVM_ENABLE_PIC=ON" + ;"-DLLVM_ENABLE_RTTI=ON" + "-DLLVM_ENABLE_WERROR=OFF" + ;;"-DLLVM_REQUIRES_RTTI=ON" + ))))) + +(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")) -- 2.7.4 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix 2016-05-26 19:45 [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix Dennis Mungai @ 2016-05-26 20:13 ` Roel Janssen 2016-05-26 20:44 ` Dennis Mungai 0 siblings, 1 reply; 26+ messages in thread From: Roel Janssen @ 2016-05-26 20:13 UTC (permalink / raw) To: Dennis Mungai; +Cc: guix-devel Hello Dennis, Welcome and thank you for the patch. Dennis Mungai writes: > +(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))) One space between the string and the unquote is enough. > + (arguments > + `(#:configure-flags '("-DCMAKE_SKIP_BUILD_RPATH=FALSE" > + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE" > + "-DLLVM_ENABLE_PIC=ON" > + ;"-DLLVM_ENABLE_RTTI=ON" > + "-DLLVM_ENABLE_WERROR=OFF" > + ;;"-DLLVM_REQUIRES_RTTI=ON" Could you remove the options you commented out? > + ))))) These should be positioned directly after "-DLLVM_ENABLE_WERROR=OFF". > + > +(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")) > -- > 2.7.4 Thank you, Roel Janssen ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix 2016-05-26 20:13 ` Roel Janssen @ 2016-05-26 20:44 ` Dennis Mungai 2016-05-27 14:09 ` Eric Bavier 0 siblings, 1 reply; 26+ messages in thread From: Dennis Mungai @ 2016-05-26 20:44 UTC (permalink / raw) To: Roel Janssen; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 1691 bytes --] See corrected patch, as attached. On 26 May 2016 at 23:13, Roel Janssen <roel@gnu.org> wrote: > Hello Dennis, > > Welcome and thank you for the patch. > > Dennis Mungai writes: > >> +(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))) > > One space between the string and the unquote is enough. > >> + (arguments >> + `(#:configure-flags '("-DCMAKE_SKIP_BUILD_RPATH=FALSE" >> + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE" >> + "-DLLVM_ENABLE_PIC=ON" >> + ;"-DLLVM_ENABLE_RTTI=ON" >> + "-DLLVM_ENABLE_WERROR=OFF" >> + ;;"-DLLVM_REQUIRES_RTTI=ON" > > Could you remove the options you commented out? > >> + ))))) > > These should be positioned directly after "-DLLVM_ENABLE_WERROR=OFF". > >> + >> +(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")) >> -- >> 2.7.4 > > Thank you, > Roel Janssen [-- Attachment #2: add-llvm-3.8.patch --] [-- Type: text/x-patch, Size: 2401 bytes --] From 38643acf50749212a4455d15a1729002d6dfa04a Mon Sep 17 00:00:00 2001 From: brainiarc7 <dmngaie@gmail.com> Date: Thu, 26 May 2016 22:39:05 +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 <bavier@member.fsf.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com> +;;; Copyright © 2016 Pjotr Prins <pjotr.public12@thebird.nl> +;;; Copyright © 2016 Roel Janssen <roel@gnu.org> ;;; ;;; 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" + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE" + "-DLLVM_ENABLE_PIC=ON" + "-DLLVM_ENABLE_WERROR=OFF"))))) + +(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")) -- 2.7.4 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix 2016-05-26 20:44 ` Dennis Mungai @ 2016-05-27 14:09 ` Eric Bavier 2016-05-27 15:07 ` Dennis Mungai ` (2 more replies) 0 siblings, 3 replies; 26+ messages in thread From: Eric Bavier @ 2016-05-27 14:09 UTC (permalink / raw) To: Dennis Mungai; +Cc: guix-devel, Guix-devel On 2016-05-26 15:44, Dennis Mungai wrote: > See corrected patch, as attached. > +(define-public clang-3.8 > + (clang-from-llvm llvm-3.8 clang-runtime-3.8 > + > >"1ybcac8hlr9vl3wg8s4v6cp0c0qgqnwprsv85lihbkq3vqv94504")) Did you successfully build clang 3.8 with this patch? I ask because I am currently trying to do the same (while also upgrading 3.6 to 3.6.2 and adding clang 3.7.1), but found that the clang-libc-search.patch that's used in clang-from-llvm does not apply to clang 3.8 source. `~Eric > > > > On 26 May 2016 at 23:13, Roel Janssen <roel@gnu.org> wrote: >> Hello Dennis, >> >> Welcome and thank you for the patch. >> >> Dennis Mungai writes: >> >>> +(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))) >> >> One space between the string and the unquote is enough. >> >>> + (arguments >>> + `(#:configure-flags '("-DCMAKE_SKIP_BUILD_RPATH=FALSE" >>> + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE" >>> + "-DLLVM_ENABLE_PIC=ON" >>> + ;"-DLLVM_ENABLE_RTTI=ON" >>> + "-DLLVM_ENABLE_WERROR=OFF" >>> + ;;"-DLLVM_REQUIRES_RTTI=ON" >> >> Could you remove the options you commented out? >> >>> + ))))) >> >> These should be positioned directly after "-DLLVM_ENABLE_WERROR=OFF". >> >>> + >>> +(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")) >>> -- >>> 2.7.4 >> >> Thank you, >> Roel Janssen -- `~Eric ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix 2016-05-27 14:09 ` Eric Bavier @ 2016-05-27 15:07 ` Dennis Mungai 2016-05-28 9:22 ` Roel Janssen 2016-05-28 15:30 ` Ludovic Courtès 2 siblings, 0 replies; 26+ messages in thread From: Dennis Mungai @ 2016-05-27 15:07 UTC (permalink / raw) To: Eric Bavier; +Cc: guix-devel, Guix-devel Yes, I did. I'll inspect this shortly and give you feedback. On 27 May 2016 at 17:09, Eric Bavier <ericbavier@openmailbox.org> wrote: > On 2016-05-26 15:44, Dennis Mungai wrote: >> >> See corrected patch, as attached. > > >> +(define-public clang-3.8 >> + (clang-from-llvm llvm-3.8 clang-runtime-3.8 >> + >> >"1ybcac8hlr9vl3wg8s4v6cp0c0qgqnwprsv85lihbkq3vqv94504")) > > > Did you successfully build clang 3.8 with this patch? I ask because I am > currently trying to do the same (while also upgrading 3.6 to 3.6.2 and > adding clang 3.7.1), but found that the clang-libc-search.patch that's used > in clang-from-llvm does not apply to clang 3.8 source. > > `~Eric > > >> >> >> >> On 26 May 2016 at 23:13, Roel Janssen <roel@gnu.org> wrote: >>> >>> Hello Dennis, >>> >>> Welcome and thank you for the patch. >>> >>> Dennis Mungai writes: >>> >>>> +(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))) >>> >>> >>> One space between the string and the unquote is enough. >>> >>>> + (arguments >>>> + `(#:configure-flags '("-DCMAKE_SKIP_BUILD_RPATH=FALSE" >>>> + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE" >>>> + "-DLLVM_ENABLE_PIC=ON" >>>> + ;"-DLLVM_ENABLE_RTTI=ON" >>>> + "-DLLVM_ENABLE_WERROR=OFF" >>>> + ;;"-DLLVM_REQUIRES_RTTI=ON" >>> >>> >>> Could you remove the options you commented out? >>> >>>> + ))))) >>> >>> >>> These should be positioned directly after "-DLLVM_ENABLE_WERROR=OFF". >>> >>>> + >>>> +(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")) >>>> -- >>>> 2.7.4 >>> >>> >>> Thank you, >>> Roel Janssen > > > -- > `~Eric ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix 2016-05-27 14:09 ` Eric Bavier 2016-05-27 15:07 ` Dennis Mungai @ 2016-05-28 9:22 ` Roel Janssen 2016-05-28 15:30 ` Ludovic Courtès 2 siblings, 0 replies; 26+ messages in thread From: Roel Janssen @ 2016-05-28 9:22 UTC (permalink / raw) To: Eric Bavier; +Cc: guix-devel, Dennis Mungai, Guix-devel Eric Bavier writes: > On 2016-05-26 15:44, Dennis Mungai wrote: >> See corrected patch, as attached. > >> +(define-public clang-3.8 >> + (clang-from-llvm llvm-3.8 clang-runtime-3.8 >> + >> >"1ybcac8hlr9vl3wg8s4v6cp0c0qgqnwprsv85lihbkq3vqv94504")) > > Did you successfully build clang 3.8 with this patch? I ask because I > am currently trying to do the same (while also upgrading 3.6 to 3.6.2 > and adding clang 3.7.1), but found that the clang-libc-search.patch > that's used in clang-from-llvm does not apply to clang 3.8 source. I have the same problem. Here is the relevant output of my local build: patching file lib/Driver/ToolChains.cpp Hunk #1 FAILED at 2931. Hunk #2 succeeded at 3702 (offset 729 lines). Hunk #3 FAILED at 3044. Hunk #4 succeeded at 3792 with fuzz 2 (offset 731 lines). Hunk #5 FAILED at 3085. 3 out of 5 hunks FAILED -- saving rejects to file lib/Driver/ToolChains.cpp.rej source is under 'cfe-3.8.0.src' applying '/gnu/store/9hzhm2s0fb9g9i6kxmp6jyjrj5v3b7xn-clang-libc-search-path.patch'... builder for `/gnu/store/nw20qmrai6nvfkfybl4qfxdx3qlyays2-cfe-3.8.0.src.tar.xz.drv' failed to produce output path `/gnu/store/f0jccijb05rpw0vsfv8b57j67fsh5q29-cfe-3.8.0.src.tar.xz' Kind regards, Roel Janssen ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix 2016-05-27 14:09 ` Eric Bavier 2016-05-27 15:07 ` Dennis Mungai 2016-05-28 9:22 ` Roel Janssen @ 2016-05-28 15:30 ` Ludovic Courtès 2016-05-30 22:39 ` Dennis Mungai 2016-06-10 16:38 ` Pjotr Prins 2 siblings, 2 replies; 26+ messages in thread From: Ludovic Courtès @ 2016-05-28 15:30 UTC (permalink / raw) To: Eric Bavier; +Cc: guix-devel, Dennis Mungai, Guix-devel Hi! Another question: is there any use for all these versions, or should we instead just bump llvm/clang/clang-runtime to 3.8? LLVM 3.6 currently has only five users: --8<---------------cut here---------------start------------->8--- $ GUIX_PACKAGE_PATH= guix refresh -l llvm@3.6 Building the following 2 packages would ensure 5 dependent packages are rebuilt: rdmd-v2.070.0-1.da0a2e0 c-reduce-2.3.0 --8<---------------cut here---------------end--------------->8--- Thanks, Ludo’. ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix 2016-05-28 15:30 ` Ludovic Courtès @ 2016-05-30 22:39 ` Dennis Mungai 2016-06-10 15:42 ` Ludovic Courtès 2016-06-10 16:38 ` Pjotr Prins 1 sibling, 1 reply; 26+ messages in thread From: Dennis Mungai @ 2016-05-30 22:39 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guix-devel, Guix-devel [-- Attachment #1: Type: text/plain, Size: 903 bytes --] Hello fellows, I have made a few changes that should ensure a successful build of both clang and clang-runtime-3.8, by disabling test units from llvm 3.8 as they generated invalid targets for clang. Test and confirm that the patch fixes the issues highlighted above. Thanks and regards, Dennis. On 28 May 2016 at 18:30, Ludovic Courtès <ludo@gnu.org> wrote: > Hi! > > Another question: is there any use for all these versions, or should we > instead just bump llvm/clang/clang-runtime to 3.8? > > LLVM 3.6 currently has only five users: > > --8<---------------cut here---------------start------------->8--- > $ GUIX_PACKAGE_PATH= guix refresh -l llvm@3.6 > Building the following 2 packages would ensure 5 dependent packages are rebuilt: rdmd-v2.070.0-1.da0a2e0 c-reduce-2.3.0 > --8<---------------cut here---------------end--------------->8--- > > Thanks, > Ludo’. [-- Attachment #2: add-llvm-3.8.patch --] [-- Type: text/x-patch, Size: 2671 bytes --] From 38643acf50749212a4455d15a1729002d6dfa04a Mon Sep 17 00:00:00 2001 From: brainiarc7 <dmngaie@gmail.com> Date: Tue, 31 May 2016 01:32:05 +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 <bavier@member.fsf.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com> +;;; Copyright © 2016 Pjotr Prins <pjotr.public12@thebird.nl> +;;; Copyright © 2016 Roel Janssen <roel@gnu.org> ;;; ;;; 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" + "-DLLVM_INCLUDE_TESTS=OFF" ;; clang target units cannot be built (invalid test targets inherited from llvm result in build failure) + "-DLLVM_BUILD_TESTS=OFF" + "-DCMAKE_BUILD_TYPE=Release" + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE" + "-DLLVM_ENABLE_PIC=ON" + "-DLLVM_ENABLE_WERROR=OFF"))))) + +(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")) -- 2.7.4 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix 2016-05-30 22:39 ` Dennis Mungai @ 2016-06-10 15:42 ` Ludovic Courtès 0 siblings, 0 replies; 26+ messages in thread From: Ludovic Courtès @ 2016-06-10 15:42 UTC (permalink / raw) To: Dennis Mungai; +Cc: guix-devel, Guix-devel Hi Dennis, Dennis Mungai <dmngaie@gmail.com> skribis: > I have made a few changes that should ensure a successful build of > both clang and clang-runtime-3.8, by disabling test units from llvm > 3.8 as they generated invalid targets for clang. What’s your opinion on this: > On 28 May 2016 at 18:30, Ludovic Courtès <ludo@gnu.org> wrote: >> Hi! >> >> Another question: is there any use for all these versions, or should we >> instead just bump llvm/clang/clang-runtime to 3.8? >> >> LLVM 3.6 currently has only five users: >> >> --8<---------------cut here---------------start------------->8--- >> $ GUIX_PACKAGE_PATH= guix refresh -l llvm@3.6 >> Building the following 2 packages would ensure 5 dependent packages are rebuilt: rdmd-v2.070.0-1.da0a2e0 c-reduce-2.3.0 >> --8<---------------cut here---------------end--------------->8--- ? Thanks, Ludo’. ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix 2016-05-28 15:30 ` Ludovic Courtès 2016-05-30 22:39 ` Dennis Mungai @ 2016-06-10 16:38 ` Pjotr Prins 2016-06-12 10:17 ` Dennis Mungai 1 sibling, 1 reply; 26+ messages in thread From: Pjotr Prins @ 2016-06-10 16:38 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guix-devel, Dennis Mungai, Guix-devel On Sat, May 28, 2016 at 05:30:49PM +0200, Ludovic Courtès wrote: > Hi! > > Another question: is there any use for all these versions, or should we > instead just bump llvm/clang/clang-runtime to 3.8? > > LLVM 3.6 currently has only five users: rdmd and ldc just got upgraded to LLVM 3.8 - we'll update those shortly. I am not sure about Julia. I think it is reasonable to have at least 2 versions of LLVM in GNU Guix. There are always tools lagging behind. Pj. ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix 2016-06-10 16:38 ` Pjotr Prins @ 2016-06-12 10:17 ` Dennis Mungai 2016-06-12 16:30 ` Ludovic Courtès 0 siblings, 1 reply; 26+ messages in thread From: Dennis Mungai @ 2016-06-12 10:17 UTC (permalink / raw) To: Pjotr Prins; +Cc: guix-devel, Guix-devel 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. On 10 June 2016 at 19:38, Pjotr Prins <pjotr.public12@thebird.nl> wrote: > On Sat, May 28, 2016 at 05:30:49PM +0200, Ludovic Courtčs wrote: >> Hi! >> >> Another question: is there any use for all these versions, or should we >> instead just bump llvm/clang/clang-runtime to 3.8? >> >> LLVM 3.6 currently has only five users: > > rdmd and ldc just got upgraded to LLVM 3.8 - we'll update those shortly. > I am not sure about Julia. > > I think it is reasonable to have at least 2 versions of LLVM in GNU > Guix. There are always tools lagging behind. > > Pj. ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix 2016-06-12 10:17 ` Dennis Mungai @ 2016-06-12 16:30 ` Ludovic Courtès 2016-06-30 18:15 ` Dennis Mungai 0 siblings, 1 reply; 26+ messages in thread From: Ludovic Courtès @ 2016-06-12 16:30 UTC (permalink / raw) To: Dennis Mungai; +Cc: guix-devel, Guix-devel Hi! Dennis Mungai <dmngaie@gmail.com> 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’. ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix 2016-06-12 16:30 ` Ludovic Courtès @ 2016-06-30 18:15 ` Dennis Mungai 2016-06-30 20:44 ` Dennis Mungai 0 siblings, 1 reply; 26+ messages in thread From: Dennis Mungai @ 2016-06-30 18:15 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guix-devel, Guix-devel From 38643acf50749212a4455d15a1729002d6dfa04a Mon Sep 17 00:00:00 2001 From: brainiarc7 <dmngaie@gmail.com> 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 <bavier@member.fsf.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com> +;;; Copyright © 2016 Pjotr Prins <pjotr.public12@thebird.nl> +;;; Copyright © 2016 Roel Janssen <roel@gnu.org> ;;; ;;; 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 <ludo@gnu.org> wrote: > Hi! > > Dennis Mungai <dmngaie@gmail.com> 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’. ^ permalink raw reply related [flat|nested] 26+ messages in thread
* Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix 2016-06-30 18:15 ` Dennis Mungai @ 2016-06-30 20:44 ` Dennis Mungai 2016-07-05 20:48 ` Roel Janssen 0 siblings, 1 reply; 26+ messages in thread From: Dennis Mungai @ 2016-06-30 20:44 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guix-devel, Guix-devel Hello, See the corrected patch below, comments have been corrected. From 38643acf50749212a4455d15a1729002d6dfa04a Mon Sep 17 00:00:00 2001 From: brainiarc7 <dmngaie@gmail.com> 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 <bavier@member.fsf.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com> +;;; Copyright © 2016 Pjotr Prins <pjotr.public12@thebird.nl> +;;; Copyright © 2016 Roel Janssen <roel@gnu.org> ;;; ;;; 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 <dmngaie@gmail.com> wrote: > From 38643acf50749212a4455d15a1729002d6dfa04a Mon Sep 17 00:00:00 2001 > From: brainiarc7 <dmngaie@gmail.com> > 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 <bavier@member.fsf.org> > ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> > ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> > +;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com> > +;;; Copyright © 2016 Pjotr Prins <pjotr.public12@thebird.nl> > +;;; Copyright © 2016 Roel Janssen <roel@gnu.org> > ;;; > ;;; 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 <ludo@gnu.org> wrote: >> Hi! >> >> Dennis Mungai <dmngaie@gmail.com> 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’. ^ permalink raw reply related [flat|nested] 26+ messages in thread
* Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix 2016-06-30 20:44 ` Dennis Mungai @ 2016-07-05 20:48 ` Roel Janssen 2016-07-05 21:20 ` Dennis Mungai 2016-07-06 4:55 ` Ricardo Wurmus 0 siblings, 2 replies; 26+ messages in thread From: Roel Janssen @ 2016-07-05 20:48 UTC (permalink / raw) To: Dennis Mungai; +Cc: guix-devel, Guix-devel 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 <dmngaie@gmail.com> 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 <bavier@member.fsf.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com> +;;; Copyright © 2016 Pjotr Prins <pjotr.public12@thebird.nl> +;;; Copyright © 2016 Roel Janssen <roel@gnu.org> ;;; ;;; 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 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix 2016-07-05 20:48 ` Roel Janssen @ 2016-07-05 21:20 ` Dennis Mungai 2016-07-05 21:43 ` Roel Janssen 2016-07-06 4:55 ` Ricardo Wurmus 1 sibling, 1 reply; 26+ messages in thread From: Dennis Mungai @ 2016-07-05 21:20 UTC (permalink / raw) To: Roel Janssen; +Cc: guix-devel, Guix-devel Roel, you may push. Also, I prefer the name Dennis Mungai. :-) On 5 July 2016 at 23:48, Roel Janssen <roel@gnu.org> 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 <dmngaie@gmail.com> > 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 <bavier@member.fsf.org> > ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> > ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> > +;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com> > +;;; Copyright © 2016 Pjotr Prins <pjotr.public12@thebird.nl> > +;;; Copyright © 2016 Roel Janssen <roel@gnu.org> > ;;; > ;;; 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 ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix 2016-07-05 21:20 ` Dennis Mungai @ 2016-07-05 21:43 ` Roel Janssen 0 siblings, 0 replies; 26+ messages in thread From: Roel Janssen @ 2016-07-05 21:43 UTC (permalink / raw) To: Dennis Mungai; +Cc: guix-devel, Guix-devel 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 <roel@gnu.org> 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 <dmngaie@gmail.com> >> 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 <bavier@member.fsf.org> >> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> >> ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> >> +;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com> >> +;;; Copyright © 2016 Pjotr Prins <pjotr.public12@thebird.nl> >> +;;; Copyright © 2016 Roel Janssen <roel@gnu.org> >> ;;; >> ;;; 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 ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix 2016-07-05 20:48 ` Roel Janssen 2016-07-05 21:20 ` Dennis Mungai @ 2016-07-06 4:55 ` Ricardo Wurmus 2016-07-06 11:54 ` Efraim Flashner 1 sibling, 1 reply; 26+ messages in thread From: Ricardo Wurmus @ 2016-07-06 4:55 UTC (permalink / raw) To: Roel Janssen; +Cc: guix-devel, Dennis Mungai, Guix-devel Roel Janssen <roel@gnu.org> writes: >From 451d93eaaab6166e38e33f0556fe40f83afefc5c Mon Sep 17 00:00:00 2001 > From: brainiarc7 <dmngaie@gmail.com> > 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. Please split this into two commits. One for adding the “license:” prefix, and another to add the new variables. Other than that it looks good to me. Thank you, Roel and Dennis! ~~ Ricardo ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix 2016-07-06 4:55 ` Ricardo Wurmus @ 2016-07-06 11:54 ` Efraim Flashner 2016-07-06 18:08 ` Eric Bavier 0 siblings, 1 reply; 26+ messages in thread From: Efraim Flashner @ 2016-07-06 11:54 UTC (permalink / raw) To: Ricardo Wurmus; +Cc: guix-devel, Dennis Mungai, Guix-devel [-- Attachment #1: Type: text/plain, Size: 936 bytes --] On Wed, Jul 06, 2016 at 06:55:56AM +0200, Ricardo Wurmus wrote: > > Roel Janssen <roel@gnu.org> writes: > > >>From 451d93eaaab6166e38e33f0556fe40f83afefc5c Mon Sep 17 00:00:00 2001 > > From: brainiarc7 <dmngaie@gmail.com> > > 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. > > Please split this into two commits. One for adding the “license:” > prefix, and another to add the new variables. > > Other than that it looks good to me. Thank you, Roel and Dennis! > > ~~ Ricardo > Do we want to change the default llvm and clang to 3.8 also? -- Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix 2016-07-06 11:54 ` Efraim Flashner @ 2016-07-06 18:08 ` Eric Bavier 2016-07-07 5:06 ` [PATCH 1/5] gnu: llvm: Update to 3.5.2 ericbavier 0 siblings, 1 reply; 26+ messages in thread From: Eric Bavier @ 2016-07-06 18:08 UTC (permalink / raw) To: Efraim Flashner; +Cc: guix-devel, Dennis Mungai, Guix-devel On 2016-07-06 06:54, Efraim Flashner wrote: > On Wed, Jul 06, 2016 at 06:55:56AM +0200, Ricardo Wurmus wrote: >> >> Roel Janssen <roel@gnu.org> writes: >> >> >>From 451d93eaaab6166e38e33f0556fe40f83afefc5c Mon Sep 17 00:00:00 2001 >> > From: brainiarc7 <dmngaie@gmail.com> >> > 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. >> >> Please split this into two commits. One for adding the “license:” >> prefix, and another to add the new variables. >> >> Other than that it looks good to me. Thank you, Roel and Dennis! >> >> ~~ Ricardo >> > > Do we want to change the default llvm and clang to 3.8 also? Yes, I think we should. And fix the fallout from that change. I have a few other issues with this patch: 1) It copy-pastes too much from the llvm package, rather than relying on a simple inherit like other versions. 2) It introduces cmake flags for things that are default, e.g. "-DLLVM_ENABLE_PIC=ON" 3) It uses the "-DCMAKE_BUILD_TYPE=Release" flag rather that our cmake-build-system's #:build-type keyword. 4) It adds libffi and zlib inputs. These are not strictly necessary for the build, so I would prefer they be added in a separate commit. Also, there's a missing "-DLLVM_ENABLE_FFI:BOOL=TRUE" flag, so the build system doesn't use the new input. 5) It doesn't also add a clang@3.8.0 package. While this could be done later, I'd prefer it be done at the same time, like previous llvm updates. I have been working on this update in parallel. I've incorporated some parts of this patch, and I'll post the series here soon. -- `~Eric ^ permalink raw reply [flat|nested] 26+ messages in thread
* [PATCH 1/5] gnu: llvm: Update to 3.5.2. 2016-07-06 18:08 ` Eric Bavier @ 2016-07-07 5:06 ` ericbavier 2016-07-07 5:06 ` [PATCH 2/5] gnu: llvm: Add "license:" prefix ericbavier ` (4 more replies) 0 siblings, 5 replies; 26+ messages in thread From: ericbavier @ 2016-07-07 5:06 UTC (permalink / raw) To: guix-devel; +Cc: Eric Bavier From: Eric Bavier <bavier@member.fsf.org> * gnu/packages/llvm.scm (llvm-3.5): Update to 3.5.2. --- gnu/packages/llvm.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index a2c33df..a26659f 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> ;;; @@ -187,7 +187,7 @@ code analysis tools.") (define-public llvm-3.5 (package (inherit llvm) - (version "3.5.0") + (version "3.5.2") (source (origin (method url-fetch) @@ -195,13 +195,13 @@ code analysis tools.") version "/llvm-" version ".src.tar.xz")) (sha256 (base32 - "00swb43mzlvda8306arlg2jw7g6k3acwfccgf1k4c2pgd3rrkq98")))))) + "0xf5q17kkxsrm2gsi93h4pwlv663kji73r2g4asb97klsmb626a4")))))) (define-public clang-runtime-3.5 (clang-runtime-from-llvm llvm-3.5 - "0dl1kbrhz96djsxqr61iw5h788s7ncfpfb7aayixky1bhdaydcx4")) + "1hsdnzzdr5kglz6fnv3lcsjs222zjsy14y8ax9dy6zqysanplbal")) (define-public clang-3.5 (clang-from-llvm llvm-3.5 clang-runtime-3.5 - "12yv3jwdjcbkrx7zjm8wh4jrvb59v8fdw4mnmz3zc1jb00p9k07w")) + "0846h8vn3zlc00jkmvrmy88gc6ql6014c02l4jv78fpvfigmgssg")) -- 2.7.4 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 2/5] gnu: llvm: Add "license:" prefix. 2016-07-07 5:06 ` [PATCH 1/5] gnu: llvm: Update to 3.5.2 ericbavier @ 2016-07-07 5:06 ` ericbavier 2016-07-07 5:06 ` [PATCH 3/5] gnu: llvm: Add libffi and zlib inputs ericbavier ` (3 subsequent siblings) 4 siblings, 0 replies; 26+ messages in thread From: ericbavier @ 2016-07-07 5:06 UTC (permalink / raw) To: guix-devel; +Cc: Eric Bavier From: Eric Bavier <bavier@member.fsf.org> * gnu/packages/llvm.scm: Import (guix licenses) with "license:" prefix. --- gnu/packages/llvm.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index a26659f..1af9568 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -20,7 +20,7 @@ (define-module (gnu packages llvm) #:use-module (guix packages) - #:use-module (guix licenses) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix download) #:use-module (guix utils) #:use-module (guix build-system gnu) @@ -64,7 +64,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 @@ -91,7 +91,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)))) @@ -174,7 +174,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 -- 2.7.4 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 3/5] gnu: llvm: Add libffi and zlib inputs. 2016-07-07 5:06 ` [PATCH 1/5] gnu: llvm: Update to 3.5.2 ericbavier 2016-07-07 5:06 ` [PATCH 2/5] gnu: llvm: Add "license:" prefix ericbavier @ 2016-07-07 5:06 ` ericbavier 2016-07-07 5:06 ` [PATCH 4/5] gnu: llvm: Update to 3.7.1 ericbavier ` (2 subsequent siblings) 4 siblings, 0 replies; 26+ messages in thread From: ericbavier @ 2016-07-07 5:06 UTC (permalink / raw) To: guix-devel; +Cc: Eric Bavier From: Eric Bavier <bavier@member.fsf.org> * gnu/packages/llvm.scm (llvm)[inputs]: Add libffi and zlib. [arguments]: Add cmake flag for libffi to #:configure-flags. Co-authored-by: Dennis Mungai <dmngaie@gmail.com> --- gnu/packages/llvm.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 1af9568..877c2df 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,8 @@ #:use-module (gnu packages) #:use-module (gnu packages gcc) #:use-module (gnu packages bootstrap) ;glibc-dynamic-linker + #:use-module (gnu packages compression) + #:use-module (gnu packages libffi) #:use-module (gnu packages perl) #:use-module (gnu packages python) #:use-module (gnu packages xml)) @@ -48,9 +51,13 @@ (native-inputs `(("python" ,python-wrapper) ("perl" ,perl))) + (inputs + `(("libffi" ,libffi) + ("zlib" ,zlib))) (arguments `(#:configure-flags '("-DCMAKE_SKIP_BUILD_RPATH=FALSE" - "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE") + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE" + "-DLLVM_ENABLE_FFI:BOOL=TRUE") ;; Do not build with -g. This reduces the ~13.78GiB disk required for ;; a build down to ~2.6GiB -- 2.7.4 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 4/5] gnu: llvm: Update to 3.7.1. 2016-07-07 5:06 ` [PATCH 1/5] gnu: llvm: Update to 3.5.2 ericbavier 2016-07-07 5:06 ` [PATCH 2/5] gnu: llvm: Add "license:" prefix ericbavier 2016-07-07 5:06 ` [PATCH 3/5] gnu: llvm: Add libffi and zlib inputs ericbavier @ 2016-07-07 5:06 ` ericbavier 2016-07-07 5:06 ` [PATCH 5/5] gnu: llvm: Update to 3.8.0 ericbavier 2016-07-11 8:28 ` [PATCH 1/5] gnu: llvm: Update to 3.5.2 Ludovic Courtès 4 siblings, 0 replies; 26+ messages in thread From: ericbavier @ 2016-07-07 5:06 UTC (permalink / raw) To: guix-devel; +Cc: Eric Bavier From: Eric Bavier <bavier@member.fsf.org> * gnu/packages/llvm.scm (llvm, clang-runtime, clang): Update to 3.7.1 (llvm-3.6, clang-runtime-3.6, clang-3.6): New variables. --- gnu/packages/llvm.scm | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 877c2df..a01c327 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -38,7 +38,7 @@ (define-public llvm (package (name "llvm") - (version "3.6.2") + (version "3.7.1") (source (origin (method url-fetch) @@ -46,10 +46,10 @@ version "/llvm-" version ".src.tar.xz")) (sha256 (base32 - "153vcvj8gvgwakzr4j0kndc0b7wn91c2g1vy2vg24s6spxcc23gn")))) + "1masakdp9g2dan1yrazg7md5am2vacbkb3nahb3dchpc1knr8xxy")))) (build-system cmake-build-system) (native-inputs - `(("python" ,python-wrapper) + `(("python" ,python-2) ;bytes->str conversion in clang>=3.7 needs python-2 ("perl" ,perl))) (inputs `(("libffi" ,libffi) @@ -186,10 +186,31 @@ code analysis tools.") (define-public clang-runtime (clang-runtime-from-llvm llvm - "11qx8d3pbfqjaj2x207pvlvzihbs1z2xbw4crpz7aid6h1yz6bqg")) + "10c1mz2q4bdq9bqfgr3dirc6hz1h3sq8573srd5q5lr7m7j6jiwx")) (define-public clang (clang-from-llvm llvm clang-runtime + "0x065d0w9b51xvdjxwfzjxng0gzpbx45fgiaxpap45ragi61dqjn")) + +(define-public llvm-3.6 + (package (inherit llvm) + (version "3.6.2") + (source + (origin + (method url-fetch) + (uri (string-append "http://llvm.org/releases/" + version "/llvm-" version ".src.tar.xz")) + (sha256 + (base32 + "153vcvj8gvgwakzr4j0kndc0b7wn91c2g1vy2vg24s6spxcc23gn")))))) + +(define-public clang-runtime-3.6 + (clang-runtime-from-llvm + llvm-3.6 + "11qx8d3pbfqjaj2x207pvlvzihbs1z2xbw4crpz7aid6h1yz6bqg")) + +(define-public clang-3.6 + (clang-from-llvm llvm-3.6 clang-runtime-3.6 "1wwr8s6lzr324hv4s1k6na4j5zv6n9kdhi14s4kb9b13d93814df")) (define-public llvm-3.5 -- 2.7.4 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 5/5] gnu: llvm: Update to 3.8.0. 2016-07-07 5:06 ` [PATCH 1/5] gnu: llvm: Update to 3.5.2 ericbavier ` (2 preceding siblings ...) 2016-07-07 5:06 ` [PATCH 4/5] gnu: llvm: Update to 3.7.1 ericbavier @ 2016-07-07 5:06 ` ericbavier 2016-07-11 8:28 ` [PATCH 1/5] gnu: llvm: Update to 3.5.2 Ludovic Courtès 4 siblings, 0 replies; 26+ messages in thread From: ericbavier @ 2016-07-07 5:06 UTC (permalink / raw) To: guix-devel; +Cc: Eric Bavier From: Eric Bavier <bavier@member.fsf.org> * gnu/packages/llvm.scm (llvm, clang-runtime, clang): Update to 3.8.0. (llvm-3.7, clang-runtime-3.7, clang-3.7): New variables. (clang-runtime-from-llvm)[arguments]: Disable tests, which were not being run for previous versions anyhow but now fail hard. (clang-from-llvm): Add #:patches keyword argument. * gnu/packages/patches/clang-3.8-libc-search-path.patch: New patch. * gnu/local.mk (dist_patch_DATA): Add it. Co-authored-by: Dennis Mungai <dmngaie@gmail.scm> --- gnu/local.mk | 1 + gnu/packages/llvm.scm | 37 +++++++++--- .../patches/clang-3.8-libc-search-path.patch | 69 ++++++++++++++++++++++ 3 files changed, 100 insertions(+), 7 deletions(-) create mode 100644 gnu/packages/patches/clang-3.8-libc-search-path.patch diff --git a/gnu/local.mk b/gnu/local.mk index 7dfda9b..f5bb3b4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -453,6 +453,7 @@ dist_patch_DATA = \ %D%/packages/patches/cdparanoia-fpic.patch \ %D%/packages/patches/chmlib-inttypes.patch \ %D%/packages/patches/clang-libc-search-path.patch \ + %D%/packages/patches/clang-3.8-libc-search-path.patch \ %D%/packages/patches/clucene-pkgconfig.patch \ %D%/packages/patches/cmake-fix-tests.patch \ %D%/packages/patches/cpio-gets-undeclared.patch \ diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index a01c327..78efee3 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -38,7 +38,7 @@ (define-public llvm (package (name "llvm") - (version "3.7.1") + (version "3.8.0") (source (origin (method url-fetch) @@ -46,7 +46,7 @@ version "/llvm-" version ".src.tar.xz")) (sha256 (base32 - "1masakdp9g2dan1yrazg7md5am2vacbkb3nahb3dchpc1knr8xxy")))) + "0ikfq0gxac8xpvxj23l4hk8f12ydx48fljgrz1gl9xp0ks704nsm")))) (build-system cmake-build-system) (native-inputs `(("python" ,python-2) ;bytes->str conversion in clang>=3.7 needs python-2 @@ -89,8 +89,8 @@ of programming tools as well as libraries with equivalent functionality.") `(("llvm" ,llvm))) (arguments `(;; Don't use '-g' during the build to save space. - #:build-type "Release")) - + #:build-type "Release" + #:tests? #f)) ; Tests require gtest (home-page "http://compiler-rt.llvm.org") (synopsis "Runtime library for Clang/LLVM") (description @@ -103,7 +103,8 @@ compiler. In LLVM this library is called \"compiler-rt\".") ;; <http://compiler-rt.llvm.org/> doesn't list MIPS as supported. (supported-systems (delete "mips64el-linux" %supported-systems)))) -(define (clang-from-llvm llvm clang-runtime hash) +(define* (clang-from-llvm llvm clang-runtime hash + #:key (patches '("clang-libc-search-path.patch"))) (package (name "clang") (version (package-version llvm)) @@ -113,7 +114,7 @@ compiler. In LLVM this library is called \"compiler-rt\".") (uri (string-append "http://llvm.org/releases/" version "/cfe-" version ".src.tar.xz")) (sha256 (base32 hash)) - (patches (search-patches "clang-libc-search-path.patch")))) + (patches (map search-patch patches)))) ;; Using cmake allows us to treat llvm as an external library. There ;; doesn't seem to be any way to do this with clang's autotools-based ;; build system. @@ -186,10 +187,32 @@ code analysis tools.") (define-public clang-runtime (clang-runtime-from-llvm llvm - "10c1mz2q4bdq9bqfgr3dirc6hz1h3sq8573srd5q5lr7m7j6jiwx")) + "1c2nkp9563873ffz22qmhc0wakgj428pch8rmhym8agjamz3ily8")) (define-public clang (clang-from-llvm llvm clang-runtime + "1ybcac8hlr9vl3wg8s4v6cp0c0qgqnwprsv85lihbkq3vqv94504" + #:patches '("clang-3.8-libc-search-path.patch"))) + +(define-public llvm-3.7 + (package (inherit llvm) + (version "3.7.1") + (source + (origin + (method url-fetch) + (uri (string-append "http://llvm.org/releases/" + version "/llvm-" version ".src.tar.xz")) + (sha256 + (base32 + "1masakdp9g2dan1yrazg7md5am2vacbkb3nahb3dchpc1knr8xxy")))))) + +(define-public clang-runtime-3.7 + (clang-runtime-from-llvm + llvm-3.7 + "10c1mz2q4bdq9bqfgr3dirc6hz1h3sq8573srd5q5lr7m7j6jiwx")) + +(define-public clang-3.7 + (clang-from-llvm llvm-3.7 clang-runtime-3.7 "0x065d0w9b51xvdjxwfzjxng0gzpbx45fgiaxpap45ragi61dqjn")) (define-public llvm-3.6 diff --git a/gnu/packages/patches/clang-3.8-libc-search-path.patch b/gnu/packages/patches/clang-3.8-libc-search-path.patch new file mode 100644 index 0000000..0f7d0a4 --- /dev/null +++ b/gnu/packages/patches/clang-3.8-libc-search-path.patch @@ -0,0 +1,69 @@ +Clang attempts to guess file names based on the OS and distro (yes!), +but unfortunately, that doesn't work for us. + +This patch makes it easy to insert libc's $libdir so that Clang passes the +correct absolute file name of crt1.o etc. to 'ld'. It also disables all +the distro-specific stuff and removes the hard-coded FHS directory names +to make sure Clang also works on non-GuixSD systems. + +This patch makes slight adjustments over "clang-libc-search-path.patch" for +changes in clang 3.8. + +--- cfe-3.8.0.src/lib/Driver/ToolChains.cpp ++++ cfe-3.8.0.src/lib/Driver/ToolChains.cpp +@@ -3661,6 +3661,9 @@ + GCCInstallation.getTriple().str() + "/bin") + .str()); + ++ // Comment out the distro-specific tweaks so that they don't bite when ++ // using Guix on a foreign distro. ++#if 0 + Distro Distro = DetectDistro(D, Arch); + + if (IsOpenSUSE(Distro) || IsUbuntu(Distro)) { +@@ -3702,6 +3705,7 @@ + + if (IsOpenSUSE(Distro)) + ExtraOpts.push_back("--enable-new-dtags"); ++#endif + + // The selection of paths to try here is designed to match the patterns which + // the GCC driver itself uses, as this is part of the GCC-compatible driver. +@@ -3771,14 +3775,12 @@ + addPathIfExists(D, D.Dir + "/../" + OSLibDir, Paths); + } + +- addPathIfExists(D, SysRoot + "/lib/" + MultiarchTriple, Paths); +- addPathIfExists(D, SysRoot + "/lib/../" + OSLibDir, Paths); +- addPathIfExists(D, SysRoot + "/usr/lib/" + MultiarchTriple, Paths); +- addPathIfExists(D, SysRoot + "/usr/lib/../" + OSLibDir, Paths); +- + // Try walking via the GCC triple path in case of biarch or multiarch GCC + // installations with strange symlinks. + if (GCCInstallation.isValid()) { ++ // The following code would end up adding things like ++ // "/usr/lib/x86_64-unknown-linux-gnu/../../lib64" to the search path. ++#if 0 + addPathIfExists(D, + SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() + + "/../../" + OSLibDir, +@@ -3791,6 +3793,7 @@ + BiarchSibling.gccSuffix(), + Paths); + } ++#endif + + // See comments above on the multilib variant for details of why this is + // included even from outside the sysroot. +@@ -3815,8 +3818,9 @@ + if (StringRef(D.Dir).startswith(SysRoot)) + addPathIfExists(D, D.Dir + "/../lib", Paths); + +- addPathIfExists(D, SysRoot + "/lib", Paths); +- addPathIfExists(D, SysRoot + "/usr/lib", Paths); ++ // Add libc's lib/ directory to the search path, so that crt1.o, crti.o, ++ // and friends can be found. ++ addPathIfExists(D, "@GLIBC_LIBDIR@", Paths); + } + + bool Linux::HasNativeLLVMSupport() const { return true; } -- 2.7.4 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* Re: [PATCH 1/5] gnu: llvm: Update to 3.5.2. 2016-07-07 5:06 ` [PATCH 1/5] gnu: llvm: Update to 3.5.2 ericbavier ` (3 preceding siblings ...) 2016-07-07 5:06 ` [PATCH 5/5] gnu: llvm: Update to 3.8.0 ericbavier @ 2016-07-11 8:28 ` Ludovic Courtès 4 siblings, 0 replies; 26+ messages in thread From: Ludovic Courtès @ 2016-07-11 8:28 UTC (permalink / raw) To: ericbavier; +Cc: guix-devel, Eric Bavier Hi! The whole patch series LGTM, Eric. Thanks for taking the time to polish it! Ludo’. ^ permalink raw reply [flat|nested] 26+ messages in thread
end of thread, other threads:[~2016-07-11 8:29 UTC | newest] Thread overview: 26+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-05-26 19:45 [PATCH]:Resend: Add LLVM, clang and clang-runtime-3.8 to GNU Guix Dennis Mungai 2016-05-26 20:13 ` Roel Janssen 2016-05-26 20:44 ` Dennis Mungai 2016-05-27 14:09 ` Eric Bavier 2016-05-27 15:07 ` Dennis Mungai 2016-05-28 9:22 ` Roel Janssen 2016-05-28 15:30 ` Ludovic Courtès 2016-05-30 22:39 ` Dennis Mungai 2016-06-10 15:42 ` Ludovic Courtès 2016-06-10 16:38 ` Pjotr Prins 2016-06-12 10:17 ` Dennis Mungai 2016-06-12 16:30 ` Ludovic Courtès 2016-06-30 18:15 ` Dennis Mungai 2016-06-30 20:44 ` Dennis Mungai 2016-07-05 20:48 ` Roel Janssen 2016-07-05 21:20 ` Dennis Mungai 2016-07-05 21:43 ` Roel Janssen 2016-07-06 4:55 ` Ricardo Wurmus 2016-07-06 11:54 ` Efraim Flashner 2016-07-06 18:08 ` Eric Bavier 2016-07-07 5:06 ` [PATCH 1/5] gnu: llvm: Update to 3.5.2 ericbavier 2016-07-07 5:06 ` [PATCH 2/5] gnu: llvm: Add "license:" prefix ericbavier 2016-07-07 5:06 ` [PATCH 3/5] gnu: llvm: Add libffi and zlib inputs ericbavier 2016-07-07 5:06 ` [PATCH 4/5] gnu: llvm: Update to 3.7.1 ericbavier 2016-07-07 5:06 ` [PATCH 5/5] gnu: llvm: Update to 3.8.0 ericbavier 2016-07-11 8:28 ` [PATCH 1/5] gnu: llvm: Update to 3.5.2 Ludovic Courtès
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).