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 <dmng...@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 <bav...@member.fsf.org> ;;; Copyright © 2015 Mark H Weaver <m...@netris.org> ;;; Copyright © 2015 Ludovic Courtès <l...@gnu.org> +;;; Copyright © 2016 Dennis Mungai <dmng...@gmail.com> +;;; Copyright © 2016 Pjotr Prins <pjotr.publi...@thebird.nl> +;;; Copyright © 2016 Roel Janssen <r...@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