Subject: [PATCH WIP] gnu: Add lis.

From: Liliana Marie Prikler <[email-masked]>
Date: Sat, 11 Jun 2022 09:49:23 +0200

* gnu/packages/maths.scm (lis): New variable.
---
 gnu/packages/maths.scm | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 83f0a1810b..551b58e3f6 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -934,6 +934,46 @@ (define-public lapack
     (license (license:non-copyleft "file://LICENSE"
                                 "See LICENSE in the distribution."))))
 
+(define-public lis
+  (package
+   (name "lis")
+   (version "2.0.34")
+   (source (origin
+            (method url-fetch)
+            (uri (string-append "https://www.ssisc.org/lis/dl/lis-"
+                                version ".zip"))
+            (sha256
+             (base32 "0wnsvy75rcxgy0afckyr9bi4hfrk0wsqczw5az95afd9j8ymj5pj"))))
+   (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")
-- 
2.36.1