From b38dd2ea9648a5ac4eb82594b8627b7b0c8b62db Mon Sep 17 00:00:00 2001 From: Jerry James Date: Tue, 6 Sep 2022 17:14:47 -0600 Subject: [PATCH] Version 1.11.1. - Convert License tag to SPDX. - Drop upstreamed patches: -tests, -distutils, -signature. - Drop fastcache dependency. - Regenerate ANTLR4 files. --- sources | 2 +- sympy-distutils.patch | 10 ---- sympy-signature.patch | 23 --------- sympy-tests.patch | 61 ---------------------- sympy.spec | 117 +++++++++++++++++++++++++++++------------- 5 files changed, 83 insertions(+), 130 deletions(-) delete mode 100644 sympy-distutils.patch delete mode 100644 sympy-signature.patch delete mode 100644 sympy-tests.patch diff --git a/sources b/sources index 228f0e8..5a17d11 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (sympy-1.10.1.tar.gz) = 7b6d5718826951bb1e477a78c3de8b95b8edda103981ad03c9f0da125ad35d72d8e5b5716d478ac4f00810939f1dc35786cc2e0a6b75cffb098cc1be9d8f7168 +SHA512 (sympy-1.11.1.tar.gz) = 6cc720b673cf31a2e8f56a5cae24ec15024ea43dee92196adb0a87f28561b5d2404fbbfd3d55a8414930a31d4d0f4a731d458ad528c8cbb03c37555f5c14ce4a diff --git a/sympy-distutils.patch b/sympy-distutils.patch deleted file mode 100644 index af0f0ba..0000000 --- a/sympy-distutils.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/sympy/testing/runtests.py 2021-09-30 16:23:28.000000000 -0600 -+++ b/sympy/testing/runtests.py 2021-10-08 11:27:24.434239376 -0600 -@@ -184,6 +184,7 @@ def raise_on_deprecated(): - """ - with warnings.catch_warnings(): - warnings.filterwarnings('error', '.*', DeprecationWarning, module='sympy.*') -+ warnings.filterwarnings('ignore', '.*', DeprecationWarning, module='sympy.utilities.*') - yield - - diff --git a/sympy-signature.patch b/sympy-signature.patch deleted file mode 100644 index 8a7d011..0000000 --- a/sympy-signature.patch +++ /dev/null @@ -1,23 +0,0 @@ -From c800c12c035c1531f42342a535895db18c15c6b6 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= -Date: Fri, 17 Jun 2022 01:43:10 +0200 -Subject: [PATCH] Use inspect.signature instead of deprecated formatargspec - ---- - doc/ext/docscrape.py | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/doc/ext/docscrape.py b/doc/ext/docscrape.py -index 6e94b4964c2..d0eeeed7e8b 100644 ---- a/doc/ext/docscrape.py -+++ b/doc/ext/docscrape.py -@@ -462,8 +462,7 @@ def __init__(self, func, role='func', doc=None, config={}): - func, func_name = self.get_func() - try: - # try to read signature -- argspec = inspect.getfullargspec(func) -- argspec = inspect.formatargspec(*argspec) -+ argspec = str(inspect.signature(func)) - argspec = argspec.replace('*', r'\*') - signature = '{}{}'.format(func_name, argspec) - except TypeError as e: diff --git a/sympy-tests.patch b/sympy-tests.patch deleted file mode 100644 index f80122f..0000000 --- a/sympy-tests.patch +++ /dev/null @@ -1,61 +0,0 @@ ---- a/sympy/physics/control/tests/test_control_plots.py 2021-09-30 16:23:28.000000000 -0600 -+++ b/sympy/physics/control/tests/test_control_plots.py 2021-10-07 16:39:20.605755393 -0600 -@@ -97,12 +97,12 @@ def test_pole_zero(): - assert _to_tuple(*pole_zero_numerical_data(tf2)) == \ - ((0.0,), ((-0.25+0.3227486121839514j), (-0.25-0.3227486121839514j))) - assert _to_tuple(*pole_zero_numerical_data(tf3)) == \ -- ((0.0,), ((-0.5000000000000004+0.8660254037844395j), -- (-0.5000000000000004-0.8660254037844395j), (0.9999999999999998+0j))) -+ ((0.0,), ((-0.5+0.8660254037844389j), -+ (-0.5-0.8660254037844389j), (0.9999999999999998+0j))) - assert _to_tuple(*pole_zero_numerical_data(tf7)) == \ - (((-0.6722222222222222+0.8776898690157247j), (-0.6722222222222222-0.8776898690157247j)), -- ((2.220446049250313e-16+1.2797182176061541j), (2.220446049250313e-16-1.2797182176061541j), -- (-0.7657146670186428+0.5744385024099056j), (-0.7657146670186428-0.5744385024099056j), -+ ((6.210310043996969e-16+1.2797182176061548j), (6.210310043996969e-16-1.2797182176061548j), -+ (-0.7657146670186425+0.5744385024099056j), (-0.7657146670186425-0.5744385024099056j), - (0.7657146670186427+0.5744385024099052j), (0.7657146670186427-0.5744385024099052j))) - assert _to_tuple(*pole_zero_numerical_data(ser1)) == \ - ((), (5.0, 0.0, 0.0, 0.0)) -@@ -166,8 +166,8 @@ def test_impulse_response(): - -0.037658628907103885, -0.030149507719590022, -0.021162090730736834, -0.012721292737437523)) - exp3 = ((0.0, 1.1111111111111112, 2.2222222222222223, 3.3333333333333335, 4.444444444444445, 5.555555555555555, - 6.666666666666667, 7.777777777777779, 8.88888888888889, 10.0), (4.369893391586999e-09, 1.1750333000630964, -- 3.2922404058312473, 9.432290008148343, 28.37098083007151, 86.18577464367974, 261.90356653762115, -- 795.6538758627842, 2416.9920942096983, 7342.159505206647)) -+ 3.2922404058312478, 9.432290008148340, 28.37098083007151, 86.18577464367974, 261.90356653762110, -+ 795.6538758627843, 2416.9920942096987, 7342.159505206649)) - exp4 = ((0.0, 1.1111111111111112, 2.2222222222222223, 3.3333333333333335, 4.444444444444445, 5.555555555555555, - 6.666666666666667, 7.777777777777779, 8.88888888888889, 10.0), (0.0, 6.17283950617284, 24.69135802469136, - 55.555555555555564, 98.76543209876544, 154.320987654321, 222.22222222222226, 302.46913580246917, -@@ -184,7 +184,7 @@ def test_impulse_response(): - exp7 = ((0.0, 1.1111111111111112, 2.2222222222222223, 3.3333333333333335, - 4.444444444444445, 5.555555555555555, 6.666666666666667, 7.777777777777779, - 8.88888888888889, 10.0), (0.0, 18.934638095560974, 5346.93244680907, 1384609.8718249386, -- 358161126.65801865, 92645770015.70108, 23964739753087.42, 6198974342083139.0, 1.603492601616059e+18, -+ 358161126.65801877, 92645770015.70108, 23964739753087.418, 6198974342083139.0, 1.603492601616059e+18, - 4.147764422869658e+20)) - - assert impulse_res_tester(tf1, exp1) -@@ -219,8 +219,8 @@ def test_step_response(): - -0.003636420058445484)) - exp3 = ((0.0, 1.1111111111111112, 2.2222222222222223, 3.3333333333333335, 4.444444444444445, - 5.555555555555555, 6.666666666666667, 7.777777777777779, 8.88888888888889, 10.0), -- (0.0, 0.6314542141914303, 2.9356520038101035, 9.37731009663807, 28.452300356688376, -- 86.25721933273988, 261.9236645044672, 795.6435410577224, 2416.9786984578764, 7342.154119725917)) -+ (0.0, 0.6314542141914303, 2.935652003810104, 9.377310096638068, 28.452300356688376, -+ 86.25721933273988, 261.9236645044671, 795.6435410577225, 2416.978698457877, 7342.1541197259185)) - exp4 = ((0.0, 1.1111111111111112, 2.2222222222222223, 3.3333333333333335, 4.444444444444445, - 5.555555555555555, 6.666666666666667, 7.777777777777779, 8.88888888888889, 10.0), - (0.0, 2.286236899862826, 18.28989519890261, 61.72839629629631, 146.31916159122088, 285.7796124828532, -@@ -264,8 +264,8 @@ def test_ramp_response(): - 1.304684417610106)) - exp3 = ((0.0, 1.1111111111111112, 2.2222222222222223, 3.3333333333333335, 4.444444444444445, 5.555555555555555, - 6.666666666666667, 7.777777777777779, 8.88888888888889, 10.0), (-3.9329040468771836e-08, -- 0.34686634635794555, 2.9998828170537903, 12.33303690737476, 40.993913948137795, 127.84145222317912, -- 391.41713691996, 1192.0006858708389, 3623.9808672503405, 11011.728034546572)) -+ 0.34686634635794555, 2.9998828170537912, 12.333036907374758, 40.993913948137795, 127.84145222317912, -+ 391.41713691995994, 1192.000685870839, 3623.980867250341, 11011.728034546573)) - exp4 = ((0.0, 1.1111111111111112, 2.2222222222222223, 3.3333333333333335, 4.444444444444445, 5.555555555555555, - 6.666666666666667, 7.777777777777779, 8.88888888888889, 10.0), (0.0, 1.9051973784484078, 30.483158055174524, - 154.32098765432104, 487.7305288827924, 1190.7483615302544, 2469.1358024691367, 4574.3789056546275, diff --git a/sympy.spec b/sympy.spec index 2bbcb1a..8c16081 100644 --- a/sympy.spec +++ b/sympy.spec @@ -3,52 +3,58 @@ # use it instead. Name: sympy -Version: 1.10.1 -Release: 3%{?dist} +Version: 1.11.1 +Release: 1%{?dist} Summary: A Python library for symbolic mathematics -License: BSD + +# The project as a whole is BSD-3-Clause. +# The files in sympy/parsing/latex are MIT. +License: BSD-3-Clause AND MIT URL: https://sympy.org/ Source0: https://github.com/%{name}/%{name}/archive/%{name}-%{version}.tar.gz # Skip tests that require a display Patch0: %{name}-circuitplot.patch -# Account for possible rounding error in some physics tests -Patch1: %{name}-tests.patch -# Don't let deprecation warnings from distutils cause test failures -Patch2: %{name}-distutils.patch -# Use inspect.signature instead of deprecated formatargspec -Patch3: %{name}-signature.patch BuildArch: noarch +BuildRequires: antlr4 BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: gcc-gfortran -BuildRequires: gettext -BuildRequires: graphviz -BuildRequires: ImageMagick -BuildRequires: librsvg2-tools -BuildRequires: make -BuildRequires: parallel BuildRequires: python3-devel BuildRequires: %{py3_dist cython} BuildRequires: %{py3_dist docutils} -BuildRequires: %{py3_dist fastcache} BuildRequires: %{py3_dist gmpy2} +BuildRequires: %{py3_dist llvmlite} BuildRequires: %{py3_dist matplotlib} BuildRequires: %{py3_dist mpmath} BuildRequires: %{py3_dist myst-parser} BuildRequires: %{py3_dist numexpr} BuildRequires: %{py3_dist numpy} BuildRequires: python3-numpy-f2py -BuildRequires: %{py3_dist numpydoc} BuildRequires: %{py3_dist pip} BuildRequires: %{py3_dist scipy} BuildRequires: %{py3_dist setuptools} -BuildRequires: %{py3_dist sphinx-math-dollar} BuildRequires: %{py3_dist wheel} BuildRequires: %{py3_dist wurlitzer} + +# Documentation +BuildRequires: graphviz +BuildRequires: ImageMagick +BuildRequires: librsvg2-tools +BuildRequires: make +BuildRequires: %{py3_dist furo} +BuildRequires: %{py3_dist linkify-it-py} +BuildRequires: %{py3_dist numpydoc} +BuildRequires: %{py3_dist sphinx-copybutton} +BuildRequires: %{py3_dist sphinx-math-dollar} +BuildRequires: %{py3_dist sphinx-reredirects} BuildRequires: tex(latex) BuildRequires: tex-dvipng + +# Tests +BuildRequires: parallel +BuildRequires: %{py3_dist autowrap} BuildRequires: xorg-x11-fonts-Type1 BuildRequires: xorg-x11-server-Xvfb @@ -62,22 +68,19 @@ Python and does not require any external libraries. %package -n python3-%{name} Summary: A Python3 library for symbolic mathematics -Requires: mesa-libGLU -Requires: %{py3_dist cython} -Requires: %{py3_dist fastcache} -Requires: %{py3_dist gmpy2} -Requires: %{py3_dist matplotlib} -Requires: %{py3_dist pyglet} - Recommends: tex(latex) Recommends: tex(amsfonts.sty) Recommends: tex(amsmath.sty) Recommends: tex(euler.sty) Recommends: tex(eulervm.sty) Recommends: tex(standalone.cls) +Recommends: %{py3_dist antlr4-runtime} +Recommends: %{py3_dist cython} +Recommends: %{py3_dist gmpy2} +Recommends: %{py3_dist matplotlib} Recommends: %{py3_dist numexpr} +Recommends: %{py3_dist pyglet} Recommends: %{py3_dist scipy} -Recommends: %{py3_dist theano-pymc} # This can be removed when F38 reaches EOL Obsoletes: sympy-texmacs < 1.8 @@ -89,6 +92,7 @@ comprehensible and easily extensible. SymPy is written entirely in Python and does not require any external libraries. %package examples +License: BSD-3-Clause Summary: Sympy examples Requires: python3-%{name} = %{version}-%{release} @@ -96,8 +100,30 @@ Requires: python3-%{name} = %{version}-%{release} This package contains example input for sympy. %package doc +# This project is BSD-3-Clause. Other files bundled with the documentation +# have the following licenses: +# - searchindex.js: BSD-2-Clause +# - _static/basic.css: BSD-2-Clause +# - _static/clipboard.min.js: MIT +# - _static/copy*: MIT +# - _static/doctools.js: BSD-2-Clause +# - _static/graphviz.js: BSD-2-Clause +# - _static/jquery*.js: MIT +# - _static/language_data.js: BSD-2-Clause +# - _static/plot_directive.css: PSF-2.0 (see note) +# - _static/pygments.css: BSD-2-Clause +# - _static/scripts/*: MIT +# - _static/searchtools.js: BSD-2-Clause +# - _static/styles/*: MIT +# - _static/underscore*.js: MIT +# +# NOTE: The license of _static/plot_directive.css is the same as the license of +# matplotlib. The matplotlib license is functionally identical to PSF-2.0, but +# uses different organization and project names. I am using the PSF-2.0 +# identifier for now, because there is no valid SPDX choice. Revisit this. +License: BSD-3-Clause AND BSD-2-Clause AND MIT AND PSF-2.0 Summary: Documentation for sympy -Provides: bundled(jquery) +Provides: bundled(js-jquery) Provides: bundled(js-underscore) %description doc @@ -106,20 +132,29 @@ HTML documentation for sympy. %prep %autosetup -p1 -n %{name}-%{name}-%{version} +fixtimestamp() { + touch -r $1.orig $1 + rm -f $1.orig +} + # Do not depend on env for fil in $(grep -rl "^#\![[:blank:]]*%{_bindir}/env" .); do sed -i.orig 's,^\(#\![[:blank:]]*%{_bindir}/\)env python,\1python3,' $fil - touch -r $fil.orig $fil - rm -f $fil.orig + fixtimestamp $fil done -# Fedora does not have this Sphinx extension -sed -i "s/ 'sphinx_reredirects',//" doc/src/conf.py - -# Fedora does not have linkify -sed -i 's/, "linkify"//' doc/src/conf.py +# Remove bogus shebangs +for fil in sympy/physics/mechanics/models.py \ + sympy/physics/optics/polarization.py; do + sed -i.orig '/env python/d' $fil + fixtimestamp $fil +done %build +# Regenerate the ANTLR files +%{python3} setup.py antlr + +# Build %pyproject_wheel # Build the documentation @@ -138,6 +173,10 @@ rm -f %{buildroot}%{_bindir}/{,doc}test # Don't let an executable script go into the documentation chmod -R a-x+X examples +# Fix permissions +chmod 0755 %{buildroot}%{python3_sitelib}/sympy/benchmarks/bench_symbench.py \ + %{buildroot}%{python3_sitelib}/sympy/testing/tests/diagnose_imports.py + # Install the HTML documentation mkdir -p %{buildroot}%{_docdir}/%{name}-doc cp -a doc/_build/html %{buildroot}%{_docdir}/%{name}-doc @@ -155,7 +194,7 @@ find examples/ -name '*.py[co]' -print -delete # used to try to keep the test suite working on all architectures, but it has # become too much of a burden. Only run tests if we happen to build on x86_64. # We cannot use %%ifarch here because this is a noarch package. -if [ "$(uname -p)" = "x86_64" ]; then +if [ "$(uname -m)" = "x86_64" ]; then # Split into many small chunks to reduce waiting in the end-game jobs=%{?_smp_mflags}; jobs=${jobs#-j}; jobs=$((jobs * 3)) @@ -167,6 +206,7 @@ fi %files -n python3-%{name} -f %{pyproject_files} %doc AUTHORS README.md +%doc doc/_build/cheatsheet/cheatsheet.pdf %doc doc/_build/cheatsheet/combinatoric_cheatsheet.pdf %{_bindir}/isympy %{_mandir}/man1/isympy.1* @@ -179,6 +219,13 @@ fi %{_docdir}/%{name}-doc/html %changelog +* Tue Sep 6 2022 Jerry James - 1.11.1-1 +- Version 1.11.1 +- Convert License tag to SPDX +- Drop upstreamed patches: -tests, -distutils, -signature +- Drop fastcache dependency +- Regenerate ANTLR4 files + * Sat Jul 23 2022 Fedora Release Engineering - 1.10.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild