aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/maths.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/maths.scm')
-rw-r--r--gnu/packages/maths.scm391
1 files changed, 298 insertions, 93 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index bb6c1648b5..7f53d50f23 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -125,6 +125,7 @@
#:use-module (gnu packages datamash)
#:use-module (gnu packages dbm)
#:use-module (gnu packages documentation)
+ #:use-module (gnu packages django)
#:use-module (gnu packages elf)
#:use-module (gnu packages emacs)
#:use-module (gnu packages file)
@@ -423,13 +424,13 @@ triangulations.")
(define-public units
(package
(name "units")
- (version "2.23")
+ (version "2.24")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/units/units-" version
".tar.gz"))
(sha256 (base32
- "0w3kl58y7fq9paaq8ayn5gwylc4n8jbk6lf42kkcj9ar4i8v8myr"))))
+ "00n9l329814nww1pnp9nlaas8lfvblpcf5j750lhpwmcvx72ql0y"))))
(build-system gnu-build-system)
(inputs
(list bash-minimal ;for wrap-program
@@ -677,28 +678,18 @@ precision floating point numbers.")
(define-public gsl
(package
(name "gsl")
- (version "2.7.1")
+ (version "2.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gsl/gsl-"
version ".tar.gz"))
(sha256
(base32
- "0jxkxrnpys2j3rh8bzx0bmnh4w6xm28jd57rgxsjp0s863agpc6w"))))
- (outputs '("out" "static"))
+ "141i8ag2qazyqqk17bfr2l7mr1asxm1da7avi5a66b332pnyx6ba"))))
+ (outputs '("out" "static" "debug"))
(build-system gnu-build-system)
(arguments
- (list ;; FIXME: Setting CFLAGS=-fPIC is not only unnecessary, it's also
- ;; harmful because it removes the default '-O2 -g', meaning that the
- ;; library ends up being compiled as -O0. Consequently, some
- ;; numerical tests fail, notably on i686-linux. TODO: Remove
- ;; 'CFLAGS=-fPIC' for all systems and revisit or remove
- ;; 'disable-failing-tests' phases accordingly.
- #:make-flags (if (and (not (%current-target-system))
- (string=? (%current-system) "i686-linux"))
- #~'()
- #~(list "CFLAGS=-fPIC"))
- #:phases
+ (list #:phases
#~(modify-phases %standard-phases
#$@(cond
((and (target-riscv64?)
@@ -1126,7 +1117,8 @@ large scale eigenvalue problems.")
"LAPACK is a Fortran 90 library for solving the most commonly occurring
problems in numerical linear algebra.")
(license (license:non-copyleft "file://LICENSE"
- "See LICENSE in the distribution."))))
+ "See LICENSE in the distribution."))
+ (properties '((tunable? . #t)))))
(define-public clapack
(package
@@ -1310,6 +1302,33 @@ in the terminal or with an external viewer.")
@code{cairo} that provides uniform output to multiple devices.")
(license license:gpl2+)))
+(define-public perl-pgplot
+ (package
+ (name "perl-pgplot")
+ (version "2.34")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/E/ET/ETJ/PGPLOT-" version
+ ".tar.gz"))
+ (sha256
+ (base32 "1j0hjnhi0rkihviab2s6ninwfm71s73zh89pds1mpg9kf3c1w97z"))))
+ (build-system perl-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'setenv
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "PGPLOT_DIR" (string-append (assoc-ref inputs "giza") "/lib")))))))
+ (inputs (list giza libx11))
+ (native-inputs (list perl-devel-checklib perl-extutils-f77 gfortran))
+ (home-page "https://metacpan.org/release/PGPLOT")
+ (synopsis "Scientific plotting library (using giza)")
+ (description "This package provides PGPLOT bindings for Perl. It uses
+giza instead of PGPLOT for the implementation, though.")
+ ;; Since giza is GPL2+, so is this.
+ (license license:gpl2+)))
+
(define-public gnuplot
(package
(name "gnuplot")
@@ -1726,7 +1745,14 @@ extremely large and complex data collections.")
;; modifies the test reference.
(substitute* "test/test_check_version.sh.in"
(("TESTING\\(\\).*" all)
- (string-append all "\nSKIP; exit 0\n")))))))))))
+ (string-append all "\nSKIP; exit 0\n")))))
+ (add-after 'patch-configure 'patch-configure-build-settings
+ (lambda _
+ (substitute* "src/H5build_settings.autotools.c.in"
+ ;; Don't record the build-time kernel version to make the
+ ;; library file reproducible.
+ (("@UNAME_INFO@")
+ "Linux"))))))))))
(define-public hdf5
;; Default version of HDF5.
@@ -3414,8 +3440,9 @@ September 2004}")
(substitute* (find-files "." "^petsc(conf|machineinfo).h$")
;; Prevent build directory from leaking into compiled code
(((getcwd)) out)
- (("Machine characteristics: Linux-[0-9]+\\.[0-9]+\\.[0-9]+")
- "Machine characteristics: Linux-x.x.x"))
+ (("Machine characteristics: Linux-[0-9]+\\.[0-9]+\\.[0-9]+-arch[0-9]+-[0-9]+")
+ "Machine characteristics: Linux-x.x.x-archx-x")
+ (("([[:graph:]]+)/bin/make") "\"make"))
(substitute* (find-files "." "petscvariables")
;; Do not expose build machine characteristics, set to defaults.
(("MAKE_NP = [[:digit:]]+") "MAKE_NP = 2")
@@ -3455,7 +3482,8 @@ September 2004}")
(("([[:graph:]]+)/bin/make") "make")
(("([[:graph:]]+)/bin/diff") "diff")
(("([[:graph:]]+)/bin/sed") "sed")
- (("([[:graph:]]+)/bin/gfortran") "gfortran")))))
+ (("([[:graph:]]+)/bin/gfortran") "gfortran")
+ (("([[:graph:]]+)/bin/gcov") "gcov")))))
;; Some of the tests get linked with '-L$prefix/lib -lpetsc' (even
;; though that's unnecessary because they also explicitly link
@@ -3767,19 +3795,25 @@ optimized implementations of the combinatorial prime counting algorithms.")
(("include_dirs=\\[\"\\/usr\\/include\\/eigen3\\/\"\\]," _)
(string-append "include_dirs=[\""
#$(file-append (this-package-input "eigen")
- "/include/eigen3/")
+ "/include/eigen3/")
"\"],"))))))))
- (propagated-inputs (list eigen python-mpmath python-pyfma))
- (native-inputs (list pybind11
- python-matplotx
- python-perfplot
- python-pytest))
+ (native-inputs
+ (list pybind11
+ python-matplotx
+ python-perfplot
+ python-pytest
+ python-setuptools
+ python-wheel))
+ (propagated-inputs
+ (list eigen
+ python-mpmath
+ python-pyfma))
(home-page "https://github.com/diego-hayashi/accupy")
(synopsis "Accurate calculation of sums and dot products")
(description
- "@code{accupy} is a Python library for accurately computing sums
-and (dot) products. It implements Kahan summation, Shewchuck's
-algorithm and summation in K-fold precision.")
+ "@code{accupy} is a Python library for accurately computing sums
+and (dot) products. It implements Kahan summation, Shewchuck's algorithm and
+summation in K-fold precision.")
(license license:gpl3+)))
;; It is unfortunate that we cannot just link with the existing blis package.
@@ -3802,8 +3836,13 @@ algorithm and summation in K-fold precision.")
(lambda _
(invoke "python" "setup.py" "build_ext" "--inplace"
"-j" (number->string (parallel-job-count))))))))
- (propagated-inputs (list python-numpy))
- (native-inputs (list python-cython python-pytest))
+ (propagated-inputs
+ (list python-numpy))
+ (native-inputs
+ (list python-cython
+ python-pytest
+ python-setuptools
+ python-wheel))
(home-page "https://github.com/explosion/cython-blis")
(synopsis "Blis as a self-contained C-extension for Python")
(description
@@ -3867,16 +3906,22 @@ programming language.")
(define-public python-kiwisolver
(package
(name "python-kiwisolver")
- (version "1.4.5")
+ (version "1.4.6")
(source (origin
(method url-fetch)
(uri (pypi-uri "kiwisolver" version))
(sha256
(base32
- "1v6nc0z9dg4am0bibji9pijci9f15z68mwrlv91a28pvawx5czp5"))))
+ "1q77r6cl9m4vh8lsvmsm1ijh3r9aijdhmnc03yhnlpj407b2kniw"))))
(build-system pyproject-build-system)
- (propagated-inputs (list python-typing-extensions))
- (native-inputs (list python-cppy python-pytest python-setuptools-scm))
+ (native-inputs
+ (list python-cppy
+ python-pytest
+ python-setuptools
+ python-setuptools-scm
+ python-wheel))
+ (propagated-inputs
+ (list python-typing-extensions))
(home-page "https://github.com/nucleic/kiwi")
(synopsis "Fast implementation of the Cassowary constraint solver")
(description
@@ -3982,17 +4027,6 @@ recurrence relations.")
(sha256
(base32 "00s2rwjdlq38zkf7wl1gvm2aw057r30266lkzfxkrfzr4i705xnq"))))
(build-system pyproject-build-system)
- (propagated-inputs
- (list python-importlib-metadata
- python-ndim
- python-numpy
- python-sympy))
- (native-inputs (list ;python-cplot ;only used in deselected tests
- python-matplotx
- python-meshio
- python-meshzoo
- python-pytest
- python-scipy))
(arguments
(list
#:test-flags
@@ -4000,6 +4034,19 @@ recurrence relations.")
;; in calls to cplot.
#~(list "--deselect" "tests/test_u3.py::test_write_single"
"--deselect" "tests/test_u3.py::test_write_tree")))
+ (native-inputs
+ (list python-matplotx
+ python-meshio
+ python-meshzoo
+ python-pytest
+ python-scipy
+ python-setuptools
+ python-wheel))
+ (propagated-inputs
+ (list python-importlib-metadata
+ python-ndim
+ python-numpy
+ python-sympy))
(home-page "https://github.com/diego-hayashi/orthopy")
(synopsis "Tools for orthogonal polynomials, Gaussian quadrature")
(description "@code{orthopy} provides various orthogonal polynomial
@@ -4093,13 +4140,19 @@ bindings to almost all functions of PETSc.")
(base32
"1f989dipv7lqxvalfrvvlmhlxyl67a87lavyyqrr1mh88glhl592"))))
(build-system pyproject-build-system)
+ (native-inputs
+ (list python-accupy
+ python-pytest
+ python-setuptools
+ python-wheel
+ unzip
+ vtk))
(propagated-inputs
(list python-importlib-metadata
python-numpy
python-orthopy
python-scipy
python-sympy))
- (native-inputs (list python-accupy python-pytest unzip vtk))
(home-page "https://github.com/diego-hayashi/quadpy")
(synopsis "Numerical integration, quadrature for various domains")
(description
@@ -5400,7 +5453,8 @@ parts of it.")
(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.")
+ "OpenBLAS is a Basic Linear Algebra Subprograms (BLAS) library forked
+from the GotoBLAS2-1.13 BSD version.")
(license license:bsd-3)))
(define-public openblas-ilp64
@@ -8376,7 +8430,7 @@ linear algebra primitives specifically targeting graph analytics.")
(define-public dune-common
(package
(name "dune-common")
- (version "2.9.0")
+ (version "2.10.0")
(source
(origin
(method url-fetch)
@@ -8384,7 +8438,7 @@ linear algebra primitives specifically targeting graph analytics.")
version "/dune-common-" version ".tar.gz"))
(sha256
(base32
- "04pzk8q0bibci8z5xlwndhh3y3vs63mw7kad62lbzfwrr5121hrd"))
+ "1pdgxlxb570fm7smk1zv9b3iq1wzjg6g0s4361xs2w5qrf6drh4l"))
(patches (search-patches "dune-common-skip-failing-tests.patch"))))
(build-system cmake-build-system)
(arguments
@@ -8414,7 +8468,7 @@ Differences} (FD).")
(define-public dune-geometry
(package
(name "dune-geometry")
- (version "2.9.0")
+ (version "2.10.0")
(source
(origin
(method url-fetch)
@@ -8422,7 +8476,7 @@ Differences} (FD).")
version "/dune-geometry-" version ".tar.gz"))
(sha256
(base32
- "1bl1abipcf7zysmyyy2ikfx0nip55kasrb1bbkh11ghdilxrwwqy"))))
+ "00vkidb931zvpq3nmw8ikyg8pr3jqisfq2qxwj9hqzj7634qms98"))))
(build-system cmake-build-system)
(arguments
`(#:phases
@@ -8455,17 +8509,15 @@ This package contains the basic DUNE geometry classes.")
(define-public dune-uggrid
(package
(name "dune-uggrid")
- (version "2.9.0")
+ (version "2.10.0")
(source
(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.dune-project.org/staging/dune-uggrid.git")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
+ (method url-fetch)
+ (uri (string-append "https://dune-project.org/download/"
+ version "/dune-uggrid-" version ".tar.gz"))
(sha256
(base32
- "1xwmiabb25nydi0yzhd64vq6fm3razix6k87afhq88q0ywzll65x"))))
+ "1wm1jy8ssfzpskhk7z34ahmw0q0iyna0dgph8kskv6j2i8v7skip"))))
(build-system cmake-build-system)
(arguments
`(#:phases
@@ -8495,7 +8547,7 @@ This package contains the DUNE UG grid classes.")
(define-public dune-grid
(package
(name "dune-grid")
- (version "2.9.0")
+ (version "2.10.0")
(source
(origin
(method url-fetch)
@@ -8503,9 +8555,7 @@ This package contains the DUNE UG grid classes.")
version "/dune-grid-" version ".tar.gz"))
(sha256
(base32
- "17l2vlr8q3rfifxv80r3jlzamx478xn0vfjkrl3ns1akk7miycq8"))
- (patches (search-patches
- "dune-grid-add-missing-include-cassert.patch"))))
+ "0mh06g3sryx3s0d7zgzsz6j18vbzb0f46wq7aw6ahj2hswb7rsrg"))))
(build-system cmake-build-system)
(arguments
`(#:phases
@@ -8543,7 +8593,7 @@ This package contains the basic DUNE grid classes.")
(define-public dune-istl
(package
(name "dune-istl")
- (version "2.9.0")
+ (version "2.10.0")
(source
(origin
(method url-fetch)
@@ -8551,8 +8601,7 @@ This package contains the basic DUNE grid classes.")
version "/dune-istl-" version ".tar.gz"))
(sha256
(base32
- "0smghqr400xl84j0laabgwaj2p5jlj3n3s85bm7qp9m2vjz6rav6"))
- (patches (search-patches "dune-istl-fix-solver-playground.patch"))))
+ "0rk95rkj87gpb3gn40jl532rybs2lxkhn7g6b30m9kbzz7yfjfbc"))))
(build-system cmake-build-system)
(arguments
`(#:phases
@@ -8605,7 +8654,7 @@ aggregation-based algebraic multigrid.")
(define-public dune-localfunctions
(package
(name "dune-localfunctions")
- (version "2.9.0")
+ (version "2.10.0")
(source
(origin
(method url-fetch)
@@ -8613,7 +8662,7 @@ aggregation-based algebraic multigrid.")
version "/dune-localfunctions-" version ".tar.gz"))
(sha256
(base32
- "02zl49q40ifmic221fxlhi8zj9pybdyjavzvgn1zwh636ysgjbsp"))))
+ "0a5hyd7fps18178dq41nxa21h0i9ah6sw7di8qkc4i1rh052rzc1"))))
(build-system cmake-build-system)
(arguments
`(#:phases
@@ -8663,7 +8712,7 @@ assemble global function spaces on finite-element grids.")
(define-public dune-alugrid
(package
(name "dune-alugrid")
- (version "2.9.0")
+ (version "2.10.0")
(source
(origin
(method git-fetch)
@@ -8673,7 +8722,7 @@ assemble global function spaces on finite-element grids.")
(file-name (git-file-name name version))
(sha256
(base32
- "0s41jinsfpm56nx41vkmyv3y9n072ssw9hxjm7di64zcszgpjmzd"))))
+ "0289vqf9azhgqda04qa5prn201xnsd9i0r8gy6jn0g6wfy9bcpav"))))
(build-system cmake-build-system)
(arguments
`(#:phases
@@ -8715,12 +8764,12 @@ cubes.")
(define-public dune-subgrid
; dune-subgrid does not tag its releases.
- ; The following commit is a few commits past the releases/2.9 branch
- ; to include some additional commits fixing compatibility with dune-uggrid.
- (let ((commit "e83f3f919c2602425467ed767f279bc9c356c436"))
+ ; The following commit is the last commit on the releases/2.10 branch
+ ; as of 2024-11-14.
+ (let ((commit "e71cc9c2514356c7cd989f0c13661f10c37c58df"))
(package
(name "dune-subgrid")
- (version (git-version "2.9.0" "1" commit))
+ (version (git-version "2.10.0" "1" commit))
(source
(origin
(method git-fetch)
@@ -8730,7 +8779,7 @@ cubes.")
(file-name (git-file-name name version))
(sha256
(base32
- "1dv4zg5j17bldpgg02ycg9fbfmnc1kffixgzbkkz86f2dmwgh2b6"))))
+ "1vahmj2r9r684n8rgnqqb8zhi3wibkxjsv1kql804azx71dslx0d"))))
(build-system cmake-build-system)
(arguments
`(#:phases
@@ -8763,17 +8812,15 @@ provides the full grid interface including adaptive mesh refinement.")
(define-public dune-typetree
(package
(name "dune-typetree")
- (version "2.9.0")
+ (version "2.10.0")
(source
(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.dune-project.org/staging/dune-typetree.git")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
+ (method url-fetch)
+ (uri (string-append "https://dune-project.org/download/"
+ version "/dune-typetree-" version ".tar.gz"))
(sha256
(base32
- "1qcnl8giivnn8zprszdwrqw4q29sv3c2pr8dlrz616j10i4r8p18"))))
+ "0k756c543r79jz51jfnvi6knnxv7y19xg69yb15b0hrv4gq015pf"))))
(build-system cmake-build-system)
(arguments
`(#:phases
@@ -8805,17 +8852,15 @@ operating on statically typed trees of objects.")
(define-public dune-functions
(package
(name "dune-functions")
- (version "2.9.0")
+ (version "2.10.0")
(source
(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.dune-project.org/staging/dune-functions.git")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
+ (method url-fetch)
+ (uri (string-append "https://dune-project.org/download/"
+ version "/dune-functions-" version ".tar.gz"))
(sha256
(base32
- "0pmi9vk0pdq9qp3xvknsndg8l6f2xkjr1rwbfbzsl9aj0qv9rn2p"))))
+ "1v2yyiqacspa7fkz5pbhd9hcz8rk5bhyhlhwvr3jjgmniiy0x2hp"))))
(build-system cmake-build-system)
(arguments
`(#:phases
@@ -10106,7 +10151,7 @@ computation is supported via MPI.")
(define-public scilab
(package
(name "scilab")
- (version "2024.1.0")
+ (version "2025.0.0")
(source
(origin
(method git-fetch)
@@ -10116,7 +10161,7 @@ computation is supported via MPI.")
(file-name (git-file-name name version))
(sha256
(base32
- "1qk0pf1cwcvdqjza9xqkynd90ywq0yh421bz59w5zjzbs40ijnrx"))
+ "1zn31mby7rwxsnkg91rp92ixhj785hw459krw9k2prs2cxqpn6j5"))
(patches (search-patches "scilab-better-compiler-detection.patch"
"scilab-tbx_build_help.patch"))
(modules '((guix build utils)
@@ -10196,7 +10241,7 @@ computation is supported via MPI.")
curl
fftw
gettext-minimal
- hdf5-1.10
+ hdf5-1.14
libarchive
libx11
libxml2
@@ -10463,3 +10508,163 @@ architecture.")
+and canonical forms of graphs. It has both a command line user interface as
+well as C++ and C programming language APIs.")
(license license:lgpl3)))
+
+(define-public python-mathics-scanner
+ (package
+ (name "python-mathics-scanner")
+ (version "1.3.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Mathics3/mathics-scanner.git")
+ (commit "1.3.1")))
+ (sha256
+ (base32
+ "1i632v3f64q3v1i0p0x850mjhgad49fl24dl6r20r4wa1mhalmp0"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-chardet python-click python-pyyaml))
+ (native-inputs (list python-pytest))
+ (home-page "https://mathics.org/")
+ (synopsis
+ "Character tables and tokenizer for Mathics and the Wolfram language")
+ (description
+ "This package provides character tables and a tokenizer for Mathics and
+the Wolfram language.")
+ (license license:gpl3+)))
+
+(define-public python-mathics-pygments
+ (package
+ (name "python-mathics-pygments")
+ (version "1.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "mathics_pygments" version))
+ (sha256
+ (base32 "1q54c8mb9pgw8ncbs9hln183nxvvxq0d8495c8zakccsfswvznx2"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-mathics-scanner python-pygments))
+ (home-page "http://github.com/Mathics3/mathics-pygments/")
+ (synopsis "Wolfram language lexer for Pygments")
+ (description "This package provides a Wolfram language lexer for Pygments.")
+ (license license:expat)))
+
+(define-public python-mathics-core
+ (package
+ (name "python-mathics-core")
+ (version "7.0.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Mathics3/mathics-core.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0hhk2qq6swnprf9hliazwi3858sv3b3015g0mnm4ycdk5fsc7y57"))))
+ (arguments
+ `(;; <https://github.com/pytest-dev/pytest/pull/10173> is missing .closed
+ #:test-flags '("-s")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-bugs
+ (lambda _
+ (substitute* "pyproject.toml"
+ (("\"autoload/\\*.m\",")
+ ;; They forgot to install autoload/rules/*.m
+ "\"autoload/*.m\", \"autoload/rules/*.m\","))
+ ;; Prevent internet access by tests.
+ (substitute* "mathics/builtin/files_io/files.py"
+ (("https://raw.githubusercontent.com/Mathics3/mathics-core/master/README.rst")
+ (string-append (getcwd) "/README.rst")))))
+ (add-before 'check 'prepare-locales
+ (lambda _
+ ;; Otherwise 210 tests fail because the real output would use
+ ;; unicode arrow characters. With this, only 18 (symbolic) tests fail.
+ (setenv "MATHICS_CHARACTER_ENCODING" "ASCII"))))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest))
+ (inputs (list llvm))
+ (propagated-inputs (list python-mpmath
+ python-pint
+ python-palettable
+ python-sympy
+ python-numpy
+ python-mathics-scanner
+ python-pillow
+ python-dateutil
+ python-requests
+ python-llvmlite
+ python-scipy))
+ (synopsis "Computer algebra system")
+ (description "This package provides a computer algebra system--an alternative
+to Wolfram.")
+ (home-page "https://mathics.org/")
+ (license license:gpl3)))
+
+(define-public python-mathicsscript
+ (package
+ (name "python-mathicsscript")
+ (version "7.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "mathicsscript" version))
+ (sha256
+ (base32 "15ppg8sj03j63664npdqiv1lfk2mqnrqjb5817zjyy04z9s0kp7l"))))
+ (build-system pyproject-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'setenv
+ (lambda _
+ (setenv "HOME" "/tmp"))))))
+ (propagated-inputs (list python-click
+ python-colorama
+ python-columnize
+ python-mathics-pygments
+ python-mathics-scanner
+ python-mathics-core
+ python-networkx
+ python-prompt-toolkit
+ python-pygments
+ python-term-background))
+ (native-inputs (list python-pytest))
+ (home-page "https://mathics.org/")
+ (synopsis "Command-line interface to Mathics3")
+ (description "This package provides a command-line interface to
+Mathics3.")
+ (license license:gpl3)))
+
+(define-public python-mathics-django
+ (package
+ (name "python-mathics-django")
+ (version "7.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Mathics-Django" version))
+ (sha256
+ (base32 "02ccq0kx9i9b339p48j6xixr5wqj58dp8rhcik07b7vrfvznnxdi"))))
+ (build-system pyproject-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'check)
+ (add-after 'build 'check
+ (lambda _
+ (setenv "PYTHONPATH" (getcwd))
+ (setenv "DJANGO_SETTINGS_MODULE" "mathics_django.settings")
+ (invoke "django-admin" "test"))))))
+ (native-inputs (list python-pytest))
+ (propagated-inputs (list python-django-4.2
+ python-mathics-scanner
+ python-mathics-core
+ python-networkx-next
+ python-pygments
+ python-requests))
+ (home-page "https://mathics.org/")
+ (synopsis "A Django front end for Mathics3.")
+ (description "This package provides a Django front end for Mathics3.")
+ (license license:gpl3)))