From abe3c5ed7d04985c987e6c81aeb1284354ea0c77 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Tue, 4 Aug 2020 15:21:22 +0200 Subject: gnu: mcrl2: Update to 202006.0. * gnu/packages/maths.scm (mcrl2): Update to 202006.0. --- gnu/packages/maths.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 3991b2f88b..3a746bd712 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -22,7 +22,7 @@ ;;; Copyright © 2017, 2019 Arun Isaac ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2017 Dave Love -;;; Copyright © 2018, 2019 Jan Nieuwenhuizen +;;; Copyright © 2018, 2019, 2020 Jan Nieuwenhuizen ;;; Copyright © 2018 Joshua Sierles, Nextjournal ;;; Copyright © 2018 Nadya Voronova ;;; Copyright © 2018 Adam Massmann @@ -4698,7 +4698,7 @@ reduction.") (define-public mcrl2 (package (name "mcrl2") - (version "201908.0") + (version "202006.0") (source (origin (method url-fetch) (uri (string-append @@ -4706,7 +4706,7 @@ reduction.") version ".tar.gz")) (sha256 (base32 - "1i4xgl2d5fgiz1mwi50cyfkrrcpm8nxfayfjgmhq7chs58wlhfsz")))) + "167ryrzk1a2j53c2j198jlxa98amcaym070gkcj730619gymv5zl")))) (inputs `(("boost" ,boost) ("glu" ,glu) -- cgit v1.2.3 From 698673699e0ec501bca3abf1d455670a49cbf90e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 10 Aug 2020 16:49:20 +0200 Subject: gnu: Add clapack. * gnu/packages/maths.scm (clapack): New variable. --- gnu/packages/maths.scm | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 3a746bd712..232dec5ecc 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -809,6 +809,62 @@ problems in numerical linear algebra.") (license (license:non-copyleft "file://LICENSE" "See LICENSE in the distribution.")))) +(define-public clapack + (package + (name "clapack") + (version "3.2.1") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.netlib.org/clapack/clapack-" + version "-CMAKE.tgz")) + (sha256 + (base32 + "0nnap9q1mv14g57dl3vkvxrdr10k5w7zzyxs6rgxhia8q8mphgqb")))) + (build-system cmake-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; These tests use a lot of stack variables and segfault without + ;; lifting resource limits. + (add-after 'unpack 'disable-broken-tests + (lambda _ + (substitute* "TESTING/CMakeLists.txt" + (("add_lapack_test.* xeigtstz\\)") "")) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (libdir (string-append out "/lib")) + (f2cinc (string-append out "/include/libf2c"))) + (mkdir-p f2cinc) + (display (getcwd)) + (for-each (lambda (file) + (install-file file libdir)) + '("SRC/liblapack.a" + "F2CLIBS/libf2c/libf2c.a" + "TESTING/MATGEN/libtmglib.a" + "BLAS/SRC/libblas.a")) + (for-each (lambda (file) + (install-file file f2cinc)) + (cons "F2CLIBS/libf2c/arith.h" + (find-files (string-append "../clapack-" + ,version "-CMAKE/F2CLIBS/libf2c") + "\\.h$"))) + (copy-recursively (string-append "../clapack-" + ,version "-CMAKE/INCLUDE") + (string-append out "/include")) + #t)))))) + (home-page "https://www.netlib.org/clapack/") + (synopsis "Numerical linear algebra library for C") + (description + "The CLAPACK library was built using a Fortran to C conversion utility +called f2c. The entire Fortran 77 LAPACK library is run through f2c to obtain +C code, and then modified to improve readability. CLAPACK's goal is to +provide LAPACK for someone who does not have access to a Fortran compiler.") + (license (license:non-copyleft "file://LICENSE" + "See LICENSE in the distribution.")))) + (define-public scalapack (package (name "scalapack") -- cgit v1.2.3 From 7294cbecdd89156c6c651f30ad4c29ad051b46d9 Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Sat, 15 Aug 2020 22:39:14 -0300 Subject: gnu: Add veusz. * gnu/packages/maths.scm (veusz): New variable. Signed-off-by: Mathieu Othacehe --- gnu/packages/maths.scm | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 232dec5ecc..461c286044 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -2120,6 +2120,70 @@ modules is done either interactively using the graphical user interface or in ASCII text files using Gmsh's own scripting language.") (license license:gpl2+))) +(define-public veusz + (package + (name "veusz") + (version "3.2.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "veusz" version)) + (sha256 + (base32 "00vmfpvyd6f33l5awlf02qdik3gmbhzyfizfwwbx7qnam2i9bbwy")))) + (build-system python-build-system) + (arguments + `(;; Tests will fail because they depend on optional packages like + ;; python-astropy, which is not packaged. + #:tests? #f + #:phases + (modify-phases %standard-phases + ;; Veusz will append 'PyQt5' to sip_dir by default. That is not how + ;; the path is defined in Guix, therefore we have to change it. + (add-after 'unpack 'fix-sip-dir + (lambda _ + (substitute* "pyqtdistutils.py" + (("os.path.join\\(sip_dir, 'PyQt5'\\)") "sip_dir")) + #t)) + ;; Now we have to pass the correct sip_dir to setup.py. + (replace 'build + (lambda* (#:key inputs #:allow-other-keys) + ;; We need to tell setup.py where to locate QtCoremod.sip + ((@@ (guix build python-build-system) call-setuppy) + "build_ext" + (list (string-append "--sip-dir=" + (assoc-ref inputs "python-pyqt") + "/share/sip")) + #t))) + ;; Ensure that icons are found at runtime. + (add-after 'install 'wrap-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/veusz") + `("QT_PLUGIN_PATH" prefix + ,(list (string-append (assoc-ref inputs "qtsvg") + "/lib/qt5/plugins/")))))))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ;;("python-astropy" ,python-astropy) ;; FIXME: Package this. + ("qttools" ,qttools))) + (inputs + `(("ghostscript" ,ghostscript) ;optional, for EPS/PS output + ("python-dbus" ,python-dbus) + ("python-h5py" ,python-h5py) ;optional, for HDF5 data + ("python-pyqt" ,python-pyqt) + ("qtbase" ,qtbase) + ("qtsvg" ,qtsvg))) + (propagated-inputs + `(("python-numpy" ,python-numpy))) + (home-page "https://veusz.github.io/") + (synopsis "Scientific plotting package") + (description + "Veusz is a scientific plotting and graphing program with a graphical +user interface, designed to produce publication-ready 2D and 3D plots. In +addition it can be used as a module in Python for plotting. It supports +vector and bitmap output, including PDF, Postscript, SVG and EMF.") + (license license:gpl2+))) + (define-public maxflow (package (name "maxflow") -- cgit v1.2.3 From e79fe4f675dc7e56e3d5058cca5aef9fb2efe785 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Thu, 30 Jul 2020 23:20:38 -0400 Subject: gnu: wxmaxima: Update to 20.06.6. * gnu/packages/maths.scm (wxmaxima): Update to 20.06.6. [arguments]: Add 'patch-doc-path phase. --- gnu/packages/maths.scm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 461c286044..e3209c1e50 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -3383,7 +3383,7 @@ point numbers.") (define-public wxmaxima (package (name "wxmaxima") - (version "20.04.0") + (version "20.06.6") (source (origin (method git-fetch) @@ -3392,7 +3392,7 @@ point numbers.") (commit (string-append "Version-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0vrjxzfgmjdzm1rgl0crz4b4badl14jwh032y3xkcdvjl5j67lp3")))) + (base32 "054f7n5kx75ng5j20rd5q27n9xxk03mrd7sbxyym1lsswzimqh4w")))) (build-system cmake-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -3410,6 +3410,14 @@ point numbers.") `(#:test-target "test" #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-doc-path + (lambda _ + ;; Don't look in share/doc/wxmaxima-xx.xx.x for the + ;; documentation. Only licensing information is placed there by + ;; Guix. + (substitute* "src/Dirstructure.cpp" + (("/doc/wxmaxima-\\%s") "/doc/wxmaxima")) + #t)) (add-before 'check 'pre-check (lambda _ ;; Tests require a running X server. -- cgit v1.2.3 From 3b8eea1c40471e7eab9927966ae17debe7ab54d7 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 25 Aug 2020 15:12:50 +0200 Subject: gnu: hdf5: Distinguish the default hdf5 version. * gnu/packages/maths.scm (hdf5): Rename to... (hdf-1.8): ... this. (hdf5-1.10): Adjust accordingly. (hdf5): New variable. --- gnu/packages/maths.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index e3209c1e50..64b684100d 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1053,7 +1053,7 @@ incompatible with HDF5.") (synopsis "HDF4 without netCDF API, can be combined with the regular netCDF library"))) -(define-public hdf5 +(define-public hdf5-1.8 (package (name "hdf5") (version "1.8.21") @@ -1181,7 +1181,7 @@ extremely large and complex data collections.") "https://www.hdfgroup.org/ftp/HDF5/current/src/unpacked/COPYING")))) (define-public hdf5-1.10 - (package (inherit hdf5) + (package (inherit hdf5-1.8) (version "1.10.6") (source (origin @@ -1199,6 +1199,10 @@ extremely large and complex data collections.") (base32 "1gf38x51128hn00744358w27xgzjk0ff4wra4yxh2lk804ck1mh9")) (patches (search-patches "hdf5-config-date.patch")))))) +(define-public hdf5 + ;; Default version of HDF5. + hdf5-1.8) + (define-public hdf-java (package (name "hdf-java") -- cgit v1.2.3 From 4788e5542025ba82e03e02d49a04416292d1fccb Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 25 Aug 2020 15:18:56 +0200 Subject: gnu: hdf5: Use 'package/inherit' for variants. * gnu/packages/maths.scm (hdf5-1.10, hdf5-parallel-openmpi): Use 'package/inherit'. --- gnu/packages/maths.scm | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 64b684100d..8e0d30742a 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1181,23 +1181,23 @@ extremely large and complex data collections.") "https://www.hdfgroup.org/ftp/HDF5/current/src/unpacked/COPYING")))) (define-public hdf5-1.10 - (package (inherit hdf5-1.8) + (package/inherit hdf5-1.8 (version "1.10.6") (source (origin - (method url-fetch) - (uri (list (string-append "https://support.hdfgroup.org/ftp/HDF5/releases/" - "hdf5-" (version-major+minor version) - "/hdf5-" version "/src/hdf5-" - version ".tar.bz2") - (string-append "https://support.hdfgroup.org/ftp/HDF5/" - "current" - (apply string-append - (take (string-split version #\.) 2)) - "/src/hdf5-" version ".tar.bz2"))) - (sha256 - (base32 "1gf38x51128hn00744358w27xgzjk0ff4wra4yxh2lk804ck1mh9")) - (patches (search-patches "hdf5-config-date.patch")))))) + (method url-fetch) + (uri (list (string-append "https://support.hdfgroup.org/ftp/HDF5/releases/" + "hdf5-" (version-major+minor version) + "/hdf5-" version "/src/hdf5-" + version ".tar.bz2") + (string-append "https://support.hdfgroup.org/ftp/HDF5/" + "current" + (apply string-append + (take (string-split version #\.) 2)) + "/src/hdf5-" version ".tar.bz2"))) + (sha256 + (base32 "1gf38x51128hn00744358w27xgzjk0ff4wra4yxh2lk804ck1mh9")) + (patches (search-patches "hdf5-config-date.patch")))))) (define-public hdf5 ;; Default version of HDF5. @@ -1411,7 +1411,7 @@ Swath).") (license (license:non-copyleft home-page)))) (define-public hdf5-parallel-openmpi - (package (inherit hdf5) + (package/inherit hdf5 (name "hdf5-parallel-openmpi") (inputs `(("mpi" ,openmpi) -- cgit v1.2.3 From 593096355501dfd76c2e92b1fbd87f940ab1d1f2 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 26 Aug 2020 00:45:12 +0200 Subject: gnu: hdf5-parallel-openmpi: Update to 1.10.6. * gnu/packages/maths.scm (hdf5-parallel-openmpi): Inherit from HDF5-1.10. --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 8e0d30742a..20582c33da 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1411,7 +1411,7 @@ Swath).") (license (license:non-copyleft home-page)))) (define-public hdf5-parallel-openmpi - (package/inherit hdf5 + (package/inherit hdf5-1.10 ;use the latest (name "hdf5-parallel-openmpi") (inputs `(("mpi" ,openmpi) @@ -1437,7 +1437,7 @@ Swath).") (substitute* "testpar/Makefile" (("(^TEST_PROG_PARA.*)t_pflush1(.*)" front back) (string-append front back "\n"))) - (substitute* "tools/h5diff/testph5diff.sh" + (substitute* "tools/test/h5diff/testph5diff.sh" (("/bin/sh") (which "sh"))) #t)))))) (synopsis "Management suite for data with parallel IO support"))) -- cgit v1.2.3 From 51c55cedda6c69ba68da6be88176b847effa6479 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 26 Aug 2020 00:46:42 +0200 Subject: gnu: netcdf-parallel-openmpi: Allow MPI tests to pass. * gnu/packages/maths.scm (netcdf-parallel-openmpi)[arguments]: Add 'mip-setup' phase. --- gnu/packages/maths.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 20582c33da..d83ea6741a 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1607,7 +1607,11 @@ sharing of scientific data.") "--enable-parallel-tests" ;; Shared libraries not supported with parallel IO. "--disable-shared" "--with-pic" - ,flags)))))) + ,flags)) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (add-after 'build 'mpi-setup + ,%openmpi-setup))))))) (define-public netcdf-fortran (package -- cgit v1.2.3 From 253fcfe6fec8fb9d70cde8623fe562dc3ca67262 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 26 Aug 2020 00:51:20 +0200 Subject: gnu: octave: Remove unneeded 'source' field. * gnu/packages/maths.scm (octave)[source]: Remove. It had been unnecessary since b66741edc954f0a17f1ef567e8d612cac87c7b6a. --- gnu/packages/maths.scm | 2 -- 1 file changed, 2 deletions(-) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index d83ea6741a..39ff242d6e 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1904,8 +1904,6 @@ script files.") (define-public octave (package (inherit octave-cli) (name "octave") - (source (origin - (inherit (package-source octave-cli)))) (inputs `(("qscintilla" ,qscintilla) ("qt" ,qtbase) -- cgit v1.2.3 From f37e2388d0b777793a711c817a7ee0826d8cdc9f Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 27 Aug 2020 14:53:54 +0200 Subject: gnu: lrslib: Update to 7.1. * gnu/packages/maths.scm (lrslib): Update to 7.1. --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 39ff242d6e..ce8ab22196 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -640,7 +640,7 @@ computing convex hulls.") (define-public lrslib (package (name "lrslib") - (version "7.0a") + (version "7.1") (source (origin (method url-fetch) @@ -649,7 +649,7 @@ computing convex hulls.") (string-delete #\. version) ".tar.gz")) (sha256 (base32 - "034fa45r9hwx6ljmgpxk2872q34nklkalpdkc6s9hqw57rivi36k")))) + "05kq3hzam31dlmkccv3v358r478kpvx76mw37ka12c6ypwv5dsnk")))) (build-system gnu-build-system) (inputs `(("gmp" ,gmp))) -- cgit v1.2.3 From 9bb7534a3dd81c4ecfdb90a50927fcb268de0963 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 25 Aug 2020 18:52:18 +0300 Subject: gnu: Add libflame. * gnu/packages/maths.scm (libflame): New variable. --- gnu/packages/maths.scm | 81 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 80 insertions(+), 1 deletion(-) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index ce8ab22196..97f57ddd24 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -135,7 +135,8 @@ #:use-module (gnu packages version-control) #:use-module (gnu packages wxwidgets) #:use-module (gnu packages xml) - #:use-module (srfi srfi-1)) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26)) (define-public aris (package @@ -1756,6 +1757,84 @@ linear and quadratic objectives. There are limited facilities for nonlinear and quadratic objectives using the Simplex algorithm.") (license license:epl1.0))) +(define-public libflame + (package + (name "libflame") + (version "5.2.0") + (outputs '("out" "static")) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/flame/libflame") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1n6lf0wvpp77lxqlr721h2jbfbzigphdp19wq8ajiccilcksh7ay")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + ;; Sensible defaults: https://github.com/flame/libflame/issues/28 + (list "--enable-dynamic-build" + "--enable-max-arg-list-hack" + "--enable-lapack2flame" + "--enable-verbose-make-output" + "--enable-multithreading=pthreads" ; Openblas isn't built with openmp. + ,@(if (any (cute string-prefix? <> (or (%current-target-system) + (%current-system))) + '("x86_64" "i686")) + '("--enable-vector-intrinsics=sse") + '()) + "--enable-supermatrix" + "--enable-memory-alignment=16" + "--enable-ldim-alignment") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-/usr/bin/env-bash + (lambda _ + (substitute* "build/config.mk.in" + (("/usr/bin/env bash") (which "bash"))) + #t)) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (substitute* "test/Makefile" + (("LIBBLAS .*") "LIBBLAS = -lblas\n") + (("LIBLAPACK .*") "LIBLAPACK = -llapack\n")) + (if tests? + (with-directory-excursion "test" + (mkdir "obj") + (invoke "make") + (invoke "./test_libflame.x")) + #t))) + (add-after 'install 'install-static + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (static (assoc-ref outputs "static"))) + (mkdir-p (string-append static "/lib")) + (rename-file (string-append out "/lib/libflame.a") + (string-append static "/lib/libflame.a")) + (install-file (string-append out "/include/FLAME.h") + (string-append static "/include")) + #t)))))) + (inputs + `(("gfortran" ,gfortran))) + (native-inputs + `(("lapack" ,lapack) + ("openblas" ,openblas) + ("perl" ,perl) + ("python" ,python-wrapper))) + (home-page "https://github.com/flame/libflame") + (synopsis "High-performance object-based library for DLA computations") + (description "@code{libflame} is a portable library for dense matrix +computations, providing much of the functionality present in LAPACK, developed +by current and former members of the @acronym{SHPC, Science of High-Performance +Computing} group in the @url{https://www.ices.utexas.edu/, Institute for +Computational Engineering and Sciences} at The University of Texas at Austin. +@code{libflame} includes a compatibility layer, @code{lapack2flame}, which +includes a complete LAPACK implementation.") + (license license:bsd-3))) + (define-public ceres (package (name "ceres-solver") -- cgit v1.2.3