gnu: sbcl: Enable sb-gmp, sb-mpfr and install shared library.
* gnu/packages/lisp.scm (sbcl)[inputs]: Add gmp, mpfr. [arguments]: Fix shared library makefile. Fix contrib references to gmp and mpfr. Add phase to build shared library. Add phase to install shared library.master
parent
a3d65bd247
commit
0eac11139a
|
@ -457,7 +457,9 @@ an interpreter, a compiler, a debugger, and much more.")
|
|||
(texlive-updmap.cfg (list texlive-tex-texinfo))
|
||||
which))
|
||||
(inputs
|
||||
(list (list zstd "lib")))
|
||||
(list gmp ; for sb-gmp
|
||||
mpfr ; for sb-mpfr
|
||||
(list zstd "lib")))
|
||||
(arguments
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
|
@ -539,6 +541,20 @@ an interpreter, a compiler, a debugger, and much more.")
|
|||
(("\\(deftest grent\\.[12]" all)
|
||||
(string-append "#+nil ;disabled by Guix\n" all))))
|
||||
#t))
|
||||
(add-before 'build 'fix-shared-library-makefile
|
||||
(lambda _
|
||||
(substitute* '("src/runtime/GNUmakefile")
|
||||
((" cc") " $(CC)"))
|
||||
#t))
|
||||
(add-before 'build 'fix-contrib-library-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((gmp (assoc-ref inputs "gmp"))
|
||||
(mpfr (assoc-ref inputs "mpfr")))
|
||||
(substitute* '("contrib/sb-gmp/gmp.lisp")
|
||||
(("\"libgmp\\.so") (string-append "\"" gmp "/lib/libgmp.so")))
|
||||
(substitute* '("contrib/sb-mpfr/mpfr.lisp")
|
||||
(("\"libmpfr\\.so") (string-append "\"" mpfr "/lib/libmpfr.so"))))
|
||||
#t))
|
||||
(replace 'build
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(setenv "CC" "gcc")
|
||||
|
@ -552,6 +568,10 @@ an interpreter, a compiler, a debugger, and much more.")
|
|||
"--dynamic-space-size=3072"
|
||||
"--with-sb-core-compression"
|
||||
"--with-sb-xref-for-internals")))
|
||||
(add-after 'build 'build-shared-library
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(setenv "CC" "gcc")
|
||||
(invoke "sh" "make-shared-library.sh")))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(invoke "sh" "install.sh")))
|
||||
|
@ -584,6 +604,12 @@ an interpreter, a compiler, a debugger, and much more.")
|
|||
(string-append "(sb-ext:set-sbcl-source-location \""
|
||||
source-dir "\")") )))
|
||||
#t)))
|
||||
(add-after 'install 'install-shared-library
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lib-dir (string-append out "/lib")))
|
||||
(install-file "src/runtime/libsbcl.so" lib-dir)
|
||||
#t)))
|
||||
(add-after 'install 'install-doc
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
|
|
Reference in New Issue