summary refs log tree commit diff
path: root/gnu/packages/lisp-xyz.scm
diff options
context:
space:
mode:
authorMichal Atlas <michal_atlas+git@posteo.net>2024-01-28 15:46:20 +0100
committerGuillaume Le Vaillant <glv@posteo.net>2024-01-28 15:47:31 +0100
commitdce2515eb5b62033c5078ce6d146d096cf34e083 (patch)
tree1a8bb48e69a86c33c6f2427597496ca7190b4566 /gnu/packages/lisp-xyz.scm
parent51e9f4bd99f85dcf4e71dce1945b4d6188882085 (diff)
downloadguix-dce2515eb5b62033c5078ce6d146d096cf34e083.tar.gz
gnu: Add cl-magicl.
* gnu/packages/lisp-xyz.scm (cl-magicl, sbcl-magicl): New variables.

Co-authored-by: Guillaume Le Vaillant <glv@posteo.net>
Change-Id: Ib243badfd37369f50e9c86b47ebc2872ff25cfd5
Diffstat (limited to 'gnu/packages/lisp-xyz.scm')
-rw-r--r--gnu/packages/lisp-xyz.scm46
1 files changed, 46 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 74dd8dd66f..83c8a970b9 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -88,6 +88,7 @@
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages game-development)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
@@ -20802,6 +20803,51 @@ permutation groups.")
 (define-public cl-permutation
   (sbcl-package->cl-source-package sbcl-cl-permutation))
 
+(define-public sbcl-magicl
+  (package
+    (name "sbcl-magicl")
+    (version "0.9.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/quil-lang/magicl")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name "cl-magicl" version))
+       (sha256
+        (base32 "0x9p55qin399jhr5md88nij8fv78b64xjhww7ys364pkjnx8ak9v"))))
+    (build-system asdf-build-system/sbcl)
+    (native-inputs (list gfortran sbcl-fiasco))
+    (inputs
+     (list lapack
+           sbcl-alexandria
+           sbcl-abstract-classes
+           sbcl-cffi
+           sbcl-interface
+           sbcl-policy-cond
+           sbcl-static-vectors
+           sbcl-trivial-garbage))
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'fix-paths
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* "src/extensions/blas/load-libs.lisp"
+                (("libblas.so")
+                 (search-input-file inputs "/lib/libblas.so")))
+              (substitute* "src/extensions/lapack/load-libs.lisp"
+                (("liblapack.so")
+                 (search-input-file inputs "/lib/liblapack.so"))))))))
+    (synopsis "Matrix Algebra proGrams In Common Lisp")
+    (description
+     "This package provides matrix algebra functions for Common Lisp.")
+    (home-page "https://github.com/quil-lang/magicl")
+    (license license:bsd-3)))
+
+(define-public cl-magicl
+  (sbcl-package->cl-source-package sbcl-magicl))
+
 (define-public sbcl-messagebox
   (let ((commit "ea3688d9a9954bee7079c0173bc7b3f327021e9f")
         (revision "1"))