From bf33a77ea784cd21e7b1a283c98c2fa76dec1f43 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Fri, 5 Aug 2022 05:29:58 +0200 Subject: gnu: Parameterize libgccjit. * gnu/packages/gcc.scm (make-libgccjit): New variable. (libgccjit): Define in terms of make-libgccjit. --- gnu/packages/gcc.scm | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) (limited to 'gnu/packages/gcc.scm') diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 11ee631bf4..dd480e930d 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -968,31 +968,33 @@ (define-public gdc-11 (custom-gcc gcc-11 "gdc" '("d") %generic-search-paths))) -(define-public libgccjit +(define-public (make-libgccjit gcc) (package - (inherit gcc-9) + (inherit gcc) (name "libgccjit") (outputs (delete "lib" (package-outputs gcc))) (properties (alist-delete 'hidden? (package-properties gcc))) (arguments - (substitute-keyword-arguments `(#:modules ((guix build gnu-build-system) - (guix build utils) - (ice-9 regex) - (srfi srfi-1) - (srfi srfi-26)) - ,@(package-arguments gcc)) + (substitute-keyword-arguments (package-arguments gcc) + ((#:modules _ '()) + '((guix build gnu-build-system) + (guix build utils) + (ice-9 regex) + (srfi srfi-1) + (srfi srfi-26))) ((#:configure-flags flags) - `(append `("--enable-host-shared" - ,(string-append "--enable-languages=jit")) + #~(cons* "--enable-host-shared" + "--enable-languages=jit" (remove (cut string-match "--enable-languages.*" <>) - ,flags))) + #$flags))) ((#:phases phases) - `(modify-phases ,phases - (add-after 'install 'remove-broken-or-conflicting-files - (lambda* (#:key outputs #:allow-other-keys) - (for-each delete-file - (find-files (string-append (assoc-ref outputs "out") "/bin") - ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)")))))))) + #~(modify-phases #$phases + (add-after 'install 'remove-broken-or-conflicting-files + (lambda* (#:key outputs #:allow-other-keys) + (for-each delete-file + (find-files + (string-append (assoc-ref outputs "out") "/bin") + ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)")))))))) (synopsis "GCC library generating machine code on-the-fly at runtime") (description "This package is part of the GNU Compiler Collection and provides an @@ -1003,6 +1005,8 @@ (define-public libgccjit compilers. The just-in-time (jit) part of the name is now something of a misnomer."))) +(define-public libgccjit (make-libgccjit gcc-9)) + (define (make-gccgo gcc) "Return a gccgo package based on GCC." (let ((gccgo (custom-gcc gcc "gccgo" '("go") %generic-search-paths))) -- cgit v1.2.3