aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/maths.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/maths.scm')
-rw-r--r--gnu/packages/maths.scm156
1 files changed, 116 insertions, 40 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index ab3b4458b2..fe9d59b69a 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -22,7 +22,7 @@
;;; Copyright © 2017, 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Dave Love <me@fx@gnu.org>
-;;; Copyright © 2018 Jan Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2018, 2019 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
;;; Copyright © 2018 Nadya Voronova <voronovank@gmail.com>
;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com>
@@ -31,6 +31,7 @@
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018 Amin Bandali <bandali@gnu.org>
;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -100,6 +101,7 @@
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages netpbm)
+ #:use-module (gnu packages onc-rpc)
#:use-module (gnu packages pcre)
#:use-module (gnu packages popt)
#:use-module (gnu packages perl)
@@ -246,7 +248,7 @@ triangulations.")
(define-public python-cvxopt
(package
(name "python-cvxopt")
- (version "1.2.1")
+ (version "1.2.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -255,7 +257,7 @@ triangulations.")
(file-name (git-file-name name version))
(sha256
(base32
- "05mnjil9palaa48xafdfh4f5pr4z7aqjr995rwl08qfyxs8y0crf"))))
+ "1kiy2m62xgs2d5id6dnnwy4vap85cd70p7pgkb9nh23qf9xnak7b"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -674,17 +676,18 @@ computations.")
(define-public hdf4
(package
(name "hdf4")
- (version "4.2.13")
+ (version "4.2.14")
(source
(origin
(method url-fetch)
(uri (string-append "https://support.hdfgroup.org/ftp/HDF/releases/HDF"
version "/src/hdf-" version ".tar.bz2"))
(sha256
- (base32 "1wz0586zh91pqb95wvr0pbh71a8rz358fdj6n2ksp85x2cis9lsm"))
+ (base32 "0n29klrrbwan9307np0d9hr128dlpc4nnlf57a140080ll3jmp8l"))
(patches (search-patches "hdf4-architectures.patch"
"hdf4-reproducibility.patch"
- "hdf4-shared-fortran.patch"))))
+ "hdf4-shared-fortran.patch"
+ "hdf4-tirpc.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("gfortran" ,gfortran)
@@ -692,10 +695,14 @@ computations.")
("flex" ,flex)))
(inputs
`(("zlib" ,zlib)
- ("libjpeg" ,libjpeg)))
+ ("libjpeg" ,libjpeg)
+ ("libtirpc" ,libtirpc)))
(arguments
`(#:parallel-tests? #f
- #:configure-flags '("--enable-shared")
+ #:configure-flags (list "--enable-shared"
+ (string-append "CPPFLAGS=-I"
+ (assoc-ref %build-inputs "libtirpc")
+ "/include/tirpc"))
#:phases
(modify-phases %standard-phases
;; This is inspired by two of Debian's patches.
@@ -1044,8 +1051,11 @@ implemented in C.")
`(("gfortran" ,gfortran)))
(inputs
`(("hdf4" ,hdf4-alt) ; assume most HDF-EOS2 users won't use the HDF4 netCDF API
+ ;; XXX: These inputs are really dependencies of hdf4.
("zlib" ,zlib)
("libjpeg" ,libjpeg)
+ ("libtirpc" ,libtirpc)
+
("gctp" ,gctp)))
(arguments
`( #:configure-flags '("--enable-install-include" "--enable-shared"
@@ -1543,7 +1553,7 @@ script files.")
,@(package-inputs octave-cli)))
(native-inputs
`(("qttools" , qttools) ;for lrelease
- ("texlive" ,texlive) ;for texi2dvi
+ ("texlive" ,(texlive-union (list texlive-epsf))) ; for texi2dvi
,@(package-native-inputs octave-cli)))
(arguments
(substitute-keyword-arguments (package-arguments octave-cli)
@@ -1716,11 +1726,16 @@ This is the certified version of the Open Cascade Technology (OCCT) library.")
(version "2.16.0")
(source
(origin
- (method url-fetch)
- (uri (string-append "http://gmsh.info/src/gmsh-"
- version "-source.tgz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.onelab.info/gmsh/gmsh.git")
+ (commit
+ (string-append "gmsh_"
+ (string-map (lambda (x) (if (eq? x #\.) #\_ x))
+ version)))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "1slf0bfkwrcgn6296wb4qhbk4ahz6i4wfb10hnim08x05vrylag8"))
+ (base32 "08rq4jajwmlpivnm9yifz2jhaivnz065lnk0h2zv773nwl9wf162"))
(modules '((guix build utils)))
(snippet
;; Remove non-free METIS code
@@ -1746,7 +1761,7 @@ This is the certified version of the Open Cascade Technology (OCCT) library.")
`(#:configure-flags `("-DENABLE_METIS:BOOL=OFF"
"-DENABLE_BUILD_SHARED:BOOL=ON"
"-DENABLE_BUILD_DYNAMIC:BOOL=ON")))
- (home-page "http://www.geuz.org/gmsh/")
+ (home-page "http://gmsh.info/")
(synopsis "3D finite element grid generator")
(description "Gmsh is a 3D finite element grid generator with a built-in
CAD engine and post-processor. Its design goal is to provide a fast, light
@@ -1760,18 +1775,20 @@ ASCII text files using Gmsh's own scripting language.")
(define-public maxflow
(package
(name "maxflow")
- (version "3.04")
+ ;; Versioning is ambiguous: the git tag matching this commit is ‘3.0.5’,
+ ;; which matches CMakeLists.txt, but README.md and CHANGES say ‘3.04’.
+ (version "3.0.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gerddie/maxflow.git")
- (commit "42401fa54823d16b9da47716f04e5d9ef1605875")))
- (file-name (string-append name "-" version "-checkout"))
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
"0rll38whw55h0vcjrrwdnh9ascvxby0ph7n1l0d12z17cg215kkb"))))
(build-system cmake-build-system)
- (home-page "http://pub.ist.ac.at/~vnk/software.html")
+ (home-page "https://pub.ist.ac.at/~vnk/software.html")
(synopsis "Library implementing Maxflow algorithm")
(description "An implementation of the maxflow algorithm described in
@cite{An Experimental Comparison of Min-Cut/Max-Flow Algorithms for
@@ -2967,7 +2984,7 @@ point numbers.")
(define-public wxmaxima
(package
(name "wxmaxima")
- (version "19.05.7")
+ (version "19.09.0")
(source
(origin
(method git-fetch)
@@ -2976,8 +2993,7 @@ point numbers.")
(commit (string-append "Version-" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "0zaz71fh156b9inrxf86scnix247al5pl9v18cxhjxcm0lanqxdp"))))
+ (base32 "195j6j8z0jd6xg3a63ywbrbsc6dany795m3fb95nbx1vq0bqqvvn"))))
(build-system cmake-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)))
@@ -3090,8 +3106,12 @@ parts of it.")
(define-public openblas
(package
+ ;; TODO: Incorporate 'openblas/fixed-num-threads' changes on the next
+ ;; rebuild cycle.
+ (replacement openblas/fixed-num-threads)
+
(name "openblas")
- (version "0.3.5")
+ (version "0.3.6")
(source
(origin
(method url-fetch)
@@ -3100,7 +3120,7 @@ parts of it.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "062kg4ny1ywz7k5grpb4pbf0hba0w6manbajwkmv4f477a31sxpl"))))
+ "1r2g9zzwq5dm8vjd19pxwggfvfzy56cvkmpmp5d014qr3svgmsap"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -3160,7 +3180,7 @@ parts of it.")
(license license:bsd-3)))
(define-public openblas-ilp64
- (package (inherit openblas)
+ (package/inherit openblas
(name "openblas-ilp64")
(supported-systems '("x86_64-linux" "aarch64-linux" "mips64el-linux"))
(arguments
@@ -3171,6 +3191,24 @@ parts of it.")
(synopsis "Optimized BLAS library based on GotoBLAS (ILP64 version)")
(license license:bsd-3)))
+(define openblas/fixed-num-threads
+ ;; TODO: Move that to 'openblas' proper on the next rebuild cycle.
+ (package
+ (inherit openblas)
+ (version (match (string-split (package-version openblas) #\.)
+ ((numbers ... (= string-length len))
+ (string-join (append numbers
+ (list (make-string len #\a)))
+ "."))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments openblas)
+ ((#:make-flags flags ''())
+ ;; This is the maximum number of threads OpenBLAS will ever use (that
+ ;; is, if $OPENBLAS_NUM_THREADS is greater than that, then NUM_THREADS
+ ;; is used.) If we don't set it, the makefile sets it to the number
+ ;; of cores of the build machine, which is obviously wrong.
+ `(cons "NUM_THREADS=128" ,flags))))))
+
(define* (make-blis implementation #:optional substitutable?)
"Return a BLIS package with the given IMPLEMENTATION (see config/ in the
source tree for a list of implementations.)
@@ -3516,15 +3554,15 @@ Failure to do so will result in a library with poor performance.")
(define-public glm
(package
(name "glm")
- (version "0.9.9.5")
+ (version "0.9.9.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/g-truc/glm/releases/download/"
version "/glm-" version ".zip"))
(sha256
- (base32
- "1vmg7hb4xvsa77zpbwiw6lqc7pyaj56dihx6xriny5b9rrh4iqsg"))))
+ (base32 "1l0pi1qi37mk6s0yrkrw07lspv4gcqnr9ryg3521hrl77ff37dwx"))
+ (patches (search-patches "glm-restore-install-target.patch"))))
(build-system cmake-build-system)
(native-inputs
`(("unzip" ,unzip)))
@@ -3609,7 +3647,7 @@ revised simplex and the branch-and-bound methods.")
(define-public dealii
(package
(name "dealii")
- (version "9.0.1")
+ (version "9.1.1")
(source
(origin
(method url-fetch)
@@ -3617,8 +3655,7 @@ revised simplex and the branch-and-bound methods.")
"download/v" version "/dealii-" version ".tar.gz"))
(sha256
(base32
- "0r7f8rhl3xr94imd372plizdcbqk0a70w73lwc3vw912dxk0sbyz"))
- (patches (search-patches "dealii-mpi-deprecations.patch"))
+ "0xhjv0gzswpjbc43xbrpwfc5848g508l01855nszx3g5gwzlhnzw"))
(modules '((guix build utils)))
(snippet
;; Remove bundled sources: UMFPACK, TBB, muParser, and boost
@@ -3827,8 +3864,8 @@ set.")
`(("doc++" ,doc++)
("netpbm" ,netpbm)
("perl" ,perl) ; needed to run 'ppmquant' during tests
- ("texlive" ,(texlive-union (list texlive-generic-xypic
- texlive-fonts-xypic
+ ("texlive" ,(texlive-union (list texlive-xypic
+ texlive-cm
texlive-latex-hyperref
texlive-bibtex)))
("ghostscript" ,ghostscript)))
@@ -4080,7 +4117,7 @@ as equations, scalars, vectors, and matrices.")
(define-public z3
(package
(name "z3")
- (version "4.8.4")
+ (version "4.8.6")
(home-page "https://github.com/Z3Prover/z3")
(source (origin
(method git-fetch)
@@ -4089,7 +4126,7 @@ as equations, scalars, vectors, and matrices.")
(file-name (git-file-name name version))
(sha256
(base32
- "014igqm5vwswz0yhz0cdxsj3a6dh7i79hvhgc3jmmmz3z0xm1gyn"))))
+ "1sywcqj5y8yp28m4cdvzsgw74kd6zr1s3y1x17ky8pr9prvpvl6x"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -4280,7 +4317,7 @@ reduction.")
(define-public mcrl2
(package
(name "mcrl2")
- (version "201707.1.15162")
+ (version "201908.0")
(source (origin
(method url-fetch)
(uri (string-append "http://www.mcrl2.org/download/devel/mcrl2-"
@@ -4288,9 +4325,7 @@ reduction.")
".tar.gz"))
(sha256
(base32
- "1ziww2fchsklm25hl9p2mngssxfh9w07nc114cncqaxfibqp2p8f"))))
- (native-inputs
- `(("subversion" ,subversion)))
+ "1i4xgl2d5fgiz1mwi50cyfkrrcpm8nxfayfjgmhq7chs58wlhfsz"))))
(inputs
`(("boost" ,boost)
("glu" ,glu)
@@ -4308,6 +4343,15 @@ analysed.")
(home-page "https://mcrl2.org")
(license license:boost1.0)))
+(define-public mcrl2-minimal
+ (package
+ (inherit mcrl2)
+ (name "mcrl2-minimal")
+ (inputs
+ `(("boost" ,boost)))
+ (arguments
+ '(#:configure-flags '("-DMCRL2_ENABLE_GUI_TOOLS=OFF")))))
+
(define-public r-subplex
(package
(name "r-subplex")
@@ -4832,8 +4876,7 @@ assemble global function spaces on finite-element grids.")
(add-after 'build 'build-tests
(lambda* (#:key inputs make-flags #:allow-other-keys)
(setenv "CPLUS_INCLUDE_PATH"
- (string-append (assoc-ref inputs "dune-grid") "/share:"
- (getenv "CPLUS_INCLUDE_PATH")))
+ (string-append (assoc-ref inputs "dune-grid") "/share"))
(apply invoke "make" "build_tests" make-flags))))))
(inputs
`(("dune-common" ,dune-common)
@@ -5136,3 +5179,36 @@ algorithm, a parametric integer programming solver, and primitives for
termination analysis via the automatic synthesis of linear ranking
functions.")
(license license:gpl3+)))
+
+(define-public speedcrunch
+ (package
+ (name "speedcrunch")
+ (version "0.12.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://bitbucket.org/heldercorreia/speedcrunch.git")
+ (commit (string-append "release-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0vh7cd1915bjqzkdp3sk25ngy8cq624mkh8c53c5bnzk357kb0fk"))))
+ (build-system cmake-build-system)
+ (inputs `(("qtbase" ,qtbase)))
+ (native-inputs `(("qttools" ,qttools)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'chdir-to-src
+ (lambda _ (chdir "src") #t)))))
+ (synopsis "High-precision scientific calculator")
+ (description
+ "SpeedCrunch is a high-precision scientific calculator. It features a
+syntax-highlighted scrollable display and is designed to be fully used via
+keyboard. Some distinctive features are auto-completion of functions and
+variables, a formula book, and quick insertion of constants from various
+fields of knowledge.")
+ (home-page "http://speedcrunch.org/")
+ (license license:gpl2+)))
+