mirror of
https://codeberg.org/guix/guix.git
synced 2026-01-25 03:55:08 -06:00
gnu: python-mathics-core: Update to 9.0.0.
* gnu/packages/maths.scm (python-mathics-core)[arguments]<#:tests?>: Enable.
<#:phases>{patch-bugs}: Modify.
{set-home}: New phase.
Change-Id: I4b892e4475f63478ea6c52bed69f593259a4d618
This commit is contained in:
parent
1b6da830d2
commit
9e64eecf6b
1 changed files with 35 additions and 9 deletions
|
|
@ -11272,7 +11272,7 @@ the Wolfram language.")
|
||||||
(define-public python-mathics-core
|
(define-public python-mathics-core
|
||||||
(package
|
(package
|
||||||
(name "python-mathics-core")
|
(name "python-mathics-core")
|
||||||
(version "8.0.1")
|
(version "9.0.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
|
|
@ -11281,18 +11281,15 @@ the Wolfram language.")
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1ikgw3w3silxisih92g1wgcwb37k7qkwfmdv5r6yy4ki74qvyk5q"))))
|
"19232vs3sxg1nq32cas8hwsiwvp6nzpnz4jzjjahpvrv1bl62prs"))))
|
||||||
(arguments
|
(arguments
|
||||||
`(;; <https://github.com/pytest-dev/pytest/pull/10173> is missing .closed
|
`(;; <https://github.com/pytest-dev/pytest/pull/10173> is missing .closed
|
||||||
#:tests? #f ;TODO: update package
|
|
||||||
#:test-flags '("-s")
|
#:test-flags '("-s")
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'patch-bugs
|
(add-after 'unpack 'patch-bugs
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "pyproject.toml"
|
(substitute* "pyproject.toml"
|
||||||
(("\"data/*.json\",")
|
|
||||||
"\"data/*.json\", \"data/operator-tables.json\",")
|
|
||||||
(("\"autoload/\\*.m\",")
|
(("\"autoload/\\*.m\",")
|
||||||
;; They forgot to install autoload/rules/*.m
|
;; They forgot to install autoload/rules/*.m
|
||||||
"\"autoload/*.m\", \"autoload/rules/*.m\","))
|
"\"autoload/*.m\", \"autoload/rules/*.m\","))
|
||||||
|
|
@ -11300,9 +11297,33 @@ the Wolfram language.")
|
||||||
(substitute* "mathics/builtin/files_io/files.py"
|
(substitute* "mathics/builtin/files_io/files.py"
|
||||||
(("https://raw.githubusercontent.com/Mathics3/mathics-core/master/README.rst")
|
(("https://raw.githubusercontent.com/Mathics3/mathics-core/master/README.rst")
|
||||||
(string-append (getcwd) "/README.rst")))
|
(string-append (getcwd) "/README.rst")))
|
||||||
;; setup.py has some weird acrobatics that cannot work right.
|
;; llvmlite 0.45+ auto-initializes LLVM; calling initialize()
|
||||||
(invoke "mathics3-generate-operator-json-table" "-o"
|
;; now raises RuntimeError.
|
||||||
"mathics/data/operator-tables.json")))
|
;; <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 'check 'prepare-check
|
(add-before 'check 'prepare-check
|
||||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
;(copy-file "operator-tables.json" "mathics/data/operator-tables.json")
|
;(copy-file "operator-tables.json" "mathics/data/operator-tables.json")
|
||||||
|
|
@ -11312,7 +11333,12 @@ the Wolfram language.")
|
||||||
(lambda _
|
(lambda _
|
||||||
;; Otherwise 210 tests fail because the real output would use
|
;; Otherwise 210 tests fail because the real output would use
|
||||||
;; unicode arrow characters. With this, only 18 (symbolic) tests fail.
|
;; unicode arrow characters. With this, only 18 (symbolic) tests fail.
|
||||||
(setenv "MATHICS_CHARACTER_ENCODING" "ASCII"))))))
|
(setenv "MATHICS_CHARACTER_ENCODING" "ASCII")))
|
||||||
|
(add-before 'sanity-check '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"))))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(native-inputs (list python-pytest python-setuptools python-wheel))
|
(native-inputs (list python-pytest python-setuptools python-wheel))
|
||||||
(inputs (list llvm))
|
(inputs (list llvm))
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue