summaryrefslogtreecommitdiff
path: root/gnu/packages/maths.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/maths.scm')
-rw-r--r--gnu/packages/maths.scm169
1 files changed, 97 insertions, 72 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 628b967eff..7f504fa52b 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -26,7 +26,7 @@
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
;;; Copyright © 2018 Nadya Voronova <voronovank@gmail.com>
;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com>
-;;; Copyright © 2018, 2020 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2018, 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2018 Eric Brown <brown@fastmail.com>
;;; Copyright © 2018, 2021 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018 Amin Bandali <bandali@gnu.org>
@@ -140,6 +140,7 @@
#:use-module (gnu packages tbb)
#:use-module (gnu packages scheme)
#:use-module (gnu packages shells)
+ #:use-module (gnu packages sphinx)
#:use-module (gnu packages tcl)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tex)
@@ -339,8 +340,8 @@ programming language.")
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(wrap-program (string-append bin "/units_cur")
- `("PYTHONPATH" ":" prefix
- ,(search-path-as-string->list (getenv "PYTHONPATH"))))
+ `("GUIX_PYTHONPATH" ":" prefix
+ ,(search-path-as-string->list (getenv "GUIX_PYTHONPATH"))))
#t))))))
(synopsis "Conversion between thousands of scales")
(description
@@ -489,35 +490,38 @@ precision floating point numbers.")
(build-system gnu-build-system)
(arguments
(let ((system (%current-system)))
- (cond
- ((or (string-prefix? "aarch64" system)
- (string-prefix? "powerpc" system))
- ;; Some sparse matrix tests are failing on AArch64 and PowerPC:
- ;; https://lists.gnu.org/archive/html/bug-gsl/2020-04/msg00001.html
- '(#:phases (modify-phases %standard-phases
- (add-before 'check 'disable-failing-tests
- (lambda _
- (substitute* "spmatrix/test.c"
- ((".*test_complex.*") "\n"))
- #t)))))
- ((string-prefix? "i686" system)
- ;; There are rounding issues with these tests on i686:
- ;; https://lists.gnu.org/archive/html/bug-gsl/2016-10/msg00000.html
- ;; https://lists.gnu.org/archive/html/bug-gsl/2020-04/msg00000.html
- '(#:phases (modify-phases %standard-phases
- (add-before 'check 'disable-failing-tests
- (lambda _
- (substitute* "linalg/test.c"
- ((".*gsl_test\\(test_LU_decomp.*") "\n")
- ((".*gsl_test\\(test_LUc_decomp.*") "\n")
- ((".*gsl_test\\(test_cholesky_decomp.*") "\n")
- ((".*gsl_test\\(test_COD_lssolve2.*") "\n"))
- (substitute* "spmatrix/test.c"
- ((".*test_all.*") "\n")
- ((".*test_float.*") "\n")
- ((".*test_complex.*") "\n"))
- #t)))))
- (else '()))))
+ `(#:configure-flags (list "--disable-static") ;halves package size
+ #:phases
+ (modify-phases %standard-phases
+ ,@(cond
+ ((or (string-prefix? "aarch64" system)
+ (string-prefix? "powerpc" system))
+ ;; Some sparse matrix tests are failing on AArch64 and PowerPC:
+ ;; https://lists.gnu.org/archive/html/bug-gsl/2020-04/msg00001.html
+ '((add-before 'check 'disable-failing-tests
+ (lambda _
+ (substitute* "spmatrix/test.c"
+ ((".*test_complex.*") "\n"))
+ #t))))
+
+ ((string-prefix? "i686" system)
+ ;; There are rounding issues with these tests on i686:
+ ;; https://lists.gnu.org/archive/html/bug-gsl/2016-10/msg00000.html
+ ;; https://lists.gnu.org/archive/html/bug-gsl/2020-04/msg00000.html
+ '((add-before 'check 'disable-failing-tests
+ (lambda _
+ (substitute* "linalg/test.c"
+ ((".*gsl_test\\(test_LU_decomp.*") "\n")
+ ((".*gsl_test\\(test_LUc_decomp.*") "\n")
+ ((".*gsl_test\\(test_cholesky_decomp.*") "\n")
+ ((".*gsl_test\\(test_COD_lssolve2.*") "\n"))
+ (substitute* "spmatrix/test.c"
+ ((".*test_all.*") "\n")
+ ((".*test_float.*") "\n")
+ ((".*test_complex.*") "\n"))
+ #t))))
+
+ (else '()))))))
(home-page "https://www.gnu.org/software/gsl/")
(synopsis "Numerical library for C and C++")
(description
@@ -2091,7 +2095,7 @@ script files.")
,@(package-inputs octave-cli)))
(native-inputs
`(("qttools" , qttools) ;for lrelease
- ("texlive" ,(texlive-union (list texlive-epsf))) ; for texi2dvi
+ ("texlive" ,(texlive-updmap.cfg (list texlive-epsf))) ; for texi2dvi
,@(package-native-inputs octave-cli)))
(arguments
(substitute-keyword-arguments (package-arguments octave-cli)
@@ -3833,16 +3837,17 @@ parts of it.")
(define-public openblas
(package
(name "openblas")
- (version "0.3.9")
+ (version "0.3.13")
(source
(origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/openblas/v" version "/OpenBLAS%20"
- version "%20version.tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xianyi/OpenBLAS")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "14iz9xnrb9xiwgj84j94mc74gg0zn2vsy9fmsijxxma1n7dck4w3"))))
+ "14jxh0v3jfbw4mfjx4mcz4dd51lyq7pqvh9k8dg94539ypzjr2lj"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -4191,6 +4196,7 @@ packages.")
(method url-fetch)
(uri (string-append "mirror://sourceforge/math-atlas/Stable/"
version "/atlas" version ".tar.bz2"))
+ (patches (search-patches "atlas-gfortran-compat.patch"))
(sha256
(base32
"1dyjlq3fiparvm8ypwk6rsmjzmnwk81l88gkishphpvc79ryp216"))))
@@ -4688,7 +4694,7 @@ set.")
(define-public hypre
(package
(name "hypre")
- (version "2.15.1")
+ (version "2.20.0")
(source
(origin
(method git-fetch)
@@ -4697,28 +4703,55 @@ set.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1lvh4ybqkriyqfg2zmic6mrg1981qv1i9vry1fdgsabn81hb71g4"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Remove use of __DATE__ and __TIME__ for reproducibility;
- ;; substitute the release date.
- (substitute* "src/utilities/HYPRE_utilities.h"
- (("Date Compiled: .*$")
- "Date Compiled: Oct 19 2018 15:23:00 +0000\"\n"))
- #t))))
+ (base32 "14iqjwg5sv1qjn7c2cfv0xxmn9rwamjrhh9hgs8fjbywcbvrkjdi"))))
(build-system gnu-build-system)
- (outputs '("out" ; 6.1 MiB of headers and libraries
- "doc")) ; 4.8 MiB of documentation
+ (outputs '("out" ;5.3 MiB of headers and libraries
+ "doc")) ;12 MiB of documentation
(native-inputs
`(("doc++" ,doc++)
- ("netpbm" ,netpbm)
- ("perl" ,perl) ; needed to run 'ppmquant' during tests
- ("texlive" ,(texlive-union (list texlive-xypic
- texlive-cm
- texlive-latex-hyperref
- texlive-bibtex)))
- ("ghostscript" ,ghostscript)))
+ ("doxygen" ,doxygen)
+ ("python" ,python)
+ ("python-breathe" ,python-breathe)
+ ("python-sphinx" ,python-sphinx)
+ ("texlive" ,(texlive-updmap.cfg (list texlive-adjustbox
+ texlive-amsfonts
+ texlive-bibtex
+ texlive-caption
+ texlive-cm
+ texlive-etoolbox
+ texlive-jknappen
+ texlive-sectsty
+ texlive-tex-gyre
+ texlive-wasy
+ texlive-xcolor
+ texlive-xypic
+ texlive-generic-listofitems
+ texlive-generic-ulem
+ texlive-latex-capt-of
+ texlive-latex-cmap
+ texlive-latex-colortbl
+ texlive-latex-etoc
+ texlive-latex-fancyhdr
+ texlive-latex-fancyvrb
+ texlive-latex-float
+ texlive-latex-fncychap
+ texlive-latex-framed
+ texlive-latex-geometry
+ texlive-latex-hanging
+ texlive-latex-hyperref
+ texlive-latex-multirow
+ texlive-latex-natbib
+ texlive-latex-needspace
+ texlive-latex-newunicodechar
+ texlive-latex-parskip
+ texlive-latex-stackengine
+ texlive-latex-tabulary
+ texlive-latex-titlesec
+ texlive-latex-tocloft
+ texlive-latex-upquote
+ texlive-latex-varwidth
+ texlive-latex-wasysym
+ texlive-latex-wrapfig)))))
(inputs
`(("blas" ,openblas)
("lapack" ,lapack)))
@@ -4734,12 +4767,6 @@ set.")
"--with-blas")
#:phases
(modify-phases %standard-phases
- (add-before 'build 'set-HOME
- (lambda _
- ;; FIXME: texlive-union does not find the built
- ;; metafonts, so it tries to generate them in HOME.
- (setenv "HOME" "/tmp")
- #t))
(add-before 'configure 'chdir-src
(lambda _ (chdir "src")))
(replace 'configure
@@ -4754,7 +4781,7 @@ set.")
configure-flags)))))))
(add-after 'build 'build-docs
(lambda _
- (invoke "make" "-Cdocs" "pdf" "html")))
+ (invoke "make" "-C" "docs")))
(replace 'check
(lambda _
(setenv "LD_LIBRARY_PATH" (string-append (getcwd) "/hypre/lib"))
@@ -4765,8 +4792,7 @@ set.")
(when (positive? size)
(error (format #f "~a size ~d; error indication~%"
filename size)))))
- (find-files "test" ".*\\.err$"))
- #t))
+ (find-files "test" ".*\\.err$"))))
(add-after 'install 'install-docs
(lambda* (#:key outputs #:allow-other-keys)
;; Custom install because docs/Makefile doesn't honor ${docdir}.
@@ -4775,10 +4801,9 @@ set.")
(with-directory-excursion "docs"
(for-each (lambda (base)
(install-file (string-append base ".pdf") docdir)
- (copy-recursively base docdir)) ; html docs
- '("HYPRE_usr_manual"
- "HYPRE_ref_manual")))
- #t))))))
+ (copy-recursively (string-append base "-html")
+ (string-append docdir "/" base)))
+ '("usr-manual" "ref-manual")))))))))
(home-page "https://computing.llnl.gov/projects\
/hypre-scalable-linear-solvers-multigrid-methods")
(synopsis "Library of solvers and preconditioners for linear equations")