summaryrefslogtreecommitdiff
path: root/gnu/packages/lisp-xyz.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/lisp-xyz.scm')
-rw-r--r--gnu/packages/lisp-xyz.scm63
1 files changed, 63 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index ed3f172bc4..7627a2aede 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -53,6 +53,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages libffi)
#:use-module (gnu packages lisp)
+ #:use-module (gnu packages maths)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
@@ -7539,3 +7540,65 @@ computer known.")
(define-public cl-science-data
(sbcl-package->cl-source-package sbcl-science-data))
+
+(define-public sbcl-gsll
+ (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
+ (revision "1"))
+ (package
+ (name "sbcl-gsll")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.common-lisp.net/antik/gsll.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("lisp-unit" ,sbcl-lisp-unit)))
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("cffi-grovel" ,sbcl-cffi-grovel)
+ ("cffi-libffi" ,sbcl-cffi-libffi)
+ ("foreign-array" ,sbcl-foreign-array)
+ ("gsl" ,gsl)
+ ("metabang-bind" ,sbcl-metabang-bind)
+ ("trivial-features" ,sbcl-trivial-features)
+ ("trivial-garbage" ,sbcl-trivial-garbage)))
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-cffi-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "gsll.asd"
+ ((":depends-on \\(#:foreign-array")
+ ":depends-on (#:foreign-array #:cffi-libffi"))
+ (substitute* "init/init.lisp"
+ (("libgslcblas.so" all)
+ (string-append
+ (assoc-ref inputs "gsl") "/lib/" all)))
+ (substitute* "init/init.lisp"
+ (("libgsl.so" all)
+ (string-append
+ (assoc-ref inputs "gsl") "/lib/" all))))))))
+ (synopsis "GNU Scientific Library for Lisp")
+ (description
+ "The GNU Scientific Library for Lisp (GSLL) allows the use of the
+GNU Scientific Library (GSL) from Common Lisp. This library provides a
+full range of common mathematical operations useful to scientific and
+engineering applications. The design of the GSLL interface is such
+that access to most of the GSL library is possible in a Lisp-natural
+way; the intent is that the user not be hampered by the restrictions
+of the C language in which GSL has been written. GSLL thus provides
+interactive use of GSL for getting quick answers, even for someone not
+intending to program in Lisp.")
+ (home-page "https://common-lisp.net/project/gsll/")
+ (license license:gpl3))))
+
+(define-public cl-gsll
+ (sbcl-package->cl-source-package sbcl-gsll))