Version 1.9.
- Drop theano support due to incompatibility with the Fedora version. - Add -tests, -distutils, -gmpy2-mpq, and -rational-exponent patches to work around test failures.
This commit is contained in:
parent
aeacf02e35
commit
7037317356
|
@ -0,0 +1,8 @@
|
|||
# sympy
|
||||
|
||||
SymPy is a Python library for symbolic mathematics. It aims to become a
|
||||
full-featured computer algebra system (CAS) while keeping the code as
|
||||
simple as possible in order to be comprehensible and easily extensible.
|
||||
SymPy is written entirely in Python.
|
||||
|
||||
See [the home page](https://www.sympy.org/) for more information.
|
2
sources
2
sources
|
@ -1 +1 @@
|
|||
SHA512 (sympy-1.8.tar.gz) = 61141e1d0a6105e725fb415edbdf981b3aa95debcfe73f9da5ca36afc7a70e91b5c28ed45454054c1b9a8d45e42bfe724e5b20da717746c301fd095da17f4db7
|
||||
SHA512 (sympy-1.9.tar.gz) = 139712219ba6bf420ba89b3f8d086ab8883c5ab965e9308ba9ee665ac3ac69a9b16fa30c6f5dfbc77dd34873ff3ff95c0d058954d7f9d853f5e9537efc24dd3c
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
--- 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
|
||||
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
--- a/sympy/external/tests/test_pythonmpq.py 2021-09-30 16:23:28.000000000 -0600
|
||||
+++ b/sympy/external/tests/test_pythonmpq.py 2021-10-08 11:06:59.453830335 -0600
|
||||
@@ -42,7 +42,7 @@ def test_PythonMPQ():
|
||||
assert check_Q(Q(Q(3, 5))) == (3, 5)
|
||||
assert check_Q(Q(0.5)) == (1, 2)
|
||||
assert check_Q(Q('0.5')) == (1, 2)
|
||||
- assert check_Q(Q(Decimal('0.6'))) == (3, 5)
|
||||
+ assert check_Q(Q(str(Decimal('0.6')))) == (3, 5)
|
||||
assert check_Q(Q(Fraction(3, 5))) == (3, 5)
|
||||
|
||||
# Invalid types
|
|
@ -0,0 +1,14 @@
|
|||
--- a/sympy/polys/ring_series.py 2021-09-30 16:23:28.000000000 -0600
|
||||
+++ b/sympy/polys/ring_series.py 2021-10-08 13:43:30.746068783 -0600
|
||||
@@ -989,6 +989,11 @@ def rs_nth_root(p, n, x, prec):
|
||||
except ValueError: # as exponent
|
||||
raise DomainError("The given series can't be expanded in "
|
||||
"this domain.")
|
||||
+ except TypeError:
|
||||
+ try:
|
||||
+ const = R(c**QQ(1, n))
|
||||
+ except ValueError:
|
||||
+ raise DomainError("The given series can't be expanded in this domain.")
|
||||
res = rs_nth_root(p/c, n, x, prec)*const
|
||||
else:
|
||||
res = _nth_root1(p, n, x, prec)
|
|
@ -0,0 +1,61 @@
|
|||
--- 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,
|
|
@ -1,22 +0,0 @@
|
|||
--- sympy-sympy-1.6.2/sympy/printing/tests/test_theanocode.py.orig 2020-08-07 09:17:07.000000000 -0600
|
||||
+++ sympy-sympy-1.6.2/sympy/printing/tests/test_theanocode.py 2020-11-26 07:36:24.900389599 -0700
|
||||
@@ -350,7 +350,7 @@ def test_theano_function_scalar():
|
||||
f = theano_function_(inputs, outputs, dims=in_dims, scalar=scalar)
|
||||
|
||||
# Check the theano_function attribute is set whether wrapped or not
|
||||
- assert isinstance(f.theano_function, theano.compile.function_module.Function)
|
||||
+ assert isinstance(f.theano_function, theano.compile.function.types.Function)
|
||||
|
||||
# Feed in inputs of the appropriate size and get outputs
|
||||
in_values = [
|
||||
--- sympy-sympy-1.6.2/sympy/printing/theanocode.py.orig 2020-08-07 09:17:07.000000000 -0600
|
||||
+++ sympy-sympy-1.6.2/sympy/printing/theanocode.py 2020-11-26 07:35:55.667441366 -0700
|
||||
@@ -442,7 +442,7 @@ def theano_function(inputs, outputs, sca
|
||||
function will return a list of arrays. See description of the ``squeeze``
|
||||
argument above for the behavior when a single output is passed in a list.
|
||||
The returned object will either be an instance of
|
||||
- ``theano.compile.function_module.Function`` or a Python wrapper
|
||||
+ ``theano.compile.function.types.Function`` or a Python wrapper
|
||||
function around one. In both cases, the returned value will have a
|
||||
``theano_function`` attribute which points to the return value of
|
||||
``theano.function``.
|
42
sympy.spec
42
sympy.spec
|
@ -1,21 +1,29 @@
|
|||
%bcond_without bootstrap
|
||||
# We used to build with Theano support. However, we no longer have a compatible
|
||||
# version of Theano in Fedora. If aesara is ever packaged for Fedora, we can
|
||||
# use it instead.
|
||||
|
||||
Name: sympy
|
||||
Version: 1.8
|
||||
Release: 3%{?dist}
|
||||
Version: 1.9
|
||||
Release: 1%{?dist}
|
||||
Summary: A Python library for symbolic mathematics
|
||||
License: BSD
|
||||
URL: http://sympy.org/
|
||||
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
|
||||
# Default to python3 in the Cython backend
|
||||
Patch1: %{name}-python3.patch
|
||||
# Adapt to Theano-PyMC
|
||||
Patch2: %{name}-theano-pymc.patch
|
||||
# Work around Fedora pyglet not including PNGImageDecoder
|
||||
# https://github.com/sympy/sympy/pull/20600
|
||||
Patch3: %{name}-png-decoder.patch
|
||||
Patch2: %{name}-png-decoder.patch
|
||||
# Account for possible rounding error in some physics tests
|
||||
Patch3: %{name}-tests.patch
|
||||
# Don't let deprecation warnings from distutils cause test failures
|
||||
Patch4: %{name}-distutils.patch
|
||||
# gmpy2 2.1.0 no longer converts Decimal directly to mpq
|
||||
Patch5: %{name}-gmpy2-mpq.patch
|
||||
# gmpy2 2.1.0 no longer accepts Rational as an exponent
|
||||
Patch6: %{name}-rational-exponent.patch
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
|
@ -28,7 +36,6 @@ BuildRequires: ImageMagick
|
|||
BuildRequires: librsvg2-tools
|
||||
BuildRequires: make
|
||||
BuildRequires: parallel
|
||||
BuildRequires: procps
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: %{py3_dist cython}
|
||||
BuildRequires: %{py3_dist docutils}
|
||||
|
@ -39,19 +46,17 @@ BuildRequires: %{py3_dist mpmath}
|
|||
BuildRequires: %{py3_dist numexpr}
|
||||
BuildRequires: %{py3_dist numpy}
|
||||
BuildRequires: python3-numpy-f2py
|
||||
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}
|
||||
BuildRequires: tex(latex)
|
||||
BuildRequires: tex-dvipng
|
||||
BuildRequires: xorg-x11-fonts-Type1
|
||||
BuildRequires: xorg-x11-server-Xvfb
|
||||
|
||||
%if %{without bootstrap}
|
||||
BuildRequires: %{py3_dist theano-pymc}
|
||||
%endif
|
||||
|
||||
%global _description\
|
||||
SymPy aims to become a full-featured computer algebra system (CAS)\
|
||||
while keeping the code as simple as possible in order to be\
|
||||
|
@ -114,7 +119,7 @@ for fil in $(grep -rl "^#\![[:blank:]]*%{_bindir}/env" .); do
|
|||
done
|
||||
|
||||
%build
|
||||
%py3_build
|
||||
%pyproject_wheel
|
||||
|
||||
# Build the documentation
|
||||
pushd doc
|
||||
|
@ -123,7 +128,7 @@ make cheatsheet
|
|||
popd
|
||||
|
||||
%install
|
||||
%py3_install
|
||||
%pyproject_install
|
||||
|
||||
## Remove extra files
|
||||
rm -f %{buildroot}%{_bindir}/{,doc}test
|
||||
|
@ -147,6 +152,7 @@ find examples/ -name '*.py[co]' -print -delete
|
|||
# numpy float64 values (but produce float32 values on some architectures). I
|
||||
# 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
|
||||
# Split into many small chunks to reduce waiting in the end-game
|
||||
jobs=%{?_smp_mflags}; jobs=${jobs#-j}; jobs=$((jobs * 3))
|
||||
|
@ -164,7 +170,7 @@ fi
|
|||
%{python3_sitelib}/isympy.*
|
||||
%{python3_sitelib}/__pycache__/isympy.*
|
||||
%{python3_sitelib}/sympy/
|
||||
%{python3_sitelib}/sympy-%{version}-*.egg-info
|
||||
%{python3_sitelib}/sympy-%{version}.dist-info
|
||||
%{_bindir}/isympy
|
||||
%{_mandir}/man1/isympy.1*
|
||||
|
||||
|
@ -176,6 +182,12 @@ fi
|
|||
%{_docdir}/%{name}-doc/html
|
||||
|
||||
%changelog
|
||||
* Fri Oct 8 2021 Jerry James <loganjerry@gmail.com> - 1.9-1
|
||||
- Version 1.9
|
||||
- Drop theano support due to incompatibility with the Fedora version
|
||||
- Add -tests, -distutils, -gmpy2-mpq, and -rational-exponent patches to
|
||||
work around test failures
|
||||
|
||||
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.8-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
|
|
Loading…
Reference in New Issue