gnu: Parameterize libgccjit.
* gnu/packages/gcc.scm (make-libgccjit): New variable. (libgccjit): Define in terms of make-libgccjit.master
parent
1da91705b0
commit
bf33a77ea7
|
@ -968,31 +968,33 @@ as the 'native-search-paths' field."
|
|||
(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 @@ It can also be used for ahead-of-time code generation for building standalone
|
|||
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)))
|
||||
|
|
Reference in New Issue