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

Reply via email to