diff options
Diffstat (limited to 'gnu/packages/maths.scm')
-rw-r--r-- | gnu/packages/maths.scm | 148 |
1 files changed, 78 insertions, 70 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index ff3f1cf007..9ac365fbb4 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -26,7 +26,7 @@ ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com> ;;; Copyright © 2018 Nadya Voronova <voronovank@gmail.com> ;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com> -;;; Copyright © 2018, 2020, 2021 Marius Bakke <marius@gnu.org> +;;; 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 Amin Bandali <bandali@gnu.org> @@ -634,14 +634,14 @@ precision floating point numbers.") (define-public gsl (package (name "gsl") - (version "2.7") + (version "2.7.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gsl/gsl-" version ".tar.gz")) (sha256 (base32 - "0av04cpblphvvs3kl5rwphniarml503501vrpqw31rd0bmwg7fzg")))) + "0jxkxrnpys2j3rh8bzx0bmnh4w6xm28jd57rgxsjp0s863agpc6w")))) (build-system gnu-build-system) (arguments (let ((system (%current-system))) @@ -853,7 +853,7 @@ integer programming problems and computes Markov bases for statistics.") libtool texlive-amsfonts texlive-dvips-l3backend - texlive-latex-graphics + texlive-graphics texlive-latex-l3backend texlive-tiny)) (arguments @@ -4582,66 +4582,67 @@ parts of it.") "0r4sz3rn68fyc2paq0a04pgfi7iszpm95f6ggbzxpvjzx9qxbcql")))) (build-system gnu-build-system) (arguments - `(#: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. - #:substitutable? - ,(let ((system (or (%current-target-system) (%current-system)))) - (or (string-prefix? "x86_64" system) - (string-prefix? "i686" system) - (string-prefix? "mips" system) - (string-prefix? "aarch64" system))) - #:make-flags - (list (string-append "PREFIX=" (assoc-ref %outputs "out")) - "SHELL=bash" - "MAKE_NB_JOBS=0" ;use jobserver for submakes - "NO_STATIC=1" ;avoid a 67 MiB static archive - - ;; This is the maximum number of threads OpenBLAS will ever use (that - ;; is, if $OPENBLAS_NUM_THREADS is greater than that, then NUM_THREADS - ;; is used.) If we don't set it, the makefile sets it to the number - ;; of cores of the build machine, which is obviously wrong. - "NUM_THREADS=128" - - ;; 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. - ;; Unfortunately, this is not supported on all architectures, - ;; where it leads to failed builds. - ,@(let ((system (or (%current-target-system) (%current-system)))) - (cond - ((or (string-prefix? "x86_64" system) - (string-prefix? "i686" system) - (string-prefix? "powerpc64le" system) - (string-prefix? "aarch64" system)) - ;; Dynamic older enables a few extra CPU architectures that - ;; were released before 2010. - '("DYNAMIC_ARCH=1" "DYNAMIC_OLDER=1" "TARGET=GENERIC")) - ;; On some of these architectures the CPU can't be detected. - ;; On MIPS we force the "SICORTEX" TARGET, as for the other - ;; two available MIPS targets special extended instructions - ;; for Loongson cores are used. - ((string-prefix? "mips" system) - '("TARGET=SICORTEX")) - ;; Failed to detect CPU. - ((string-prefix? "armhf" system) - '("TARGET=ARMV7")) - ((string-prefix? "riscv64" system) - '("TARGET=RISCV64_GENERIC")) - (else '())))) - ;; no configure script - #: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" - (dirname - (search-input-file inputs "/lib/libgfortran.so"))))))))) + (list + #: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. + #:substitutable? + (let ((system (or (%current-target-system) (%current-system)))) + (or (string-prefix? "x86_64" system) + (string-prefix? "i686" system) + (string-prefix? "mips" system) + (string-prefix? "aarch64" system))) + #:make-flags + #~(list (string-append "PREFIX=" #$output) + "SHELL=bash" + "MAKE_NB_JOBS=0" ;use jobserver for submakes + "NO_STATIC=1" ;avoid a 67 MiB static archive + + ;; This is the maximum number of threads OpenBLAS will ever use (that + ;; is, if $OPENBLAS_NUM_THREADS is greater than that, then NUM_THREADS + ;; is used.) If we don't set it, the makefile sets it to the number + ;; of cores of the build machine, which is obviously wrong. + "NUM_THREADS=128" + + ;; 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. + ;; Unfortunately, this is not supported on all architectures, + ;; where it leads to failed builds. + #$@(let ((system (or (%current-target-system) (%current-system)))) + (cond + ((or (string-prefix? "x86_64" system) + (string-prefix? "i686" system) + (string-prefix? "powerpc64le" system) + (string-prefix? "aarch64" system)) + ;; Dynamic older enables a few extra CPU architectures that + ;; were released before 2010. + '("DYNAMIC_ARCH=1" "DYNAMIC_OLDER=1" "TARGET=GENERIC")) + ;; On some of these architectures the CPU can't be detected. + ;; On MIPS we force the "SICORTEX" TARGET, as for the other + ;; two available MIPS targets special extended instructions + ;; for Loongson cores are used. + ((string-prefix? "mips" system) + '("TARGET=SICORTEX")) + ;; Failed to detect CPU. + ((string-prefix? "armhf" system) + '("TARGET=ARMV7")) + ((string-prefix? "riscv64" system) + '("TARGET=RISCV64_GENERIC")) + (else '())))) + ;; no configure script + #: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" + (dirname + (search-input-file inputs "/lib/libgfortran.so"))))))))) (inputs (list `(,gfortran "lib"))) (native-inputs @@ -4658,9 +4659,9 @@ parts of it.") (supported-systems '("x86_64-linux" "aarch64-linux" "mips64el-linux")) (arguments (substitute-keyword-arguments (package-arguments openblas) - ((#:make-flags flags '()) - `(append (list "INTERFACE64=1" "LIBNAMESUFFIX=ilp64") - ,flags)))) + ((#:make-flags flags #~'()) + #~(append (list "INTERFACE64=1" "LIBNAMESUFFIX=ilp64") + #$flags)))) (synopsis "Optimized BLAS library based on GotoBLAS (ILP64 version)") (license license:bsd-3))) @@ -5210,6 +5211,13 @@ with C89.") (build-system cmake-build-system) (arguments `(#:phases (modify-phases %standard-phases + (add-before 'configure 'set-environment + (lambda _ + ;; Pass "-fno-ipa-modref" flag to the compiler to work + ;; around a test failure with GCC 11. This is a + ;; header-only library so these flags only affect tests. + ;; See <https://github.com/g-truc/glm/pull/1087>. + (setenv "CXXFLAGS" "-O2 -g -fno-ipa-modref"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) ;; Since version 0.9.9.6, 'make install' is not supported @@ -5764,6 +5772,8 @@ set.") texlive-cm texlive-courier texlive-etoolbox + texlive-fancyhdr + texlive-fancyvrb texlive-helvetic texlive-jknappen texlive-sectsty @@ -5775,8 +5785,6 @@ set.") texlive-latex-cmap texlive-latex-colortbl texlive-latex-etoc - texlive-latex-fancyhdr - texlive-latex-fancyvrb texlive-latex-float texlive-latex-fncychap texlive-latex-framed @@ -5790,10 +5798,10 @@ set.") texlive-latex-parskip texlive-latex-stackengine texlive-latex-tabulary - texlive-latex-titlesec texlive-latex-tocloft texlive-latex-upquote texlive-latex-varwidth + texlive-titlesec texlive-ulem texlive-wasysym texlive-wrapfig)))) |