diff options
Diffstat (limited to 'gnu/packages/algebra.scm')
-rw-r--r-- | gnu/packages/algebra.scm | 228 |
1 files changed, 149 insertions, 79 deletions
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index e093056e0d..42384ecd82 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -34,6 +34,7 @@ (define-module (gnu packages algebra) #:use-module (gnu packages) #:use-module (gnu packages autotools) + #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages boost) #:use-module (gnu packages check) @@ -58,6 +59,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) + #:use-module (gnu packages ruby) #:use-module (gnu packages shells) #:use-module (gnu packages tex) #:use-module (gnu packages texinfo) @@ -103,7 +105,7 @@ implement the floating point approach to complex multiplication are implemented. On the other hand, these comprise asymptotically fast multiplication routines such as Toom–Cook and the FFT.") (license license:lgpl3+) - (home-page "http://www.multiprecision.org/mpfrcx/"))) + (home-page "https://www.multiprecision.org/mpfrcx/"))) (define-public gf2x (package @@ -131,7 +133,7 @@ greatest common divisor operations.") (define-public cm (package (name "cm") - (version "0.4.0") + (version "0.4.1") (source (origin (method url-fetch) (uri (string-append @@ -139,7 +141,7 @@ greatest common divisor operations.") version ".tar.gz")) (sha256 (base32 - "04l3inafql40n0r5rq8rmp21zplgdrzblil2kgkpx5s0jbs9i8rr")))) + "1avaw6a7lyc2833gr9b7zpk4blvrrrkz8r62sv1grh9xc9i4zg07")))) (build-system gnu-build-system) (propagated-inputs (list mpfrcx zlib)) ; Header files included from cm_common.h. @@ -153,7 +155,7 @@ multiplication via floating point approximations. It consists of libraries that can be called from within a C program and of executable command line applications.") (license license:gpl3+) - (home-page "http://www.multiprecision.org/cm/"))) + (home-page "https://www.multiprecision.org/cm/"))) (define-public fplll (package @@ -464,7 +466,7 @@ GCDs, factoring, solving linear systems, and evaluating special functions. In addition, FLINT provides various low-level routines for fast arithmetic.") (license license:lgpl2.1+) - (home-page "http://flintlib.org/") + (home-page "https://flintlib.org/") (properties '((release-monitoring-url . "http://flintlib.org/downloads.html"))))) @@ -768,7 +770,7 @@ a C program.") ;; different machine. "ax_cv_c_flags__mtune_native=no"))) (native-inputs (list perl)) - (home-page "http://fftw.org") + (home-page "https://fftw.org") (synopsis "Computing the discrete Fourier transform") (description "FFTW is a C subroutine library for computing the discrete Fourier @@ -1257,7 +1259,7 @@ xtensor provides: (define-public gap (package (name "gap") - (version "4.11.1") + (version "4.12.2") (source (origin (method url-fetch) @@ -1267,14 +1269,13 @@ xtensor provides: version ".tar.gz")) (sha256 - (base32 "01535s81h254zcs84zi95xqmhvvn6fn9qss8761myxc2gpdcadb6")) + (base32 "1a47slldnjq6mib69k3g8lqw6nyxdrwdd3gfjhj252mpbrs0h8v7")) (modules '((guix build utils) (ice-9 ftw) (srfi srfi-1))) (snippet '(begin - ;; Delete the external gmp and zlib libraries - ;; and a subdirectory not needed for our build. + ;; Delete bundled external libraries. (for-each delete-file-recursively - '("extern" "hpcgap")) + '("extern" "hpcgap/extern")) ;; Delete a failing test. ;; FIXME: This might be fixed in the next release, see ;; https://github.com/gap-system/gap/issues/3292 @@ -1288,47 +1289,69 @@ xtensor provides: (scandir ".") '("." ".." ;; Necessary packages. - "GAPDoc-" - "primgrp-" - "SmallGrp-" ; artistic2.0 - "transgrp" ; artistic2.0 for data, - ; gpl2 or gpl3 for code + "gapdoc" + "primgrp" + "smallgrp" ; artistic2.0 + "transgrp" ; artistic2.0 for data, + ; gpl2 or gpl3 for code ;; Optional packages. - "alnuth-" - "AutoDoc-" - "automata-" - "autpgrp-" - "crime-" - "crisp-" ; bsd-2 - "ctbllib" ; gpl3+ + "4ti2interface" + "alnuth" + "autodoc" + "automata" + "autpgrp" + "cap" + "crime" + "crisp" ; bsd-2 + "ctbllib" ; gpl3+ "datastructures" - "FactInt-" + "examplesforhomalg" + "factint" "fga" "format" - "groupoids-" + "gauss" + "gaussforhomalg" + "generalizedmorphismsforcap" + "gradedmodules" + "gradedringforhomalg" + "groupoids" "guarana" - "idrel-" - "images-" ; mpl2.0 - "IntPic-" - "io-" ; gpl3+ - "irredsol-" ; bsd-2 - "laguna-" - "liering-" - "MapClass-" - "nilmat-" - "NumericalSgps-" - "OpenMath-" - "orb-" ; gpl3+ - "polenta-" - "polycyclic-" - "radiroot-" - "repsn-" - "resclasses-" + "homalg" + "homalgtocas" + "idrel" + "images" ; mpl2.0 + "intpic" + "io" ; gpl3+ + "ioforhomalg" + "irredsol" ; bsd-2 + "laguna" + "liering" + "linearalgebraforcap" + "localizeringforhomalg" + "mapclass" + "matricesforhomalg" + "modulepresentationsforcap" + "modules" + "monoidalcategories" + "nconvex" + "nilmat" + "numericalsgps" + "openmath" + "orb" ; gpl3+ + "polenta" + "polycyclic" + "radiroot" + "recog" ; gpl3+ + "repsn" + "resclasses" + "ringsforhomalg" + "sco" "simpcomp" - "sophus-" - "tomlib-" - "unipot-" - "utils-")))))))) + "sophus" + "tomlib" + "toolsforhomalg" + "unipot" + "utils")))))))) (build-system gnu-build-system) (inputs (list gmp readline zlib)) @@ -1351,41 +1374,10 @@ xtensor provides: (lambda _ (with-directory-excursion "doc" (invoke "./make_doc")))) - (replace 'install + (add-after 'install 'install-packages (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (prog (string-append bin "/gap")) - (prog-real (string-append bin "/.gap-real")) (share (string-append out "/share/gap"))) - ;; Install only the gap binary; the gac compiler is left - ;; for maybe later. "Wrap" it in a shell script that calls - ;; the binary with the correct parameter. - ;; The make target install-bin is supposed to do that, but - ;; is not currently working. - (mkdir-p bin) - (copy-file "gap" prog-real) - (call-with-output-file prog - (lambda (port) - (format port - "#!~a~%exec ~a -l ~a \"$@\"~%" - (which "bash") - prog-real - share))) - (chmod prog #o755) - ;; Install the headers and library, which are needed by Sage. - (invoke "make" "install-headers") - (install-file "gen/config.h" - (string-append out "/include/gap")) - (invoke "make" "install-libgap") - ;; Remove information on the build directory from sysinfo.gap. - (substitute* "sysinfo.gap" - (("GAP_BIN_DIR=\".*\"") "GAP_BIN_DIR=\"\"") - (("GAP_LIB_DIR=\".*\"") "GAP_LIB_DIR=\"\"") - (("GAP_CPPFLAGS=\".*\"") "GAP_CPPFLAGS=\"\"")) - (invoke "make" "install-gaproot") - ;; Copy the directory of compiled packages; the make target - ;; install-pkg is currently empty. (copy-recursively "pkg" (string-append share "/pkg")))))))) (home-page "https://www.gap-system.org/") (synopsis @@ -1776,7 +1768,7 @@ no more than about 20 bits long).") "0n8gj5iylfagdbaqirpykb01a9difsy4zl6qq55f0ghvazxqdvmn")))) (properties `((upstream-name . "dtt"))) (build-system r-build-system) - (home-page "http://www.r-project.org") + (home-page "https://www.r-project.org") (synopsis "Discrete Trigonometric Transforms") (description "This package provides functions for 1D and 2D Discrete Cosine Transform @@ -1828,3 +1820,81 @@ mathematical floating-point libraries (libm). Amongst other features, it offers a certified infinity norm, an automatic polynomial implementer, and a fast Remez algorithm.") (license license:cecill-c))) + +(define-public form + ;; using this commit as it removes some invalid/ambiguous license info + (let ((commit "e7c52d3b07abe21f21718f5e70ee138e856f15ac") + (revision "0")) + (package + (name "form") + (version (git-version "4.3.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vermaseren/form") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "15pjpn5s8d3sva18syhyymh5v1dijchk0xkf6d0m7cl2sj3qxxxq")))) + (build-system gnu-build-system) + (arguments + (list #:configure-flags #~'("--enable-native=no") + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'patch-src + (lambda _ + (substitute* "check/examples.frm" + ;; skip test that causes memory leak and fails + (("#pend_if valgrind\\?") + "#pend_if 0")) + (substitute* "sources/extcmd.c" + (("/bin/sh") + (string-append + #$(this-package-input "bash-minimal") + "/bin/sh"))))) + (add-after 'build 'build-doxygen + (lambda _ + (with-directory-excursion "doc/doxygen" + (invoke "make" "html")))) + (add-after 'install 'install-docs + (lambda _ + (let ((doc (string-append + #$output "/share/doc/" #$name "-" + #$version "/html"))) + (mkdir-p doc) + (copy-recursively "doc/doxygen/html" doc))))))) + (native-inputs (list autoconf automake doxygen ruby)) + (inputs (list bash-minimal)) + (home-page "https://www.nikhef.nl/~form/") + (synopsis "Symbolic manipulation system for very big expressions") + (description + "FORM is a symbolic manipulation system. It reads symbolic expressions +from files and executes symbolic/algebraic transformations upon them. The +answers are returned in a textual mathematical representation. The size of +the considered expressions in FORM is only limited by the available disk space +and not by the available RAM.") + ;; XXX: Ignore this CVE to work around a name clash with the unrelated + ;; "neos/forms" package. + (properties '((lint-hidden-cve . ("CVE-2021-32697")))) + ;; x86_64 only due to test failures on other platforms. + ;; Developers say other platforms are not "tier 1" supported: + ;; https://github.com/vermaseren/form/issues/426 + (supported-systems '("x86_64-linux")) + (license license:gpl3+)))) + +(define-public parform + (package + (inherit form) + (name "parform") + (arguments + (substitute-keyword-arguments (package-arguments form) + ((#:configure-flags flags) + #~(cons* "--enable-parform=yes" #$flags)) + ((#:phases phases) + #~(modify-phases #$phases + (add-before 'check 'mpi-setup + #$%openmpi-setup))))) + (inputs (list bash-minimal openmpi)) + (description (string-append (package-description form) + " This package also includes +@code{parform}, a version of FORM parallelized using OpenMPI.")))) |