diff options
author | Kei Kebreau <kei@openmailbox.org> | 2017-07-08 17:36:29 -0400 |
---|---|---|
committer | Kei Kebreau <kei@openmailbox.org> | 2017-07-25 07:58:06 -0400 |
commit | 5ea8dbf0c906d51779ba0cf775ec9967f5f42382 (patch) | |
tree | 0fc668ad34ad82cb7d49048d84517ea3a5d7ff9b /gnu | |
parent | ebc9f7050c6912b015395e020fe6a07b0369e3a8 (diff) | |
download | guix-5ea8dbf0c906d51779ba0cf775ec9967f5f42382.tar.gz |
gnu: gcl: Ensure gcc and binutils are available at runtime.
* gnu/packages/lisp.scm (gcl)[arguments]: Add -fgnu89-inline to CFLAGS. Add GCC path to make-flags. Modify 'pre-conf' phase. Add 'wrap' phase.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/lisp.scm | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index e92ae2ebfe..224cea56f6 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -88,6 +88,10 @@ `(#:parallel-build? #f ; The build system seems not to be thread safe. #:tests? #f ; There does not seem to be make check or anything similar. #:configure-flags '("--enable-ansi") ; required for use by the maxima package + #:make-flags (list + "CFLAGS=-fgnu89-inline" ; removes inline function warnings + (string-append "GCC=" (assoc-ref %build-inputs "gcc") + "/bin/gcc")) #:phases (modify-phases %standard-phases (add-before 'configure 'pre-conf (lambda _ @@ -104,6 +108,27 @@ (string-append "SHELL=" (which "bash"))) (("SHELL=/bin/sh") (string-append "SHELL=" (which "sh")))) + (substitute* "h/linux.defs" + (("#CC") "CC") + (("-fwritable-strings") "") + (("-Werror") "")) + #t)) + (add-after 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((gcl (assoc-ref outputs "out")) + (input-path (lambda (lib path) + (string-append + (assoc-ref inputs lib) path))) + (binaries '("binutils"))) + ;; GCC and the GNU binutils are necessary for GCL to be + ;; able to compile Lisp functions and programs (this is + ;; a standard feature in Common Lisp). While the + ;; the location of GCC is specified in the make-flags, + ;; the GNU binutils must be available in GCL's $PATH. + (wrap-program (string-append gcl "/bin/gcl") + `("PATH" prefix ,(map (lambda (binary) + (input-path binary "/bin")) + binaries)))) #t)) ;; drop strip phase to make maxima build, see ;; https://www.ma.utexas.edu/pipermail/maxima/2008/009769.html |