guix_mirror_bot pushed a commit to branch master
in repository guix.
commit d7360dbfd04a4a3e96be079f91b2f718ccb1ed70
Author: Sharlatan Hellseher <[email protected]>
AuthorDate: Sat Sep 19 00:10:22 2026 +0100
gnu: python-mathics-core: Update to 10.0.1.
* gnu/packages/maths.scm (python-mathics-core): Update to 10.0.1.
[arguments]<test-flags>: Drop.
[phases]{patch-bugs}: All of the "bugs" resolved; JSON table generation
is no longer required, see:
<https://github.com/Mathics3/mathics-core/issues/1701>.
{prepare-check}: Remove phase.
[propagated-inputs]: Remove python-llvmlite and python-stopit; add
python-timed-threads.
[description]: Add more details.
---
gnu/packages/maths.scm | 69 ++++++++++----------------------------------------
1 file changed, 14 insertions(+), 55 deletions(-)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index b027b090ddf..bf5d69b4777 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -11366,9 +11366,12 @@ the Wolfram language.")
(license license:expat)))
(define-public python-mathics-core
+ ;; TODO: Package name has been changed upstream, as seen in pyproject.toml:
+ ;; name = "Mathics3"
+ ;; See: <https://codeberg.org/guix/guix/issues/11317>.
(package
(name "python-mathics-core")
- (version "9.0.0")
+ (version "10.0.1")
(source
(origin
(method git-fetch)
@@ -11377,61 +11380,14 @@ the Wolfram language.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "19232vs3sxg1nq32cas8hwsiwvp6nzpnz4jzjjahpvrv1bl62prs"))))
+ (base32 "1wglm61i050g2sam8zrlqyav7m22jq0vkcq9wzi5364661lgh5a9"))))
(arguments
(list
- ;; <https://github.com/pytest-dev/pytest/pull/10173> is missing .closed
- #:test-flags #~(list "-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")))
- ;; llvmlite 0.45+ auto-initializes LLVM; calling initialize()
- ;; now raises RuntimeError.
- ;;
<https://llvmlite.readthedocs.io/en/v0.45.0/user-guide/binding/initialization-finalization.html>
- (substitute* "mathics/compile/compile.py"
- (("llvm\\.initialize\\(\\)") "pass"))
- ;; The JSON operator tables (op-tables.json,
- ;; operator-tables.json) are pre-generated in the PyPI tarball
- ;; but not in git. The Makefile runs
- ;; admin-tools/make-JSON-tables.sh before 'make dist', but that
- ;; script also writes to the scanner's default location which is
- ;; read-only in the store. Run the needed commands directly.
- ;; setup.py has fallback generation code but it's buggy: it
- ;; writes operator-tables.json to the wrong path and
- ;; op-tables.json is missing --field=operator-to-amslatex.
- ;; Creating the files first makes setup.py's 'if not
- ;; os.path.exists' checks pass and the buggy code is skipped.
- (with-directory-excursion "mathics/data"
- (invoke "mathics3-generate-json-table"
- "--field=ascii-operator-to-symbol"
- "--field=ascii-operator-to-unicode"
- "--field=ascii-operator-to-wl-unicode"
- "--field=operator-to-ascii"
- "--field=operator-to-amslatex"
- "--field=operator-to-unicode"
- "-o" "op-tables.json")
- (invoke "mathics3-generate-operator-json-table"
- "-o" "operator-tables.json"))))
(add-before 'build 'set-home
(lambda _
- ;; The sanity check imports mathics which tries to create a
- ;; config directory in HOME. Set HOME to a writable location.
(setenv "HOME" "/tmp")))
- (add-before 'check 'prepare-check
- (lambda* (#:key inputs outputs #:allow-other-keys)
- ;; (copy-file "operator-tables.json"
- ;; "mathics/data/operator-tables.json") Doesn't work:
- ;; (add-installed-pythonpath inputs outputs)
- (setenv "PYTHONPATH" (getcwd))))
(add-before 'check 'prepare-locales
(lambda _
;; Otherwise 210 tests fail because the real output would use
@@ -11443,9 +11399,8 @@ the Wolfram language.")
(inputs (list llvm))
(propagated-inputs
(list python-dateutil
- python-mpmath
- python-llvmlite
python-mathics-scanner
+ python-mpmath
python-numpy
python-palettable
python-pillow
@@ -11453,13 +11408,17 @@ the Wolfram language.")
python-pympler
python-requests
python-scipy
- python-stopit
- python-sympy))
+ python-sympy
+ python-timed-threads))
(synopsis "Computer algebra system")
(home-page "https://mathics.org/")
(description
- "This package provides a computer algebra system--an alternative to
-Wolfram.")
+ "This package provides a @acronym{Computer Algebra System, CAS}, an
+alternative to Wolfram Mathematica.
+
+However, it contains just the Mathics3 Kernel: Python modules for WL Built-in
+functions, variables, core primitives, e.g., Symbol, a parser to create
+Expressions, and an evaluator to execute them.")
(license license:gpl3)))
(define-public python-mathicsscript