;;; 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, 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Paul Garlick <pgarlick@tourbillion-technology.com>
;;; 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 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))
(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 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.64")
+ (version "4.65")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "096cqgjc7vkq6wd8znhcxjbs1s2rym3qf753fqxrrq531vs6g4jk"))))
+ "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")
#: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)
(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"))))))
+ (delete-file-recursively ,(string-append "hdfjava-" version "/lib"))
+ #t))))
(build-system gnu-build-system)
(native-inputs
`(("jdk" ,icedtea "jdk")
(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 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)
(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 r-pracma
(package
(name "r-pracma")
- (version "2.1.1")
+ (version "2.1.4")
(source (origin
(method url-fetch)
(uri (cran-uri "pracma" version))
(sha256
- (base32 "1mylrrkyycaw9m01mmg6xkn5wgdlabs5l0qyws60r0n2ycblp897"))))
+ (base32 "1ygm81i7mqvh229dp9935djjyb120p3bqvaf4k572sa4q63fzjhc"))))
(build-system r-build-system)
(propagated-inputs
`(("r-quadprog" ,r-quadprog)))
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)))
(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 wxmaxima
(package
(name "wxmaxima")
- (version "17.10.1")
+ (version "18.02.0")
(source
(origin
(method url-fetch)
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0qlzc31cqkwpfgrb9cif9bcnkj3rq487plg4rns7jxv6pq4609v1"))))
- (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")
(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
(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)
(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
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+)))