diff options
author | Pierre Neidhardt <mail@ambrevar.xyz> | 2022-06-30 18:58:25 +0200 |
---|---|---|
committer | Pierre Neidhardt <mail@ambrevar.xyz> | 2022-06-30 20:01:37 +0200 |
commit | 0eac11139a770703399751ea092419909203a8a8 (patch) | |
tree | cedc3b9e9ec09cb65320a3621208805a53287af1 /gnu | |
parent | a3d65bd2470c8a52ae2f40a37de91d051aef46e2 (diff) | |
download | guix-0eac11139a770703399751ea092419909203a8a8.tar guix-0eac11139a770703399751ea092419909203a8a8.tar.gz |
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.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/lisp.scm | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index d59f11865b..af65d9327f 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -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")) |