;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
-;;; Copyright © 2017 Paul Garlick <pgarlick@tourbillion-technology.com>
+;;; Copyright © 2017, 2018 Paul Garlick <pgarlick@tourbillion-technology.com>
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2018 Nadya Voronova <voronovank@gmail.com>
;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2018 Eric Brown <brown@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
(define-public coda
(package
(name "coda")
- (version "2.18.3")
+ (version "2.19")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/stcorp/coda/releases/download/"
version "/coda-" version ".tar.gz"))
(sha256
- (base32 "1zlzgcvwmmjm8mw8w4rg2rqy0pjilz7kyyxm0y4p8cbljbbjxxz0"))
+ (base32 "1fbxd2afm7dshd92p10yy8dwbr9gc1h1fmnnnmr7d0c5lnw80245"))
(patches (search-patches "coda-use-system-libs.patch"))
(modules '((guix build utils)))
(snippet
(define-public ocaml-gsl
(package
(name "ocaml-gsl")
- (version "1.19.3")
+ (version "1.22.0")
(source
(origin
(method url-fetch)
(uri
(string-append
- "https://github.com/mmottl/gsl-ocaml/releases/download/v"
- version"/gsl-ocaml-" version ".tar.gz"))
+ "https://github.com/mmottl/gsl-ocaml/releases/download/"
+ version "/gsl-" version ".tbz"))
(sha256
(base32
- "0nzp43hp8pbjqkrxnwp5lgjrabxayf61h18fjaydi0s5faq6f3xh"))))
+ "17vcswipliq1b2idbzx1z95kskn1a4q4s5v04igilg0f7lnkaarb"))))
(build-system ocaml-build-system)
(inputs
`(("gsl" ,gsl)))
(define-public cddlib
(package
(name "cddlib")
- (version "0.94h")
+ (version "0.94i")
(source
(origin
(method url-fetch)
(string-delete #\. version) ".tar.gz"))
(sha256
(base32
- "1dasasscwfg793q8fwzgwf64xwj7w62yfvszpr8x8g38jka08vgy"))))
+ "00zdgiqb91vx6gd2103h3ijij0llspsxc6zz3iw2bll39fvkl4xq"))))
(build-system gnu-build-system)
(inputs
`(("gmp" ,gmp)))
(define-public arpack-ng
(package
(name "arpack-ng")
- (version "3.5.0")
+ (version "3.6.3")
(home-page "https://github.com/opencollab/arpack-ng")
- (source
- (origin
- (method url-fetch)
- (uri (string-append home-page "/archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0f8jx3fifmj9qdp289zr7r651y1q48k1jya859rqxq62mvis7xsh"))))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page) (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1wljl96yqxc9v8r49c37lscwkdp58kaacfb9p6s6nvpm31haax4y"))))
(build-system gnu-build-system)
- (arguments
- '(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'autoreconf
- (lambda _
- (invoke "autoreconf" "-vfi"))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
(arguments
(substitute-keyword-arguments (package-arguments arpack-ng)
((#:configure-flags _ '())
- ''("--enable-mpi"))))
+ ''("--enable-mpi"))
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ (add-before 'check 'mpi-setup
+ ,%openmpi-setup)))))
(synopsis "Fortran subroutines for solving eigenvalue problems with MPI")))
(define-public lapack
(arguments
`(#:configure-flags `("-DBUILD_SHARED_LIBS:BOOL=YES")
#:phases (modify-phases %standard-phases
- (add-before 'check 'set-test-environment
- (lambda _
- ;; By default, running the test suite would fail because
- ;; 'ssh' could not be found in $PATH. Define this
- ;; variable to placate Open MPI without adding a
- ;; dependency on OpenSSH (the agent isn't used anyway.)
- (setenv "OMPI_MCA_plm_rsh_agent" (which "cat"))
- #t)))))
+ (add-before 'check 'mpi-setup
+ ,%openmpi-setup))))
(home-page "http://www.netlib.org/scalapack/")
(synopsis "Library for scalable numerical linear algebra")
(description
(define-public gnuplot
(package
(name "gnuplot")
- (version "5.2.2")
+ (version "5.2.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gnuplot/gnuplot/"
version ".tar.gz"))
(sha256
(base32
- "18diyy7aib9mn098x07g25c7jij1x7wbfpicz0z8gwxx08px45m4"))))
+ "1jvh8xmd2cvrhlsg88kxwh55wkwx31sg50v1n59slfippl0g058m"))))
(build-system gnu-build-system)
(inputs `(("readline" ,readline)
("cairo" ,cairo)
@end enumerate\n")
(license license:bsd-3)))
-;; For a fully featured Octave, users are strongly recommended also to install
+;; For a fully featured Octave, users are strongly recommended also to install
;; the following packages: less, ghostscript, gnuplot.
(define-public octave
(package
(name "octave")
- (version "4.4.0")
+ (version "4.4.1")
(source
(origin
(method url-fetch)
version ".tar.lz"))
(sha256
(base32
- "0nm766737gbkq9wqry54a026k3dg7rb1065kngfpwgjz8b544xbp"))))
+ "0jsdgizlv02an2ppfjwk5qf209zpwi3317yb7jvlsjzxnir3lvhy"))))
(build-system gnu-build-system)
(inputs
`(("lapack" ,lapack)
(package (inherit octave)
(name "qtoctave")
(source (origin
- (inherit (package-source octave))
- (patches (append (origin-patches (package-source octave))
- (search-patches
- "qtoctave-qt-5.11-fix.patch")))))
+ (inherit (package-source octave))))
(inputs
`(("qscintilla" ,qscintilla)
("qt" ,qtbase)
(define-public petsc
(package
(name "petsc")
- (version "3.8.0")
+ (version "3.9.3")
(source
(origin
(method url-fetch)
(uri (string-append "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/"
"petsc-lite-" version ".tar.gz"))
(sha256
- (base32 "1lajbk3c29hnh83v6cbmm3a8wv6bdykh0p70kwrr4vrnizalk88s"))))
+ (base32 "1fwkbwv4g7zf2lc8fw865xd0bl9anb6jaczfis5dff7h449gwa48"))))
+ (outputs '("out" ;libraries and headers
+ "examples")) ;~30MiB of examples
(build-system gnu-build-system)
(native-inputs
`(("python" ,python-2)))
#:configure-flags
`("--with-mpi=0"
"--with-openmp=1"
- "--with-superlu=1"
- ,(string-append "--with-superlu-include="
- (assoc-ref %build-inputs "superlu") "/include")
- ,(string-append "--with-superlu-lib="
- (assoc-ref %build-inputs "superlu") "/lib/libsuperlu.a"))
+ "--with-superlu=1")
#:make-flags
;; Honor (parallel-job-count) for build. Do not use --with-make-np,
;; whose value is dumped to $out/lib/petsc/conf/petscvariables.
"PETScBuildInternal.cmake"
;; Once installed, should uninstall with Guix
"uninstall.py"))
+ #t)))
+ (add-after 'install 'move-examples
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (examples (assoc-ref outputs "examples"))
+ (exdir (string-append out "/share/petsc/examples"))
+ (exdir' (string-append examples "/share/petsc/examples")))
+ (copy-recursively exdir exdir')
+ (delete-file-recursively exdir)
#t))))))
(home-page "http://www.mcs.anl.gov/petsc")
(synopsis "Library to solve PDEs")
(name "petsc-openmpi")
(inputs
`(("openmpi" ,openmpi)
+ ("hdf5" ,hdf5-parallel-openmpi)
,@(package-inputs petsc)))
(arguments
(substitute-keyword-arguments (package-arguments petsc)
``("--with-mpiexec=mpirun"
,(string-append "--with-mpi-dir="
(assoc-ref %build-inputs "openmpi"))
- ,@(delete "--with-mpi=0" ,cf)))))
+ ,(string-append "--with-hdf5-include="
+ (assoc-ref %build-inputs "hdf5") "/include")
+ ,(string-append "--with-hdf5-lib="
+ (assoc-ref %build-inputs "hdf5") "/lib/libhdf5.a")
+ ,@(delete "--with-mpi=0" ,cf)))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-before 'check 'mpi-setup
+ ,%openmpi-setup)))))
(synopsis "Library to solve PDEs (with MPI support)")))
(define-public petsc-complex-openmpi
(define-public slepc
(package
(name "slepc")
- (version "3.8.2")
+ (version "3.9.2")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "04zd48p43rnvg68p6cp28zll0px5whglc5v0sc3s6vdj1v920z8y"))))
+ "0gmhdqac8zm3jx43h935z7bflazjnpvqxjv4jh5za2y1z2rqax94"))))
(build-system gnu-build-system)
(native-inputs
`(("python" ,python-2)))
(substitute-keyword-arguments (package-arguments slepc)
((#:phases phases '%standard-phases)
`(modify-phases ,phases
- (add-before 'check 'set-test-environment
- (lambda _
- ;; By default, running the test suite would fail because 'ssh'
- ;; could not be found in $PATH. Define this variable to
- ;; placate Open MPI without adding a dependency on OpenSSH (the
- ;; agent isn't used anyway.)
- (setenv "OMPI_MCA_plm_rsh_agent" (which "cat"))
- #t))))))
+ (add-before 'check 'mpi-setup
+ ,%openmpi-setup)))))
(inputs
`(("mpi" ,openmpi)
("arpack" ,arpack-ng-openmpi)
(substitute-keyword-arguments (package-arguments mumps)
((#:phases phases)
`(modify-phases ,phases
- (add-before 'check 'set-test-environment
- (lambda _
- ;; By default, running the test suite would fail because 'ssh'
- ;; could not be found in $PATH. Define this variable to
- ;; placate Open MPI without adding a dependency on OpenSSH (the
- ;; agent isn't used anyway.)
- (setenv "OMPI_MCA_plm_rsh_agent" (which "cat"))
- #t))
+ (add-before 'check 'mpi-setup
+ ,%openmpi-setup)
(replace 'check
(lambda _
((assoc-ref ,phases 'check)
(define-public r-pracma
(package
(name "r-pracma")
- (version "2.1.4")
+ (version "2.1.5")
(source (origin
(method url-fetch)
(uri (cran-uri "pracma" version))
(sha256
- (base32 "1ygm81i7mqvh229dp9935djjyb120p3bqvaf4k572sa4q63fzjhc"))))
+ (base32 "18cv7c2gvagbmggfbsy2xk9bpn47izd0qrmqnc3q7afvj6pr6nf9"))))
(build-system r-build-system)
(propagated-inputs
`(("r-quadprog" ,r-quadprog)))
"/" dir)))
'("lib" "include"))
#t))
+ (add-before 'check 'mpi-setup
+ ,%openmpi-setup)
(replace 'check
(lambda _
- ;; By default, running the test suite would fail because 'ssh'
- ;; could not be found in $PATH. Define this variable to placate
- ;; Open MPI without adding a dependency on OpenSSH (the agent
- ;; isn't used anyway.)
- (setenv "OMPI_MCA_plm_rsh_agent" (which "cat"))
(with-directory-excursion "EXAMPLE"
(invoke "mpirun" "-n" "2"
"./pddrive" "-r" "1" "-c" "2" "g20.rua")
;; "SCOTCH_PTHREAD_NUMBER=2"
"restrict=__restrict"))))
#t))
- (add-after
- 'build 'build-esmumps
+ (add-after 'build 'build-esmumps
(lambda _
- ;; By default, running the test suite would fail because 'ssh'
- ;; could not be found in $PATH. Define this variable to placate
- ;; Open MPI without adding a dependency on OpenSSH (the agent
- ;; isn't used anyway.)
- (setenv "OMPI_MCA_plm_rsh_agent" (which "cat"))
-
(invoke "make"
(format #f "-j~a" (parallel-job-count))
"esmumps")))
(assoc-ref %build-inputs "lapack")
" -llapack"))
#:phases (modify-phases %standard-phases
- (add-before 'check 'set-test-environment
- (lambda _
- ;; By default, running the test suite would fail because
- ;; 'ssh' could not be found in $PATH. Define this
- ;; variable to placate Open MPI without adding a
- ;; dependency on OpenSSH (the agent isn't used anyway.)
- (setenv "OMPI_MCA_plm_rsh_agent" (which "cat"))
- #t)))))
+ (add-before 'check 'mpi-setup
+ ,%openmpi-setup))))
(home-page "http://www.p4est.org")
(synopsis "Adaptive mesh refinement on forests of octrees")
(description
(define-public armadillo
(package
(name "armadillo")
- (version "7.800.2")
+ (version "9.100.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/arma/armadillo-"
version ".tar.xz"))
(sha256
(base32
- "1qqzy7dp891j9v7062mv1599hdwr97vqzrd3j2fl8c3gmc00dmzg"))))
+ "1ka1vd9fcmvp12qkcm4888dkfqwnalvv00x04wy29f3nx3qwczby"))))
(build-system cmake-build-system)
- (arguments `(#:tests? #f)) ;no test target
+ (arguments `(#:tests? #f)) ; no test target
(inputs
`(("openblas" ,openblas)
("lapack" ,lapack)
(define-public openblas
(package
(name "openblas")
- (version "0.3.1")
+ (version "0.3.2")
(source
(origin
(method url-fetch)
- (uri (string-append "https://github.com/xianyi/OpenBLAS/tarball/v"
- version))
+ (uri (string-append "mirror://sourceforge/openblas/v" version "/OpenBLAS%20"
+ version "%20version.tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1ly170gcdy0rgppfw1xn5yhjfzfqkka1gpggvvbls7138qbj7y9r"))))
+ "0b20km2jv7m6qiylrlvhq2vnmkmilb633mr8rhqmgbn1wqrp58jq"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
"OpenBLAS is a BLAS library forked from the GotoBLAS2-1.13 BSD version.")
(license license:bsd-3)))
+(define-public openblas-ilp64
+ (package (inherit openblas)
+ (name "openblas-ilp64")
+ (supported-systems '("x86_64-linux" "aarch64-linux" "mips64el-linux"))
+ (arguments
+ (substitute-keyword-arguments (package-arguments openblas)
+ ((#:make-flags flags '())
+ `(append (list "INTERFACE64=1" "LIBNAMESUFFIX=ilp64")
+ ,flags))))
+ (synopsis "Optimized BLAS library based on GotoBLAS (ILP64 version)")
+ (license license:bsd-3)))
+
(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.)
(define-public glm
(package
(name "glm")
- (version "0.9.9.0")
+ (version "0.9.9.1")
(source
(origin
(method url-fetch)
version "/glm-" version ".zip"))
(sha256
(base32
- "0ihjadp2sb8w312a276skfjsljm3y41bjscbxf79wn23gi00giz1"))))
+ "042a23hmxfs429czkmlg5ixf28aikzfbw18780prj2gcd4flgw8h"))))
(build-system cmake-build-system)
(native-inputs
`(("unzip" ,unzip)))
(define-public hypre
(package
(name "hypre")
- (version "2.11.0")
+ (version "2.14.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/LLNL/hypre/archive/"
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0q69ia0jivzcr8p049dn3mg8yjpn6nwq4sw9iqac8vr63vi54l6m"))
+ "0v515i73bvaz378h5465b1dy9v2gf924zy2q94cpq4qqarawvkqh"))
(modules '((guix build utils)))
(snippet
'(begin
;; substitute the tarball creation time.
(substitute* "src/utilities/HYPRE_utilities.h"
(("Date Compiled: .*$")
- "Date Compiled: Mar 28 2016 20:19:59 +0000\"\n"))
+ "Date Compiled: Apr 11 2018 16:24:59 +0000\"\n"))
#t))))
(build-system gnu-build-system)
(outputs '("out" ;6.1 MiB of headers and libraries
,@(delete "--without-MPI" ,flags)))
((#:phases phases)
`(modify-phases ,phases
- (add-before 'check 'set-test-environment
- (lambda _
- ;; By default, running the test suite would fail because 'ssh'
- ;; could not be found in $PATH. Define this variable to
- ;; placate Open MPI without adding a dependency on OpenSSH (the
- ;; agent isn't used anyway.)
- (setenv "OMPI_MCA_plm_rsh_agent" (which "cat"))
- #t))))))
+ (add-before 'check 'mpi-setup
+ ,%openmpi-setup)))))
(synopsis "Parallel solvers and preconditioners for linear equations")
(description
"HYPRE is a software library of high performance preconditioners and
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DGFORTRAN_LIB=gfortran")
#:phases (modify-phases %standard-phases
+ (add-before 'check 'mpi-setup
+ ,%openmpi-setup)
(add-before 'check 'setup-tests
(lambda _
;; Parallelism is done at the MPI layer.
`(("boost" ,boost)
("glu" ,glu)
("mesa" ,mesa)
- ("qt" ,qt)))
+ ("qtbase" ,qtbase)))
(build-system cmake-build-system)
(synopsis "Toolset for the mCRL2 formal specification language")
(description
state-space exploration and generation, and tools to optimise and analyse
specifications. Also, state spaces can be manipulated, visualised and
analysed.")
- (home-page "http://mcrl2.org")
+ (home-page "https://mcrl2.org")
(license license:boost1.0)))
(define-public r-subplex
be fed to @command{tcalc} through the command line.")
(home-page "https://sites.google.com/site/mohammedisam2000/tcalc")
(license license:gpl3+)))
+
+(define-public sundials
+ (package
+ (name "sundials")
+ (version "3.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://computation.llnl.gov/projects/sundials/download/"
+ "sundials-" version ".tar.gz"))
+ (sha256
+ (base32
+ "090s8ymhd0g1s1d44fa73r5yi32hb4biwahhbfi327zd64yn8kd2"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("python" ,python-2))) ;for tests; syntax incompatible with python 3
+ (inputs
+ `(("fortran" ,gfortran) ;for fcmix
+ ("blas" ,openblas)
+ ("suitesparse" ,suitesparse))) ;TODO: Add hypre
+ (arguments
+ `(#:configure-flags `("-DEXAMPLES_ENABLE_C:BOOL=ON"
+ "-DEXAMPLES_ENABLE_CXX:BOOL=ON"
+ "-DEXAMPLES_ENABLE_F77:BOOL=ON"
+ "-DEXAMPLES_ENABLE_F90:BOOL=ON"
+ "-DEXAMPLES_INSTALL:BOOL=OFF"
+
+ "-DFCMIX_ENABLE:BOOL=ON"
+
+ "-DKLU_ENABLE:BOOL=ON"
+ ,(string-append "-DKLU_INCLUDE_DIR="
+ (assoc-ref %build-inputs "suitesparse")
+ "/include")
+ ,(string-append "-DKLU_LIBRARY_DIR="
+ (assoc-ref %build-inputs "suitesparse")
+ "/lib"))))
+ (home-page "https://computation.llnl.gov/projects/sundials")
+ (synopsis "Suite of nonlinear and differential/algebraic equation solvers")
+ (description "SUNDIALS is a family of software packages implemented with
+the goal of providing robust time integrators and nonlinear solvers that can
+easily be incorporated into existing simulation codes.")
+ (license license:bsd-3)))
+
+(define-public sundials-openmpi
+ (package (inherit sundials)
+ (name "sundials-openmpi")
+ (inputs
+ `(("mpi" ,openmpi)
+ ("petsc" ,petsc-openmpi) ;support in SUNDIALS requires MPI
+ ,@(package-inputs sundials)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments sundials)
+ ((#:configure-flags flags '())
+ `(cons* "-DMPI_ENABLE:BOOL=ON"
+ "-DPETSC_ENABLE:BOOL=ON"
+ (string-append "-DPETSC_INCLUDE_DIR="
+ (assoc-ref %build-inputs "petsc")
+ "/include")
+ (string-append "-DPETSC_LIBRARY_DIR="
+ (assoc-ref %build-inputs "petsc")
+ "/lib")
+ ,flags))
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ (add-before 'check 'mpi-setup
+ ,%openmpi-setup)))))
+ (synopsis "SUNDIALS with OpenMPI support")))