;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2019 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2013, 2014, 2015, 2016, 2019, 2020 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, 2018, 2019 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Fabian Harfert <fhmgufs@web.de>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
-;;; Copyright © 2016, 2018 Kei Kebreau <kkebreau@posteo.net>
+;;; Copyright © 2016, 2018, 2020 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com>
;;; Copyright © 2019 Robert Smith <robertsmith@posteo.net>
+;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
+;;; Copyright © 2020 Felix Gruber <felgru@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
+ #:use-module (gnu packages dbm)
#:use-module (gnu packages documentation)
#:use-module (gnu packages elf)
#:use-module (gnu packages flex)
be solved.")
(license license:gpl2+)))
+(define-public vinci
+ (package
+ (name "vinci")
+ (version "1.0.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.math.u-bordeaux.fr/~aenge/software/"
+ "vinci/vinci-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1aq0qc1y27iw9grhgnyji3290wwfznsrk3sg6ynqpxwjdda53h4m"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("lrslib" ,lrslib)))
+ (arguments
+ `(#:tests? #f ; no check phase
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ ;; register the lrs location in the config file
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((lrs (assoc-ref inputs "lrslib"))
+ (lrsexec (string-append lrs "/bin/lrs")))
+ (substitute* "vinci.h"
+ (("#define LRS_EXEC \"lrs\"")
+ (string-append "#define LRS_EXEC \"" lrsexec "\""))))
+ #t))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
+ (install-file "vinci" bin))
+ #t)))))
+ (home-page
+ "https://www.math.u-bordeaux.fr/~aenge/?category=software&page=vinci")
+ (synopsis "Volume computation for polytopes")
+ (description
+ "Vinci implements a number of volume computation algorithms for convex
+polytopes in arbitrary dimension. The polytopes can be given by their
+V-representation (as the convex hull of a finite number of vertices), by
+their H-representation (as the bounded intersection of a finite number of
+halfspaces) or by their double description with both representations.")
+ (license license:gpl2+)))
+
(define-public arpack-ng
(package
(name "arpack-ng")
(define-public octave-cli
(package
(name "octave-cli")
- (version "5.1.0")
+ (version "5.2.0")
(source
(origin
(method url-fetch)
version ".tar.lz"))
(sha256
(base32
- "11wwxpy2q1bhxs2v41bqn05i2sb0905cj1xil6mg8l4k2kka4cq6"))))
+ "1848dq6nxzal8gwjrcp6xhi5gq96w89nss9d9rz75q408gb3mbl6"))))
(build-system gnu-build-system)
(inputs
`(("alsa-lib" ,alsa-lib)
("arpack" ,arpack-ng)
+ ("bdb" ,bdb)
("curl" ,curl)
("fftw" ,fftw)
("fftwf" ,fftwf)
(source
(origin
(method url-fetch)
- (uri (string-append "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/"
+ (uri (string-append "https://portal.nersc.gov/project/sparse/superlu/"
"superlu_" version ".tar.gz"))
(sha256
(base32 "0qzlb7cd608q62kyppd0a8c65l03vrwqql6gsm465rky23b6dyr8"))
`(#:configure-flags '("-Denable_blaslib:BOOL=NO" ;do not use internal cblas
"-DTPL_BLAS_LIBRARIES=openblas"
"-DBUILD_SHARED_LIBS:BOOL=YES")))
- (home-page "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/")
+ (home-page "https://portal.nersc.gov/project/sparse/superlu/")
(synopsis "Supernodal direct solver for sparse linear systems")
(description
"SuperLU is a general purpose library for the direct solution of large,
(define-public superlu-dist
(package
(name "superlu-dist")
- (version "6.1.0")
+ (version "6.2.0")
(source
(origin
(method url-fetch)
- (uri (string-append "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/"
+ (uri (string-append "https://portal.nersc.gov/project/sparse/superlu/"
"superlu_dist_" version ".tar.gz"))
(sha256
- (base32 "0pqgcgh1yxhfzs99fas3mggajzd5wca3nbyp878rziy74gfk03dl"))
+ (base32 "1ynmwqajc9sc3my2hssa5k9s58ggvizqv9rdss0j7w99pbh5mnvw"))
(modules '((guix build utils)))
(snippet
;; Replace the non-free implementation of MC64 with a stub
"RowPerm = NOROWPERM;"))
#t))
(patches (search-patches "superlu-dist-scotchmetis.patch"
- "superlu-dist-awpm-grid.patch"
- "superlu-dist-fix-mpi-deprecations.patch"))))
+ "superlu-dist-awpm-grid.patch"))))
(build-system cmake-build-system)
(native-inputs
`(("tcsh" ,tcsh)))
(define-public wxmaxima
(package
(name "wxmaxima")
- (version "20.01.3")
+ (version "20.02.4")
(source
(origin
(method git-fetch)
(commit (string-append "Version-" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "18fj2m1qwlbavivpixph112wq9hxy3hh7c8q07djc3bhrzf2a7v7"))))
+ (base32 "106a7jrjwfmymzj70nsv44fm3jbxngr8pmkaghhpwy0ln38lhf54"))))
(build-system cmake-build-system)
(native-inputs
- `(("gettext" ,gettext-minimal)))
+ `(("gettext" ,gettext-minimal)
+ ("xorg-server" ,xorg-server-for-tests)))
+ ;; TODO: Add libomp for multithreading support.
+ ;; As of right now, enabling libomp causes the imageCells.wxm test to fail.
(inputs
`(("wxwidgets" ,wxwidgets)
("maxima" ,maxima)
("gtk+" ,gtk+)
("shared-mime-info" ,shared-mime-info)))
(arguments
- `(#:tests? #f ; no check target
+ `(#:test-target "test"
#:phases
(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; Tests require a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ (setenv "HOME" (getcwd))
+ #t))
(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.3.7")
+ (version "0.3.9")
(source
(origin
(method url-fetch)
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0jbdjsi0qsxahdcm42agnn1y7xpmg0hrhwjsxg0zbhs9wwy3p568"))))
+ "14iz9xnrb9xiwgj84j94mc74gg0zn2vsy9fmsijxxma1n7dck4w3"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
`(("cunit" ,cunit)
("fortran" ,gfortran)
("perl" ,perl)))
- (home-page "http://www.openblas.net/")
+ (home-page "https://www.openblas.net/")
(synopsis "Optimized BLAS library based on GotoBLAS")
(description
"OpenBLAS is a BLAS library forked from the GotoBLAS2-1.13 BSD version.")
(define-public suitesparse
(package
(name "suitesparse")
- (version "4.5.5")
+ (version "5.7.1")
(source
(origin
- (method url-fetch)
- (uri (string-append
- "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-"
- version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/DrTimothyAldenDavis/SuiteSparse.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1dnr6pmjzc2qmbkmb4shigx1l74ilf6abn7svyd6brxgvph8vadr"))
+ "174p3l78kv9gaa0i5hflyai2ydwnjzh34k9938sl4aa3li0543s8"))
+ (patches (search-patches "suitesparse-mongoose-cmake.patch"))
(modules '((guix build utils)))
(snippet
;; Remove bundled metis source
"BLAS=-lblas"
"TBB=-ltbb"
"MY_METIS_LIB=-lmetis"
+ ;; Flags for cmake (required to build GraphBLAS and Mongoose)
+ (string-append "CMAKE_OPTIONS=-DCMAKE_INSTALL_PREFIX="
+ (assoc-ref %outputs "out")
+ " -DCMAKE_VERBOSE_MAKEFILE=ON"
+ " -DCMAKE_C_FLAGS_RELEASE=\"$(CFLAGS) $(CPPFLAGS)\""
+ " -DCMAKE_CXX_FLAGS_RELEASE=\"$(CXXFLAGS) $(CPPFLAGS)\""
+ " -DCMAKE_SKIP_RPATH=TRUE"
+ " -DCMAKE_BUILD_TYPE=Release")
(string-append "INSTALL_LIB="
(assoc-ref %outputs "out") "/lib")
(string-append "INSTALL_INCLUDE="
`(("tbb" ,tbb)
("lapack" ,lapack)
("metis" ,metis)))
+ (native-inputs
+ `(("cmake" ,cmake)
+ ("m4" ,m4)))
(home-page "http://faculty.cse.tamu.edu/davis/suitesparse.html")
(synopsis "Suite of sparse matrix software")
(description
"0hprcdwhhyjigmhhk6514m71bnmvqci9r8gglrqilgx424r6ff7q"))))
(build-system gnu-build-system)
(arguments
- `(#:phases
+ `(#:imported-modules ((guix build python-build-system)
+ ,@%gnu-build-system-modules)
+ #:modules (((guix build python-build-system) #:select (site-packages))
+ (guix build gnu-build-system)
+ (guix build utils))
+ #:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-compatability
;; Versions after 4.8.3 have immintrin.h IFDEFed for Windows only.
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(invoke "./configure"
- (string-append "--prefix=" (assoc-ref outputs "out")))))
+ "--python"
+ (string-append "--prefix=" (assoc-ref outputs "out"))
+ (string-append "--pypkgdir=" (site-packages inputs outputs)))))
(add-after 'configure 'change-directory
(lambda _
(chdir "build")
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/")
+ (home-page "https://speedcrunch.org/")
(license license:gpl2+)))
(define-public minisat