diff options
Diffstat (limited to 'gnu/packages/maths.scm')
-rw-r--r-- | gnu/packages/maths.scm | 134 |
1 files changed, 83 insertions, 51 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index adc7beb655..479591889f 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014-2022 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org> -;;; Copyright © 2015–2023 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015–2024 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2015, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015-2023 Efraim Flashner <efraim@flashner.co.il> @@ -28,9 +28,9 @@ ;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com> ;;; Copyright © 2018, 2020-2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2018 Eric Brown <brown@fastmail.com> -;;; Copyright © 2018, 2021 Julien Lepiller <julien@lepiller.eu> +;;; Copyright © 2018, 2021, 2024 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2018 Amin Bandali <bandali@gnu.org> -;;; Copyright © 2019, 2021-2023 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2019, 2021-2024 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> @@ -93,6 +93,7 @@ #:use-module (guix build-system ant) #:use-module (guix build-system cmake) #:use-module (guix build-system copy) + #:use-module (guix build-system dune) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system meson) @@ -126,6 +127,7 @@ #:use-module (gnu packages flex) #:use-module (gnu packages fltk) #:use-module (gnu packages fontutils) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) #:use-module (gnu packages gcc) #:use-module (gnu packages gd) @@ -183,6 +185,7 @@ #:use-module (gnu packages tcl) #:use-module (gnu packages texinfo) #:use-module (gnu packages tex) + #:use-module (gnu packages time) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) #:use-module (gnu packages wxwidgets) @@ -423,13 +426,13 @@ programming language.") (define-public units (package (name "units") - (version "2.22") + (version "2.23") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/units/units-" version ".tar.gz")) (sha256 (base32 - "0j2q2a9sgldqwcifsnb7qagsmp8fvj91vfh6v4k7gzi1fwhf24sx")))) + "0w3kl58y7fq9paaq8ayn5gwylc4n8jbk6lf42kkcj9ar4i8v8myr")))) (build-system gnu-build-system) (inputs `(("readline" ,readline) @@ -1053,7 +1056,7 @@ halfspaces) or by their double description with both representations.") (define-public arpack-ng (package (name "arpack-ng") - (version "3.9.0") + (version "3.9.1") (home-page "https://github.com/opencollab/arpack-ng") (source (origin (method git-fetch) @@ -1061,9 +1064,10 @@ halfspaces) or by their double description with both representations.") (file-name (git-file-name name version)) (sha256 (base32 - "09smxilyn8v9xs3kpx3nlj2s7ql3v8z40mpc09kccbb6smyd35iv")) - (patches (search-patches "arpack-ng-propagate-rng-state.patch")))) + "0bbw6a48py9fjlif2n4x75skyjskq2hghffjqzm85wnsnsjdlaqw")))) (build-system cmake-build-system) + (arguments + '(#:configure-flags '("-DICB=ON"))) (native-inputs (list pkg-config)) (inputs @@ -1282,7 +1286,7 @@ in the terminal or with an external viewer.") (define-public giza (package (name "giza") - (version "1.3.2") + (version "1.4.1") (source (origin (method git-fetch) @@ -1290,7 +1294,7 @@ in the terminal or with an external viewer.") (url "https://github.com/danieljprice/giza") (commit (string-append "v" version)))) (sha256 - (base32 "1clklh3nzgwrwg80h3k5x65gdymbvcc84c44nql7m4bv9b8rqfsq")) + (base32 "17h8hkhcqlvgryyp5n206fbqpals2vbnjy4f6f1zwj9jiblgi5mj")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs @@ -3484,8 +3488,20 @@ September 2004}") '("configure.log" "make.log" "gmake.log" "test.log" "error.log" "RDict.db" "PETScBuildInternal.cmake" + "configure-hash" ;; Once installed, should uninstall with Guix "uninstall.py"))))) + (add-after 'clean-install 'clear-reference-to-compiler + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Do not retain a reference to GCC and other build only inputs. + (let ((out (assoc-ref outputs "out"))) + (substitute* (string-append out "/lib/petsc/conf/petscvariables") + (("([[:graph:]]+)/bin/gcc") "gcc") + (("([[:graph:]]+)/bin/g\\+\\+") "g++") + (("([[:graph:]]+)/bin/make") "make") + (("([[:graph:]]+)/bin/diff") "diff") + (("([[:graph:]]+)/bin/sed") "sed") + (("([[:graph:]]+)/bin/gfortran") "gfortran"))))) (add-after 'install 'move-examples (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -3500,7 +3516,8 @@ September 2004}") data structures and routines for the scalable (parallel) solution of scientific applications modeled by partial differential equations.") (license (license:non-copyleft - "https://www.mcs.anl.gov/petsc/documentation/copyright.html")))) + "https://www.mcs.anl.gov/petsc/documentation/copyright.html")) + (properties '((tunable? . #t))))) (define-public petsc-complex (package @@ -3636,14 +3653,16 @@ bindings to almost all functions of PETSc.") (define-public python-kiwisolver (package (name "python-kiwisolver") - (version "1.0.1") + (version "1.4.5") (source (origin (method url-fetch) (uri (pypi-uri "kiwisolver" version)) (sha256 (base32 - "0y22ci86znwwwfhbmvbgdfnbi6lv5gv2xkdlxvjw7lml43ayafyf")))) - (build-system python-build-system) + "1v6nc0z9dg4am0bibji9pijci9f15z68mwrlv91a28pvawx5czp5")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-typing-extensions)) + (native-inputs (list python-cppy python-pytest python-setuptools-scm)) (home-page "https://github.com/nucleic/kiwi") (synopsis "Fast implementation of the Cassowary constraint solver") (description @@ -7118,16 +7137,21 @@ set.") (lambda _ (invoke "make" "-C" "docs"))) (replace 'check - (lambda _ - (setenv "LD_LIBRARY_PATH" (string-append (getcwd) "/hypre/lib")) - (setenv "PATH" (string-append "." ":" (getenv "PATH"))) - (invoke "make" "check" "CHECKRUN=") - (for-each (lambda (filename) - (let ((size (stat:size (stat filename)))) - (when (positive? size) - (error (format #f "~a size ~d; error indication~%" - filename size))))) - (find-files "test" ".*\\.err$")))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "LD_LIBRARY_PATH" + (string-append (getcwd) "/hypre/lib")) + (setenv "PATH" + (string-append "." ":" + (getenv "PATH"))) + (invoke "make" "check" "CHECKRUN=") + (for-each (lambda (filename) + (let ((size (stat:size (stat filename)))) + (when (positive? size) + (error (format #f + "~a size ~d; error indication~%" + filename size))))) + (find-files "test" ".*\\.err$"))))) (add-after 'install 'install-docs (lambda* (#:key outputs #:allow-other-keys) ;; Custom install because docs/Makefile doesn't honor ${docdir}. @@ -8052,7 +8076,7 @@ easily be incorporated into existing simulation codes.") ".tgz")) (sha256 (base32 - "1a9wbgdqyy1whhfc0yl0yqkax3amnqa6iihhq48d063gc0jwfd9a")) + "0gzxgd2ybnh49h57rh47vrqnsyk11jn206j5kf9y7p5vksc79ffz")) (patches (search-patches "combinatorial-blas-awpm.patch" "combinatorial-blas-io-fix.patch")))) (build-system cmake-build-system) @@ -8071,6 +8095,12 @@ easily be incorporated into existing simulation codes.") #:parallel-tests? #f ;tests use 'mpiexec -n4' #:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-tests + (lambda _ + ;; Skip failing tests (SIGFPE and SIGSEGV). + (substitute* "ReleaseTests/CMakeLists.txt" + (("^.*SpAsgnTest.*$") "") + (("^.*IndexingTest.*$") "")))) (add-before 'check 'mpi-setup ,%openmpi-setup) (add-before 'check 'test-setup @@ -8718,7 +8748,7 @@ management via the GIMPS project's Primenet server.") (define-public nauty (package (name "nauty") - (version "2.8.6") + (version "2.8.8") (source (origin (method url-fetch) @@ -8726,7 +8756,7 @@ management via the GIMPS project's Primenet server.") "https://pallini.di.uniroma1.it/" "nauty" (string-join (string-split version #\.) "_") ".tar.gz")) (sha256 - (base32 "1yp6wpz2drq0viww8px1vl4pw919nq3xgxrmrrdhycx8bhi9ikpj")))) + (base32 "1ki9z60qcyx3va68hp7iv6451n5d86v1xmhc850b4sqah5b2378m")))) (build-system gnu-build-system) (outputs '("out" "lib")) (arguments @@ -9352,7 +9382,7 @@ numeric differences and differences in numeric formats.") (define-public why3 (package (name "why3") - (version "1.4.1") + (version "1.6.0") (source (origin (method git-fetch) (uri (git-reference @@ -9361,7 +9391,7 @@ numeric differences and differences in numeric formats.") (file-name (git-file-name name version)) (sha256 (base32 - "1yca6mx8bjm8x0i594ivh31aw45s6fbimmwfj8g2v9zwrgmr1i4s")))) + "0k3y98xzhrl44vwzq2m6k4nrllrwp3ll69lc2gfl8d77w0wg7gkp")))) (build-system ocaml-build-system) (native-inputs (list autoconf automake coq ocaml which)) @@ -9409,36 +9439,38 @@ of C, Java, or Ada programs.") (define-public frama-c (package (name "frama-c") - (version "24.0") + (version "27.1") (source (origin (method url-fetch) (uri (string-append "http://frama-c.com/download/frama-c-" - version "-Chromium.tar.gz")) + version "-Cobalt.tar.gz")) (sha256 (base32 - "0x1xgip50jdz1phsb9rzwf2ra8lshn1hmd9g967xia402wrg3sjf")))) - (build-system ocaml-build-system) + "1lirkvhf5m53d33l0aw5jzc1fyzkwx5fkgh9g71732d52r55f4sv")))) + (build-system dune-build-system) (arguments - `(#:tests? #f; no test target in Makefile - #:configure-flags - (list "--enable-verbosemake") ; to aid debugging - #:phases - (modify-phases %standard-phases - (add-before 'configure 'export-shell - (lambda* (#:key inputs #:allow-other-keys) - (setenv "CONFIG_SHELL" - (search-input-file inputs "/bin/sh"))))))) + `(#:phases + (modify-phases %standard-phases + (add-before 'build 'set-env + (lambda _ + (setenv "CC" "gcc")))))) (inputs (list gmp zlib)) - (propagated-inputs - (list ocaml-biniou - ocaml-easy-format - ocaml-graph - ocaml-yojson - ocaml-zarith - ocaml-lablgtk3-sourceview3 - lablgtk3 - why3)) + (propagated-inputs (list + graphviz + lablgtk3 + ocaml-graph + ocaml-odoc + ocaml-lablgtk3-sourceview3 + ocaml-yaml + ocaml-yojson + ocaml-zarith + ocaml-ppx-deriving + ocaml-ppx-deriving-yojson + ocaml-ppx-deriving-yaml + ocaml-ppx-import + why3)) + (native-inputs (list dune-site time ocaml-menhir ocaml-graph)) (native-search-paths (list (search-path-specification (variable "FRAMAC_SHARE") |