[bug#55901,v2] gnu: Add lis.

Message ID 9183f2cc94079fd5afda6b700459b3d91fccddc3.1742983831.git.liliana.prikler@gmail.com
State New
Headers
Series [bug#55901,v2] gnu: Add lis. |

Commit Message

Liliana Marie Prikler June 11, 2022, 7:49 a.m. UTC
  * gnu/packages/maths.scm (lis): New variable.
---
Hi Andreas,

thanks for looking into this.  It's not been in my focus for a while,
because I'm not dealing with linear algebra daily, but given that the
package still sees development, I think it's worthwile to be included
in Guix.

I've updated the version and kept everything else about the package the
same.  Tests still run fine on my machine.

Cheers

 gnu/packages/maths.scm | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)


base-commit: dbef60edb356246855ad6749936ee511fc1a9b4b
  

Patch

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 8baf3a0a7f..27c30f223e 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1198,6 +1198,46 @@  (define-public lapack
                                 "See LICENSE in the distribution."))
     (properties '((tunable? . #t)))))
 
+(define-public lis
+  (package
+   (name "lis")
+   (version "2.1.8")
+   (source (origin
+            (method url-fetch)
+            (uri (string-append "https://www.ssisc.org/lis/dl/lis-"
+                                version ".zip"))
+            (sha256
+             (base32 "0nh2593xkcdv1c3gmj7i64ca393nn0ngqfl522yiwbidh9dvd1nl"))))
+   (build-system gnu-build-system)
+   (arguments
+    (list
+     #:configure-flags #~(list "--enable-fortran"
+                               "--enable-f90"
+                               "--enable-openmp"
+                               "--enable-complex"
+                               "--disable-sse2" ;; XXX: tuning
+                               "--enable-shared")
+     #:phases
+     #~(modify-phases %standard-phases
+         (add-after 'install 'install-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (docdir (string-append out "/share/doc/lis-" #$version))
+                    (mandir (string-append out "/share/man")))
+
+               (copy-recursively "doc/man" mandir)
+               ;; TODO: Build the manuals ourselves
+               (install-file "doc/lis-ug-en.pdf" docdir)
+               (install-file "doc/lis-ug-ja.pdf" docdir)))))))
+   (inputs (list openmpi))
+   (native-inputs (list gfortran unzip))
+   (home-page "https://www.ssisc.org/lis")
+   (synopsis "Solve discretized linear equations and eigenvalue problems")
+   (description "Lis is a parallel software library for solving discretized
+linear equations and eigenvalue problems that arise in the numerical solution
+of partial differential equations using iterative methods.")
+   (license license:bsd-3)))
+
 (define-public clapack
   (package
     (name "clapack")