;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2016, 2017 John Darrington <jmd@gnu.org>
-;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org>
-;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Fabian Harfert <fhmgufs@web.de>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
-;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
+;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Paul Garlick <pgarlick@tourbillion-technology.com>
;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net>
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
-;;; Copyright © 2017 Theodoros Foradis <theodoros.for@openmailbox.org>
+;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
+;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017 Dave Love <me@fx@gnu.org>
+;;; Copyright © 2018 Jan Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix build-system gnu)
#:use-module (guix build-system ocaml)
#:use-module (guix build-system r)
+ #:use-module (guix build-system ruby)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bison)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
+ #:use-module (gnu packages java)
#:use-module (gnu packages less)
#:use-module (gnu packages lisp)
#:use-module (gnu packages logging)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-web)
+ #:use-module (gnu packages qt)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages ruby)
#:use-module (gnu packages tbb)
#:use-module (gnu packages scheme)
#:use-module (gnu packages shells)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tex)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages version-control)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xml)
#:use-module (srfi srfi-1))
(define-public coda
(package
(name "coda")
- (version "2.18.2")
+ (version "2.18.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/stcorp/coda/releases/download/"
version "/coda-" version ".tar.gz"))
(sha256
- (base32 "01fnqcby9jijvf3jxr1fk4bny059lvvq5wbqm7ns60ilykfdnm6a"))
+ (base32 "1zlzgcvwmmjm8mw8w4rg2rqy0pjilz7kyyxm0y4p8cbljbbjxxz0"))
(patches (search-patches "coda-use-system-libs.patch"))
(modules '((guix build utils)))
(snippet
;; Make sure we don't use the bundled software.
- '(for-each (lambda (d)
- (delete-file-recursively (string-append "libcoda/" d)))
- '("zlib" "pcre" "expat")))))
+ '(begin
+ (for-each (lambda (d)
+ (delete-file-recursively (string-append "libcoda/" d)))
+ '("zlib" "pcre" "expat"))
+ #t))))
(native-inputs
`(("fortran" ,gfortran)
("python" ,python)
(define-public units
(package
(name "units")
- (version "2.14")
+ (version "2.16")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/units/units-" version
".tar.gz"))
(sha256 (base32
- "1s421bxm36akjsy3qzg6da1d1g20gh094ac2slqxipgkh8yqjcwx"))))
+ "11hnp3gcmcc5kci2caxw4hs6m08h2mhqs3xzqq7iafx1ha2ggwyw"))))
(build-system gnu-build-system)
+ (inputs
+ `(("readline" ,readline)
+ ("python" ,python-wrapper) ;for 'units_cur' script
+ ("python-requests" ,python-requests)))
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'install 'wrap-units_cur
+ (lambda* (#:key outputs #:allow-other-keys)
+ (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"))))
+ #t))))))
(synopsis "Conversion between thousands of scales")
(description
"GNU Units converts numeric quantities between units of measure. It
(define-public dionysus
(package
(name "dionysus")
- (version "1.3.0")
+ (version "1.4.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/dionysus/dionysus-" version
- ".tar.gz"))
+ ".tar.xz"))
(sha256
(base32
- "1aqnvw6z33bzqgd1ga571pnx6vq2zrkckm1cz91grv45h4jr9vgs"))))
+ "194pzs1mlsj4ww6v37qq3961h5hckm5h805cv0r14xj3g9wfx2sk"))))
(build-system gnu-build-system)
(inputs `(("tcl" ,tcl))) ;for 'tclsh'
(synopsis "Local search for universal constants and scientific values")
(define-public glpk
(package
(name "glpk")
- (version "4.63")
+ (version "4.65")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "1xp7nclmp8inp20968bvvfcwmz3mz03sbm0v3yjz8aqwlpqjfkci"))))
+ "040sfaa9jclg2nqdh83w71sv9rc1sznpnfiripjdyr48cady50a2"))))
(build-system gnu-build-system)
(inputs
`(("gmp" ,gmp)))
(define-public arpack-ng
(package
(name "arpack-ng")
- (version "3.2.0")
+ (version "3.5.0")
+ (home-page "https://github.com/opencollab/arpack-ng")
(source
(origin
(method url-fetch)
- (uri (string-append "https://github.com/opencollab/arpack-ng/archive/"
- version ".tar.gz"))
+ (uri (string-append home-page "/archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1fwch6vipms1ispzg2djvbzv5wag36f1dmmr3xs3mbp6imfyhvff"))))
+ "0f8jx3fifmj9qdp289zr7r651y1q48k1jya859rqxq62mvis7xsh"))))
(build-system gnu-build-system)
- (home-page "https://github.com/opencollab/arpack-ng")
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'autoreconf
+ (lambda _
+ (invoke "autoreconf" "-vfi"))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)))
(inputs
`(("lapack" ,lapack)
("fortran" ,gfortran)))
(license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."))))
+(define-public arpack-ng-3.3.0
+ (package
+ (inherit arpack-ng)
+ (version "3.3.0")
+ (name (package-name arpack-ng))
+ (home-page (package-home-page 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
+ "1cz53wqzcf6czmcpfb3vb61xi0rn5bwhinczl65hpmbrglg82ndd"))))))
+
(define-public arpack-ng-openmpi
(package (inherit arpack-ng)
(name "arpack-ng-openmpi")
("python" ,python-2)))
(arguments
`(#:configure-flags (list
- ;; Install to PREFIX/lib (the default is
- ;; PREFIX/lib64).
- (string-append "-DCMAKE_INSTALL_LIBDIR="
- (assoc-ref %outputs "out")
- "/lib")
-
"-DBUILD_SHARED_LIBS:BOOL=YES"
"-DLAPACKE=ON"
(license (license:non-copyleft "file://LICENSE"
"See LICENSE in the distribution."))))
+(define-public lapack-3.5
+ (package
+ (inherit lapack)
+ (version "3.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://www.netlib.org/lapack/lapack-"
+ version ".tgz"))
+ (sha256
+ (base32
+ "0lk3f97i9imqascnlf6wr5mjpyxqcdj73pgj97dj2mgvyg9z1n4s"))))))
+
(define-public scalapack
(package
(name "scalapack")
#:configure-flags '("--enable-cxx"
"--enable-fortran"
"--enable-fortran2003")
-
+ ;; Use -fPIC to allow the R bindings to link with the static libraries
+ #:make-flags (list "CFLAGS=-fPIC"
+ "CXXFLAGS=-fPIC")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-configure
;; unnecessary store references to those compilers:
(substitute* "src/libhdf5.settings"
(("(/gnu/store/)([a-Z0-9]*)" all prefix hash)
- (string-append prefix (string-take hash 10) "...")))
+ (string-append prefix (string-take hash 10) "..."))
+ ;; Don't record the build-time kernel version to make the
+ ;; settings file reproducible.
+ (("Uname information:.*")
+ "Uname information: Linux\n"))
#t))
(add-after 'install 'patch-references
(lambda* (#:key inputs outputs #:allow-other-keys)
(license (license:x11-style
"http://www.hdfgroup.org/ftp/HDF5/current/src/unpacked/COPYING"))))
+(define-public hdf-java
+ (package
+ (name "hdf-java")
+ (version "3.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://www.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/hdfjni-"
+ version "/src/CMake-hdfjava-" version ".tar.gz"))
+ (sha256
+ (base32 "0m1gp2aspcblqzmpqbdpfp6giskws85ds6p5gz8sx7asyp7wznpr"))
+ (modules '((guix build utils)))
+ (snippet ; Make sure we don't use the bundled sources and binaries.
+ `(begin
+ (for-each delete-file
+ (list "SZip.tar.gz" "ZLib.tar.gz" "JPEG8d.tar.gz"
+ "HDF4.tar.gz" "HDF5.tar.gz"))
+ (delete-file-recursively ,(string-append "hdfjava-" version "/lib"))
+ #t))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("jdk" ,icedtea "jdk")
+ ("automake" ,automake) ; For up to date 'config.guess' and 'config.sub'.
+ ;; For tests:
+ ("hamcrest-core" ,java-hamcrest-core)
+ ("junit" ,java-junit)
+ ("slf4j-simple" ,java-slf4j-simple)))
+ (inputs
+ `(("hdf4" ,hdf4)
+ ("hdf5" ,hdf5)
+ ("zlib" ,zlib)
+ ("libjpeg" ,libjpeg)
+ ("slf4j-api" ,java-slf4j-api)))
+ (arguments
+ `(#:configure-flags
+ (list (string-append "--target=" ,(or (%current-target-system) (%current-system)))
+ (string-append "--with-jdk=" (assoc-ref %build-inputs "jdk") "/include,"
+ (assoc-ref %build-inputs "jdk") "/lib" )
+ (string-append "--with-hdf4=" (assoc-ref %build-inputs "hdf4") "/lib")
+ (string-append "--with-hdf5=" (assoc-ref %build-inputs "hdf5") "/lib"))
+
+ #:make-flags
+ (list (string-append "HDFLIB=" (assoc-ref %build-inputs "hdf4") "/lib")
+ (string-append "HDF5LIB=" (assoc-ref %build-inputs "hdf5") "/lib")
+ (string-append "ZLIB=" (assoc-ref %build-inputs "zlib") "/lib/libz.so")
+ (string-append "JPEGLIB="
+ (assoc-ref %build-inputs "libjpeg") "/lib/libjpeg.so")
+ "LLEXT=so")
+
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'chdir-to-source
+ (lambda _ (chdir ,(string-append "hdfjava-" version))))
+ (add-before 'configure 'patch-build
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* "configure"
+ (("COPT=\"") "COPT=\"-O2 ") ; CFLAGS is ignored in Makefiles
+ (("/bin/cat") (which "cat")))
+ ;; Set classpath for compilation
+ (substitute* '("hdf/hdf5lib/Makefile.in"
+ "hdf/hdf5lib/exceptions/Makefile.in"
+ "hdf/hdflib/Makefile.in")
+ (("\\$\\(TOP\\)/lib/slf4j-api-1\\.7\\.5\\.jar")
+ (string-append (assoc-ref inputs "slf4j-api")
+ "/share/java/slf4j-api.jar")))
+ ;; Replace outdated config.sub and config.guess:
+ (with-directory-excursion "config"
+ (for-each (lambda (file)
+ (copy-file
+ (string-append (assoc-ref inputs "automake")
+ "/share/automake-1.15/" file) file))
+ '("config.sub" "config.guess")))
+ (mkdir-p (string-append (assoc-ref outputs "out")))
+ ;; Set classpath for tests
+ (let* ((build-dir (getcwd))
+ (lib (string-append build-dir "/lib"))
+ (jhdf (string-append lib "/jhdf.jar"))
+ (jhdf5 (string-append lib "/jhdf5.jar"))
+ (testjars
+ (map (lambda (i)
+ (string-append (assoc-ref inputs i)
+ "/share/java/" i ".jar"))
+ '("junit" "hamcrest-core" "slf4j-api" "slf4j-simple")))
+ (class-path
+ (string-join `("." ,build-dir ,jhdf ,jhdf5 ,@testjars) ":")))
+
+ (substitute* '("test/hdf5lib/Makefile.in"
+ "test/hdf5lib/junit.sh.in"
+ "examples/runExample.sh.in")
+ (("/usr/bin/test")
+ (string-append (assoc-ref inputs "coreutils")
+ "/bin/test"))
+ (("/usr/bin/uname")
+ (string-append (assoc-ref inputs "coreutils")
+ "/bin/uname"))
+ (("CLASSPATH=[^\n]*")
+ (string-append "CLASSPATH=" class-path)))
+ (setenv "CLASSPATH" class-path))
+ #t))
+ (add-before 'check 'build-examples
+ (lambda _
+ (zero? (apply system* `("javac"
+ ,@(find-files "examples" ".*\\.java")))))))
+
+ #:parallel-build? #f
+
+ #:parallel-tests? #f ))
+ (home-page "https://support.hdfgroup.org/products/java")
+ (synopsis "Java interface for the HDF4 and HDF5 libraries")
+ (description "Java HDF Interface (JHI) and Java HDF5 Interface (JHI5) use
+the Java Native Interface to wrap the HDF4 and HDF5 libraries, which are
+implemented in C.")
+
+ ;; BSD-style license:
+ (license (license:x11-style
+ "https://support.hdfgroup.org/ftp/HDF5/hdf-java\
+/current/src/unpacked/COPYING"))))
+
(define-public hdf-eos2
(package
(name "hdf-eos2")
(modules '((guix build utils)))
(snippet
;; Make sure we don't use the bundled software.
- '(delete-file-recursively "ThirdParty"))))
+ '(begin
+ (delete-file-recursively "ThirdParty")
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(define-public ceres
(package
(name "ceres-solver")
- (version "1.11.0")
+ (version "1.13.0")
(home-page "http://ceres-solver.org/")
(source (origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "0i7qkbf8g6pd8arxzldppga26ckv93y8zldsfz6wbd4n6b1nqrjd"))))
+ "1kbxgab3q1vgyq7hjqasr1lji4b2sgn7ss351amklkb3jyhr1x0x"))))
(build-system cmake-build-system)
(arguments
;; TODO: Build HTML user documentation and install separately.
(license license:bsd-3)))
;; For a fully featured Octave, users are strongly recommended also to install
-;; the following packages: texinfo, less, ghostscript, gnuplot.
+;; the following packages: less, ghostscript, gnuplot.
(define-public octave
(package
(name "octave")
- (version "4.2.1")
+ (version "4.2.2")
(source
(origin
(method url-fetch)
version ".tar.lz"))
(sha256
(base32
- "09zhhch79jw3ynw39vizx0i2cbd2bjz3sp38pjdzraqrbivpwp92"))))
+ "0pkkz1vazsh7ipffb09q0nc2jgx6q27pkkngygjij6jrpcly5zsp"))))
(build-system gnu-build-system)
(inputs
`(("lapack" ,lapack)
("glu" ,glu)
("zlib" ,zlib)
("curl" ,curl)
+ ("texinfo" ,texinfo)
("graphicsmagick" ,graphicsmagick)))
(native-inputs
`(("lzip" ,lzip)
;; will still run without them, albeit without the features they
;; provide.
("less" ,less)
- ("texinfo" ,texinfo)
("ghostscript" ,ghostscript)
("gnuplot" ,gnuplot)))
(arguments
`(#:configure-flags
(list (string-append "--with-shell="
(assoc-ref %build-inputs "bash")
- "/bin/sh"))))
+ "/bin/sh"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'configure-makeinfo
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "libinterp/corefcn/help.cc"
+ (("Vmakeinfo_program = \"makeinfo\"")
+ (string-append "Vmakeinfo_program = \""
+ (assoc-ref inputs "texinfo")
+ "/bin/makeinfo\"")))
+ #t)))))
(home-page "https://www.gnu.org/software/octave/")
(synopsis "High-level language for numerical computation")
(description "GNU Octave is a high-level interpreted language that is
"https://github.com/tpaviot/oce/archive/OCE-"
version
".tar.gz"))
+ (patches (search-patches "opencascade-oce-glibc-2.26.patch"))
(sha256
(base32
"0vpmnb0k5y2f7lpmwx9pg9yfq24zjvnsak5alzacncfm1hv9b6cd"))))
(modules '((guix build utils)))
(snippet
;; Remove non-free METIS code
- '(delete-file-recursively "contrib/Metis"))))
+ '(begin
+ (delete-file-recursively "contrib/Metis")
+ #t))))
(build-system cmake-build-system)
(propagated-inputs
`(("fltk" ,fltk)
(define-public petsc
(package
(name "petsc")
- (version "3.7.6")
+ (version "3.8.0")
(source
(origin
(method url-fetch)
(uri (string-append "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/"
"petsc-lite-" version ".tar.gz"))
(sha256
- (base32 "1y3f5jjq0v5b62i3sabp4kp5mgfyp3vnk0dxhwkrhpypax77nzxh"))))
+ (base32 "1lajbk3c29hnh83v6cbmm3a8wv6bdykh0p70kwrr4vrnizalk88s"))))
(build-system gnu-build-system)
(native-inputs
- `(("python" ,python-2)
- ("perl" ,perl)))
+ `(("python" ,python-2)))
(inputs
`(("gfortran" ,gfortran)
("lapack" ,lapack)
(define-public slepc
(package
(name "slepc")
- (version "3.7.4")
+ (version "3.8.2")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "12pbl8yd6r8k9xjlr1qw25rs0k1acgic7hw1s6l6bhiv9s285drg"))))
+ "04zd48p43rnvg68p6cp28zll0px5whglc5v0sc3s6vdj1v920z8y"))))
(build-system gnu-build-system)
(native-inputs
`(("python" ,python-2)))
(format #t "configure flags: ~s~%" flags)
(setenv "SLEPC_DIR" (getcwd))
(setenv "PETSC_DIR" (assoc-ref inputs "petsc"))
- (zero? (apply system* "./configure" flags)))))
+ (apply invoke "./configure" flags))))
(add-after 'install 'delete-doc
;; TODO: SLEPc installs HTML documentation alongside headers in
;; $out/include. We'd like to move them to share/doc, but delete
The emphasis of the software is on methods and techniques appropriate for
problems in which the associated matrices are sparse, for example, those
arising after the discretization of partial differential equations.")
- (license license:lgpl3)))
+ (license license:bsd-2)))
(define-public slepc-complex
(package (inherit slepc)
(build-system r-build-system)
(native-inputs
`(("gfortran" ,gfortran)))
- (home-page "http://cran.r-project.org/web/packages/quadprog")
+ (home-page "https://cran.r-project.org/web/packages/quadprog")
(synopsis "Functions to solve quadratic programming problems")
(description
"This package contains routines and documentation for solving quadratic
(define-public r-pracma
(package
(name "r-pracma")
- (version "2.0.7")
+ (version "2.1.4")
(source (origin
(method url-fetch)
(uri (cran-uri "pracma" version))
(sha256
- (base32 "0hxa0rbbp54j0c05qj7vfwhqfdmiz5ax8vhqxd09g33x7c0hqbc5"))))
+ (base32 "1ygm81i7mqvh229dp9935djjyb120p3bqvaf4k572sa4q63fzjhc"))))
(build-system r-build-system)
(propagated-inputs
`(("r-quadprog" ,r-quadprog)))
- (home-page "http://cran.r-project.org/web/packages/pracma")
+ (home-page "https://cran.r-project.org/web/packages/pracma")
(synopsis "Practical numerical math functions")
(description "This package provides functions for numerical analysis and
linear algebra, numerical optimization, differential equations, plus some
porting.")
(license license:gpl3+)))
+(define-public ruby-asciimath
+ (package
+ (name "ruby-asciimath")
+ (version "1.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "asciimath" version))
+ (sha256
+ (base32
+ "1d80kiph5mc78zps7si1hv48kv4k12mzaq8jk5kb3pqpjdr72qmc"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ ;; Apply this patch
+ ;; https://github.com/asciidoctor/asciimath/commit/1c06fdc8086077f4785479f78b0823a4a72d7948
+ (add-after 'unpack 'patch-remove-spurious-backslashes
+ (lambda _
+ (substitute* "spec/parser_spec.rb"
+ (("\\\\\"")
+ "\"")))))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)))
+ (synopsis "AsciiMath parsing and conversion library")
+ (description
+ "A pure Ruby AsciiMath parsing and conversion library. AsciiMath is an
+easy-to-write markup language for mathematics.")
+ (home-page "https://github.com/asciidoctor/asciimath")
+ (license license:expat)))
+
(define-public superlu
(package
(name "superlu")
(let ((line (read-line in 'concat)))
(unless (regexp-exec rx line)
(display line out)
- (loop)))))))))))
+ (loop))))
+ #t)))))))
(build-system cmake-build-system)
(native-inputs
`(("tcsh" ,tcsh)))
(arguments
`(#:configure-flags '("-Denable_blaslib:BOOL=NO" ;do not use internal cblas
"-DTPL_BLAS_LIBRARIES=openblas"
- "-DBUILD_SHARED_LIBS:BOOL=YES"
- "-DCMAKE_INSTALL_LIBDIR=lib")))
+ "-DBUILD_SHARED_LIBS:BOOL=YES")))
(home-page "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/")
(synopsis "Supernodal direct solver for sparse linear systems")
(description
(delete-file "SRC/mc64ad.f.bak")
(substitute* "SRC/util.c" ;adjust default algorithm
(("RowPerm[[:blank:]]*=[[:blank:]]*LargeDiag")
- "RowPerm = NOROWPERM"))))
+ "RowPerm = NOROWPERM"))
+ #t))
(patches (search-patches "superlu-dist-scotchmetis.patch"))))
(build-system gnu-build-system)
(native-inputs
(define-public p4est
(package
(name "p4est")
- (version "1.1")
+ (version "2.0")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "0faina2h5qsx3m2izbzaj9bbakma1krbbjmq43wrp1hcbyijflqb"))))
+ "16h267z256kxcxfjs390qqzv19hr58vrj4x8lndb7alnk2vca8n5"))))
(build-system gnu-build-system)
(inputs
`(("fortran" ,gfortran)
(define-public maxima
(package
(name "maxima")
- (version "5.40.0")
+ (version "5.41.0")
(source
(origin
(method url-fetch)
version "-source/" name "-" version ".tar.gz"))
(sha256
(base32
- "15pp35ayglv723bjbqc60gcdv2bm54s6pywsm4i4cwbjsf64dzkl"))
+ "0x0n81z0s4pl8nwpf7ivlsbvsdphm9w42250g7qdkizl0132by6s"))
(patches (search-patches "maxima-defsystem-mkdir.patch"))))
(build-system gnu-build-system)
(inputs
(define-public wxmaxima
(package
(name "wxmaxima")
- (version "17.05.1")
+ (version "18.02.0")
(source
(origin
(method url-fetch)
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0dv0cy0cf46v0cbw32izscpkdmpxg1qhwq1f4cz46kkqd8k4yfbj"))))
- (build-system gnu-build-system)
+ "03kr2rgfp4hcf3is8m8d8f9hj660c3xgrc50vrrfpixx4syh6wvj"))
+ (patches
+ (search-patches "wxmaxima-do-not-use-old-gnuplot-parameters.patch"))))
+ (build-system cmake-build-system)
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("gettext" ,gettext-minimal)))
+ `(("gettext" ,gettext-minimal)))
(inputs
`(("wxwidgets" ,wxwidgets)
("maxima" ,maxima)
("gtk+" ,gtk+)
("shared-mime-info" ,shared-mime-info)))
(arguments
- `(#:phases
+ `(#:tests? #f ; no check target
+ #:phases
(modify-phases %standard-phases
- (add-after 'unpack 'autoconf
- (lambda _
- (zero? (system* "sh" "bootstrap"))))
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-program (string-append (assoc-ref outputs "out")
(define-public openblas
(package
(name "openblas")
- (version "0.2.19")
+ (version "0.2.20")
(source
(origin
(method url-fetch)
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "071zqnmnxhh0c9phzyn3f198yxa0hjxda7016azdbq2056sm70w7"))))
+ "1bd03c5xni0bla0wg1wba841b36b0sg13sjja955kn5xzvy4i61a"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ;no "check" target
+ `(#:test-target "test"
;; DYNAMIC_ARCH is only supported on x86. When it is disabled and no
;; TARGET is specified, OpenBLAS will tune itself to the build host, so
;; we need to disable substitutions.
#:make-flags
(list (string-append "PREFIX=" (assoc-ref %outputs "out"))
"SHELL=bash"
- "NO_LAPACK=1"
;; Build the library for all supported CPUs. This allows
;; switching CPU targets at runtime with the environment variable
;; OPENBLAS_CORETYPE=<type>, where "type" is a supported CPU type.
'("TARGET=ARMV8"))
(else '()))))
;; no configure script
- #:phases (alist-delete 'configure %standard-phases)))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'set-extralib
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Get libgfortran found when building in utest.
+ (setenv "FEXTRALIB"
+ (string-append "-L" (assoc-ref inputs "fortran-lib")
+ "/lib"))
+ #t)))))
(inputs
- `(("fortran" ,gfortran)))
+ `(("fortran-lib" ,gfortran "lib")))
(native-inputs
`(("cunit" ,cunit)
+ ("fortran" ,gfortran)
("perl" ,perl)))
(home-page "http://www.openblas.net/")
(synopsis "Optimized BLAS library based on GotoBLAS")
(define-public openspecfun
(package
(name "openspecfun")
- (version "0.5.2")
+ (version "0.5.3")
(source
(origin
(method url-fetch)
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1y5b2h6f2k72536kym3vzy3li3bhpd23x463g7hdmjdi3cncavz1"))))
+ "1rs1bv8jq751fv9vq79890wqf9xlbjc7lvz3ighzyfczbyjcf18m"))))
(build-system gnu-build-system)
(arguments
- '(#:tests? #f ;no "check" target
+ '(#:tests? #f ; no "check" target
#:make-flags
(list (string-append "prefix=" (assoc-ref %outputs "out")))
- ;; no configure script
- #:phases (modify-phases %standard-phases (delete 'configure))))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)))) ; no configure script
(inputs
`(("fortran" ,gfortran)))
(home-page "https://github.com/JuliaLang/openspecfun")
(modules '((guix build utils)))
(snippet
;; Remove bundled metis source
- '(delete-file-recursively "metis-5.1.0"))))
+ '(begin
+ (delete-file-recursively "metis-5.1.0")
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ;no "check" target
(define-public lpsolve
(package
(name "lpsolve")
- (version "5.5.2.0")
+ (version "5.5.2.5")
(source
(origin
(method url-fetch)
"/lp_solve_" version "_source.tar.gz"))
(sha256
(base32
- "176c7f023mb6b8bfmv4rfqnrlw88lsg422ca74zjh19i2h5s69sq"))
+ "12pj1idjz31r7c2mb5w03vy1cmvycvbkx9z29s40qdmkp1i7q6i0"))
(modules '((guix build utils)))
(snippet
- '(substitute* (list "lp_solve/ccc" "lpsolve55/ccc")
- (("^c=cc") "c=gcc")
- ;; Pretend to be on a 64 bit platform to obtain a common directory
- ;; name for the build results on all architectures; nothing else
- ;; seems to depend on it.
- (("^PLATFORM=.*$") "PLATFORM=ux64\n")
-
- ;; The check for 'isnan' as it is written fails with
- ;; "non-floating-point argument in call to function
- ;; ‘__builtin_isnan’", which leads to the 'NOISNAN' cpp macro
- ;; definition, which in turn leads to bad things. Fix the feature
- ;; test.
- (("isnan\\(0\\)") "isnan(0.)")))))
+ '(begin
+ (substitute* (list "lp_solve/ccc" "lpsolve55/ccc")
+ (("^c=cc") "c=gcc")
+ ;; Pretend to be on a 64 bit platform to obtain a common directory
+ ;; name for the build results on all architectures; nothing else
+ ;; seems to depend on it.
+ (("^PLATFORM=.*$") "PLATFORM=ux64\n")
+
+ ;; The check for 'isnan' as it is written fails with
+ ;; "non-floating-point argument in call to function
+ ;; ‘__builtin_isnan’", which leads to the 'NOISNAN' cpp macro
+ ;; definition, which in turn leads to bad things. Fix the feature
+ ;; test.
+ (("isnan\\(0\\)") "isnan(0.)"))
+ #t))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; no check target
+ `(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
- (delete 'configure)
+ (delete 'configure) ; no configure script
(replace 'build
(lambda _
- (and (with-directory-excursion "lpsolve55"
- (zero? (system* "bash" "ccc")))
- (with-directory-excursion "lp_solve"
- (zero? (system* "bash" "ccc"))))))
+ (with-directory-excursion "lpsolve55"
+ (invoke "bash" "ccc"))
+ (with-directory-excursion "lp_solve"
+ (invoke "bash" "ccc"))
+ #t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
;; This is where LibreOffice expects to find the header
;; files, and where they are installed by Debian.
(include (string-append out "/include/lpsolve")))
- (mkdir-p lib)
- (copy-file "lpsolve55/bin/ux64/liblpsolve55.a"
- (string-append lib "/liblpsolve55.a"))
- (copy-file "lpsolve55/bin/ux64/liblpsolve55.so"
- (string-append lib "/liblpsolve55.so"))
+ (install-file "lpsolve55/bin/ux64/liblpsolve55.a" lib)
+ (install-file "lpsolve55/bin/ux64/liblpsolve55.so" lib)
(install-file "lp_solve/bin/ux64/lp_solve" bin)
;; Install a subset of the header files as on Debian
(define-public dealii
(package
(name "dealii")
- (version "8.5.0")
+ (version "8.5.1")
(source
(origin
(method url-fetch)
"download/v" version "/dealii-" version ".tar.gz"))
(sha256
(base32
- "0yfpy4zh8j7hmqakw17zdlmvfdcmhwgs66wcb716plc4y7v3z4g6"))
+ "1bh9rsmkrg0zi70n27b11djmac9lximghsiy7mg7w7x544n82gnk"))
(modules '((guix build utils)))
(snippet
;; Remove bundled sources: UMFPACK, TBB, muParser, and boost
- '(delete-file-recursively "bundled"))))
+ '(begin
+ (delete-file-recursively "bundled")
+ #t))))
(build-system cmake-build-system)
(inputs
`(("tbb" ,tbb)
supports compressed MAT files, as well as newer (version 7.3) MAT files.")
(license license:bsd-2)))
-(define-public libhilbert
- (package
- (name "libhilbert")
- (version "0.2-1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "http://web.cs.dal.ca/~chamilto/hilbert/"
- "libhilbert-" version ".tar.gz"))
- (sha256
- (base32
- "0v48x8405dj95gjn2saja4bzhw86d6zl6d3dg8h7dzac2qr97s34"))))
- (build-system gnu-build-system)
- (home-page "http://web.cs.dal.ca/~chamilto/hilbert")
- (synopsis "Hilbert indices for multidimensional data")
- (description "The libhilbert library can efficiently calculate Hilbert
-curves and order-preserving representations of Hilbert curve indices that use
-the same amount of space as the original point representation. This is useful
-when using the Gilbert curve as a space filling curve through a
-high-dimensional space where not all demensions have the same cardinality.")
- (license license:lgpl2.1+)))
-
(define-public vc
(package
(name "vc")
- (version "1.2.0")
+ (version "1.3.3")
(source
(origin (method url-fetch)
(uri (string-append "https://github.com/VcDevel/Vc/releases/"
"download/" version "/Vc-" version ".tar.gz"))
(sha256
(base32
- "1rh6dhqar3y07n4xqyml0sa0v48qv3ch9dc3yc2in855hlh4vnqi"))))
+ "1zmlpn32jzb38smp3j834llmbix3whsrbw0h397qxysbw792kih8"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags
"-DINSTALL_PYTHON_BINDINGS=true"
(string-append "-DCMAKE_INSTALL_PYTHON_PKG_DIR="
%output
- "/lib/python2.7/site-packages")
- (string-append "-DCMAKE_INSTALL_LIBDIR="
- %output
- "/lib"))
-
+ "/lib/python2.7/site-packages"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'bootstrap
(("\\\\n") "")))))))
(home-page "http://cubicle.lri.fr/")
(synopsis "Model checker for array-based systems")
- (description "Cubicle is an open source model checker for verifying safety
-properties of array-based systems. This is a syntactically restricted class of
-parametrized transition systems with states represented as arrays indexed by an
-arbitrary number of processes. Cache coherence protocols and mutual exclusion
-algorithms are typical examples of such systems.")
+ (description "Cubicle is a model checker for verifying safety properties
+of array-based systems. This is a syntactically restricted class of
+parametrized transition systems with states represented as arrays indexed by
+an arbitrary number of processes. Cache coherence protocols and mutual
+exclusion algorithms are typical examples of such systems.")
(license license:asl2.0)))
+
+(define-public elemental
+ (package
+ (name "elemental")
+ (version "0.87.7")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/elemental/Elemental/"
+ "archive/v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1nfp82w22pi8x8fg9sc37z8kf84dqi1dhxp8bbk7571y4aygvv3v"))))
+ (build-system cmake-build-system)
+ (home-page "http://libelemental.org")
+ (native-inputs
+ `(("gfortran" ,gfortran)))
+ (inputs
+ `(("blas" ,openblas)
+ ("gfortran:lib" ,gfortran "lib")
+ ("gmp" ,gmp)
+ ("lapack" ,lapack)
+ ("metis" ,metis)
+ ("mpc" ,mpc)
+ ("mpfr" ,mpfr)
+ ("mpi" ,openmpi)
+ ("qd" ,qd)))
+ (arguments
+ `(#:build-type "Release" ;default RelWithDebInfo not supported
+ #:configure-flags `("-DEL_DISABLE_PARMETIS:BOOL=YES"
+ "-DEL_AVOID_COMPLEX_MPI:BOOL=NO"
+ "-DEL_CACHE_WARNINGS:BOOL=YES"
+ "-DEL_TESTS:BOOL=YES"
+ "-DCMAKE_INSTALL_LIBDIR=lib"
+ "-DGFORTRAN_LIB=gfortran")
+ #:phases (modify-phases %standard-phases
+ (add-before 'check 'setup-tests
+ (lambda _
+ ;; Parallelism is done at the MPI layer.
+ (setenv "OMP_NUM_THREADS" "1")
+ #t))
+ (add-after 'install 'remove-tests
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Tests are installed, with no easy configuration
+ ;; switch to prevent this, so delete them.
+ (delete-file-recursively
+ (string-append (assoc-ref outputs "out") "/bin"))
+ #t)))))
+ (synopsis "Dense and sparse-direct linear algebra and optimization")
+ (description "Elemental is a modern C++ library for distributed-memory
+dense and sparse-direct linear algebra, conic optimization, and lattice
+reduction.")
+ (license license:bsd-2)))
+
+(define-public mcrl2
+ (package
+ (name "mcrl2")
+ (version "201707.1.15162")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://www.mcrl2.org/download/devel/mcrl2-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1ziww2fchsklm25hl9p2mngssxfh9w07nc114cncqaxfibqp2p8f"))))
+ (native-inputs
+ `(("subversion" ,subversion)))
+ (inputs
+ `(("boost" ,boost)
+ ("glu" ,glu)
+ ("mesa" ,mesa)
+ ("qt" ,qt)))
+ (build-system cmake-build-system)
+ (synopsis "Toolset for the mCRL2 formal specification language")
+ (description
+ "@dfn{mCRL2} (micro Common Representation Language 2) is a formal
+specification language for describing concurrent discrete event systems. Its
+toolset supports analysis and automatic verification, linearisation, simulation,
+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")
+ (license license:boost1.0)))
+
+(define-public r-subplex
+ (package
+ (name "r-subplex")
+ (version "1.5-2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "subplex" version))
+ (sha256
+ (base32
+ "1v9xrnkapnq7v1jbhlg32ignklzf2vn8rqpayc8pzk8wvz53r33g"))))
+ (build-system r-build-system)
+ (native-inputs
+ `(("gfortran" ,gfortran)))
+ (home-page "https://cran.r-project.org/web/packages/subplex")
+ (synopsis "Unconstrained optimization using the subplex algorithm")
+ (description "This package implements the Subplex optimization algorithm.
+It solves unconstrained optimization problems using a simplex method on
+subspaces. The method is well suited for optimizing objective functions that
+are noisy or are discontinuous at the solution.")
+ (license license:gpl3+)))
+
+(define-public r-desolve
+ (package
+ (name "r-desolve")
+ (version "1.20")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "deSolve" version))
+ (sha256
+ (base32
+ "18nx3maww979a8p8ly4hv63y65mnjx8vbj2fpipd6rhcbf1lbsan"))))
+ (properties `((upstream-name . "deSolve")))
+ (build-system r-build-system)
+ (native-inputs
+ `(("gfortran" ,gfortran)))
+ (home-page "https://desolve.r-forge.r-project.org/")
+ (synopsis "Solvers for initial value problems of differential equations")
+ (description "This package provides functions that solve initial
+value problems of a system of first-order ordinary differential equations (ODE),
+of partial differential equations (PDE), of differential algebraic equations
+(DAE), and of delay differential equations. The functions provide an interface
+to the FORTRAN functions lsoda, lsodar, lsode, lsodes of the ODEPACK collection,
+to the FORTRAN functions dvode and daspk and a C-implementation of solvers of
+the Runge-Kutta family with fixed or variable time steps. The package contains
+routines designed for solving ODEs resulting from 1-D, 2-D and 3-D partial
+differential equations (PDE) that have been converted to ODEs by numerical
+differencing.")
+ (license license:gpl2+)))