Compare commits
98 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
e6b3f6e094 | ||
|
1d937a42c4 | ||
|
b35bbd6d2f | ||
|
90dae4419a | ||
|
0ef50362de | ||
|
1c7ace92c0 | ||
|
5f035ec062 | ||
|
b38dd2ea96 | ||
|
d795184ee6 | ||
|
840a227035 | ||
|
065f397aa9 | ||
|
c076187b4d | ||
|
3018ce1e1b | ||
|
a5f1a8356c | ||
|
7037317356 | ||
|
aeacf02e35 | ||
|
6e81534abc | ||
|
4a5d1a97e3 | ||
|
4f184ff324 | ||
|
187002e39d | ||
|
39a9cfc04c | ||
|
1d0d8a3bc2 | ||
|
e3481ee098 | ||
|
f3a1574fa3 | ||
|
fd6694989d | ||
|
3f327dec4e | ||
|
c4a0b40a3a | ||
|
5997950515 | ||
|
9d5dcfb5a0 | ||
|
659c9df0da | ||
|
e245106a60 | ||
|
eebbf2b256 | ||
|
8caa98c2cd | ||
|
1a00222e57 | ||
|
655cd53030 | ||
|
53a6ccd846 | ||
|
e3f48f62c3 | ||
|
378dc570ec | ||
|
42ff37cfe1 | ||
|
ae96c84613 | ||
|
0b31cd7ed0 | ||
|
d03ed1f329 | ||
|
7bb3831609 | ||
|
24fe7598b1 | ||
|
f7ccdc771a | ||
|
ef648a6f1d | ||
|
01ee18672a | ||
|
9bf77eb378 | ||
|
fde3ce2066 | ||
|
f014928df3 | ||
|
cbc69b9ce4 | ||
|
5125b8335b | ||
|
a4a28fcb15 | ||
|
8e1b0e24f1 | ||
|
ea0405dcd2 | ||
|
d53dd55d34 | ||
|
16724183cd | ||
|
be6d2913d6 | ||
|
fca15a416a | ||
|
d1f53a279f | ||
|
e942db7410 | ||
|
46118a3192 | ||
|
d3f3fa398b | ||
|
5abf2c8938 | ||
|
c6c6e1b41c | ||
|
1724a745c7 | ||
|
7c17afb9b6 | ||
|
8855bbb9d0 | ||
|
63856f7e35 | ||
|
f5d93e9f0a | ||
|
981963318d | ||
|
10ef511153 | ||
|
d55f2d8da2 | ||
|
51855d1ed2 | ||
|
7ba795f02b | ||
|
84b8afdb94 | ||
|
22c87ae39e | ||
|
49767573c9 | ||
|
a6942f1f3b | ||
|
296f915a1e | ||
|
978bbc87d1 | ||
|
c9a79828c3 | ||
|
9744996d9a | ||
|
24077a4cc2 | ||
|
44f30c7747 | ||
|
9ce8568a49 | ||
|
f76269acaf | ||
|
46d238539c | ||
|
97e1adcc55 | ||
|
d681cf5ee5 | ||
|
9df01736ac | ||
|
4679266460 | ||
|
39f457b07c | ||
|
b2c30d5f69 | ||
|
f5fd90c6d0 | ||
|
1109279006 | ||
|
ed4d3a454d | ||
|
0e10ede896 |
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,2 +1 @@
|
||||
/sympy-0.7.6.tar.gz
|
||||
/sympy-0.7.6.1.tar.gz
|
||||
/sympy-*.tar.gz
|
||||
|
@ -1,45 +0,0 @@
|
||||
From 1be64700c1063eff2b2747ce63ca03eac797b4a4 Mon Sep 17 00:00:00 2001
|
||||
From: Aaditya M Nair <aadityanair6494@gmail.com>
|
||||
Date: Sun, 1 Feb 2015 01:48:11 +0530
|
||||
Subject: [PATCH] Fixed incompatiblity with latest version of pyglet
|
||||
(1.2alpha1)
|
||||
|
||||
In earlier version of pyglet, `c_float` was defined in `pyglet.gl`
|
||||
but in the latest version of pyglet (1.2alpha1) it is defined in
|
||||
`pyglet.gl.gl`. This commit addresses this issue by adding a
|
||||
try-except block that imports `cfloat` from this module.
|
||||
---
|
||||
sympy/plotting/pygletplot/plot_rotation.py | 5 +++++
|
||||
sympy/plotting/pygletplot/util.py | 5 +++++
|
||||
2 files changed, 10 insertions(+)
|
||||
|
||||
diff --git a/sympy/plotting/pygletplot/plot_rotation.py b/sympy/plotting/pygletplot/plot_rotation.py
|
||||
index dbbaa42..6dbf972 100644
|
||||
--- a/sympy/plotting/pygletplot/plot_rotation.py
|
||||
+++ b/sympy/plotting/pygletplot/plot_rotation.py
|
||||
@@ -1,5 +1,10 @@
|
||||
from __future__ import print_function, division
|
||||
|
||||
+try:
|
||||
+ from pyglet.gl.gl import c_float
|
||||
+except ImportError:
|
||||
+ pass
|
||||
+
|
||||
from pyglet.gl import *
|
||||
from math import sqrt as _sqrt, acos as _acos
|
||||
|
||||
diff --git a/sympy/plotting/pygletplot/util.py b/sympy/plotting/pygletplot/util.py
|
||||
index 49574b8..710f008 100644
|
||||
--- a/sympy/plotting/pygletplot/util.py
|
||||
+++ b/sympy/plotting/pygletplot/util.py
|
||||
@@ -1,5 +1,10 @@
|
||||
from __future__ import print_function, division
|
||||
|
||||
+try:
|
||||
+ from pyglet.gl.gl import c_float
|
||||
+except ImportError:
|
||||
+ pass
|
||||
+
|
||||
from pyglet.gl import *
|
||||
from sympy.core import S
|
||||
from sympy.core.compatibility import xrange
|
8
README.md
Normal file
8
README.md
Normal file
@ -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 @@
|
||||
92e5b8e2f51c41ecac47b3458da1f505 sympy-0.7.6.1.tar.gz
|
||||
SHA512 (sympy-1.12.tar.gz) = 96a89b88f6912d70c56f5bd1903dd3c518963118ff25d033cdcb7da2f260b8ee209d3ab4a4394dd2b5dc0b4585b71ccd55d55c8e5c6e28024cccbedf07ee4360
|
||||
|
@ -1,20 +0,0 @@
|
||||
#!/bin/bash
|
||||
# Script for stripping traces of the bundled mpmath library
|
||||
# 2011-10-12 Jussi Lehtola
|
||||
|
||||
# Loop
|
||||
for i in `find . -name \*.py`; do
|
||||
if [[ " `grep sympy.mpmath $i`" != " " ]]; then
|
||||
echo $i
|
||||
cp -a $i $i.mpmath
|
||||
sed -i 's|sympy.mpmath|mpmath|g' $i
|
||||
fi
|
||||
|
||||
if [[ " `grep 'from sympy import mpmath' $i`" != " " ]]; then
|
||||
if [ ! -f $i.mpmath ]; then
|
||||
echo $i
|
||||
cp -a $i $i.mpmath
|
||||
fi
|
||||
sed -i 's|from sympy import mpmath|import mpmath|g' $i
|
||||
fi
|
||||
done
|
@ -1,776 +0,0 @@
|
||||
--- ./examples/advanced/autowrap_ufuncify.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./examples/advanced/autowrap_ufuncify.py 2014-12-04 10:30:58.017350207 -0700
|
||||
@@ -25,7 +25,7 @@ np = import_module('numpy')
|
||||
if not np:
|
||||
sys.exit("Cannot import numpy. Exiting.")
|
||||
|
||||
-import sympy.mpmath as mpmath
|
||||
+import mpmath
|
||||
from sympy.utilities.autowrap import ufuncify
|
||||
from sympy.utilities.lambdify import implemented_function
|
||||
from sympy import symbols, legendre, Plot, pprint
|
||||
--- ./examples/advanced/pidigits.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./examples/advanced/pidigits.py 2014-12-04 10:30:58.017350207 -0700
|
||||
@@ -6,8 +6,8 @@ Example shows arbitrary precision using
|
||||
computation of the digits of pi.
|
||||
"""
|
||||
|
||||
-from sympy.mpmath import libmp, pi
|
||||
-from sympy.mpmath import functions as mpf_funs
|
||||
+from mpmath import libmp, pi
|
||||
+from mpmath import functions as mpf_funs
|
||||
|
||||
import math
|
||||
from time import clock
|
||||
--- ./setup.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./setup.py 2014-12-04 10:30:58.017350207 -0700
|
||||
@@ -73,11 +73,6 @@ modules = [
|
||||
'sympy.matrices',
|
||||
'sympy.matrices.benchmarks',
|
||||
'sympy.matrices.expressions',
|
||||
- 'sympy.mpmath',
|
||||
- 'sympy.mpmath.calculus',
|
||||
- 'sympy.mpmath.functions',
|
||||
- 'sympy.mpmath.libmp',
|
||||
- 'sympy.mpmath.matrices',
|
||||
'sympy.ntheory',
|
||||
'sympy.parsing',
|
||||
'sympy.physics',
|
||||
@@ -246,7 +241,6 @@ tests = [
|
||||
'sympy.logic.tests',
|
||||
'sympy.matrices.expressions.tests',
|
||||
'sympy.matrices.tests',
|
||||
- 'sympy.mpmath.tests',
|
||||
'sympy.ntheory.tests',
|
||||
'sympy.parsing.tests',
|
||||
'sympy.physics.hep.tests',
|
||||
--- ./sympy/combinatorics/permutations.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/combinatorics/permutations.py 2014-12-04 10:30:58.018350206 -0700
|
||||
@@ -9,7 +9,7 @@ from sympy.utilities.iterables import (f
|
||||
has_dups, runs)
|
||||
from sympy.polys.polytools import lcm
|
||||
from sympy.matrices import zeros
|
||||
-from sympy.mpmath.libmp.libintmath import ifac
|
||||
+from mpmath.libmp.libintmath import ifac
|
||||
|
||||
|
||||
def _af_rmul(a, b):
|
||||
--- ./sympy/core/evalf.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/core/evalf.py 2014-12-04 14:05:59.235169407 -0700
|
||||
@@ -6,20 +6,20 @@ from __future__ import print_function, d
|
||||
|
||||
import math
|
||||
|
||||
-import sympy.mpmath.libmp as libmp
|
||||
-from sympy.mpmath import (
|
||||
+import mpmath.libmp as libmp
|
||||
+from mpmath import (
|
||||
make_mpc, make_mpf, mp, mpc, mpf, nsum, quadts, quadosc, workprec)
|
||||
-from sympy.mpmath import inf as mpmath_inf
|
||||
-from sympy.mpmath.libmp import (from_int, from_man_exp, from_rational, fhalf,
|
||||
+from mpmath import inf as mpmath_inf
|
||||
+from mpmath.libmp import (from_int, from_man_exp, from_rational, fhalf,
|
||||
fnan, fnone, fone, fzero, mpf_abs, mpf_add,
|
||||
mpf_atan, mpf_atan2, mpf_cmp, mpf_cos, mpf_e, mpf_exp, mpf_log, mpf_lt,
|
||||
mpf_mul, mpf_neg, mpf_pi, mpf_pow, mpf_pow_int, mpf_shift, mpf_sin,
|
||||
mpf_sqrt, normalize, round_nearest, to_int, to_str)
|
||||
-from sympy.mpmath.libmp import bitcount as mpmath_bitcount
|
||||
-from sympy.mpmath.libmp.backend import MPZ
|
||||
-from sympy.mpmath.libmp.libmpc import _infs_nan
|
||||
-from sympy.mpmath.libmp.libmpf import dps_to_prec
|
||||
-from sympy.mpmath.libmp.gammazeta import mpf_bernoulli
|
||||
+from mpmath.libmp import bitcount as mpmath_bitcount
|
||||
+from mpmath.libmp.backend import MPZ
|
||||
+from mpmath.libmp.libmpc import _infs_nan
|
||||
+from mpmath.libmp.libmpf import dps_to_prec
|
||||
+from mpmath.libmp.gammazeta import mpf_bernoulli
|
||||
|
||||
from .compatibility import SYMPY_INTS
|
||||
from .sympify import sympify
|
||||
--- ./sympy/core/expr.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/core/expr.py 2014-12-04 11:07:54.359742059 -0700
|
||||
@@ -8,7 +8,7 @@ from .evalf import EvalfMixin, pure_comp
|
||||
from .decorators import _sympifyit, call_highest_priority
|
||||
from .cache import cacheit
|
||||
from .compatibility import reduce, as_int, default_sort_key, xrange
|
||||
-from sympy.mpmath.libmp import mpf_log, prec_to_dps
|
||||
+from mpmath.libmp import mpf_log, prec_to_dps
|
||||
|
||||
from collections import defaultdict
|
||||
|
||||
@@ -384,7 +384,7 @@ class Expr(Basic, EvalfMixin):
|
||||
# increase the precision up to the default maximum
|
||||
# precision to see if we can get any significance
|
||||
|
||||
- from sympy.mpmath.libmp.libintmath import giant_steps
|
||||
+ from mpmath.libmp.libintmath import giant_steps
|
||||
from sympy.core.evalf import DEFAULT_MAXPREC as target
|
||||
|
||||
# evaluate
|
||||
--- ./sympy/core/function.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/core/function.py 2014-12-04 10:30:58.020350202 -0700
|
||||
@@ -51,8 +51,8 @@ from sympy.utilities import default_sort
|
||||
from sympy.utilities.iterables import uniq
|
||||
from sympy.core.evaluate import global_evaluate
|
||||
|
||||
-from sympy import mpmath
|
||||
-import sympy.mpmath.libmp as mlib
|
||||
+import mpmath
|
||||
+import mpmath.libmp as mlib
|
||||
|
||||
import inspect
|
||||
|
||||
@@ -460,7 +460,7 @@ class Function(Application, Expr):
|
||||
try:
|
||||
args = [arg._to_mpmath(prec + 5) for arg in self.args]
|
||||
def bad(m):
|
||||
- from sympy.mpmath import mpf, mpc
|
||||
+ from mpmath import mpf, mpc
|
||||
# the precision of an mpf value is the last element
|
||||
# if that is 1 (and m[1] is not 1 which would indicate a
|
||||
# power of 2), then the eval failed; so check that none of
|
||||
@@ -1223,7 +1223,7 @@ class Derivative(Expr):
|
||||
When we can represent derivatives at a point, this should be folded
|
||||
into the normal evalf. For now, we need a special method.
|
||||
"""
|
||||
- from sympy import mpmath
|
||||
+ import mpmath
|
||||
from sympy.core.expr import Expr
|
||||
if len(self.free_symbols) != 1 or len(self.variables) != 1:
|
||||
raise NotImplementedError('partials and higher order derivatives')
|
||||
--- ./sympy/core/numbers.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/core/numbers.py 2014-12-04 10:30:58.021350201 -0700
|
||||
@@ -16,11 +16,11 @@ from .cache import cacheit, clear_cache
|
||||
from sympy.core.compatibility import (
|
||||
as_int, integer_types, long, string_types, with_metaclass, HAS_GMPY,
|
||||
SYMPY_INTS)
|
||||
-import sympy.mpmath as mpmath
|
||||
-import sympy.mpmath.libmp as mlib
|
||||
-from sympy.mpmath.libmp import mpf_pow, mpf_pi, mpf_e, phi_fixed
|
||||
-from sympy.mpmath.ctx_mp import mpnumeric
|
||||
-from sympy.mpmath.libmp.libmpf import (
|
||||
+import mpmath
|
||||
+import mpmath.libmp as mlib
|
||||
+from mpmath.libmp import mpf_pow, mpf_pi, mpf_e, phi_fixed
|
||||
+from mpmath.ctx_mp import mpnumeric
|
||||
+from mpmath.libmp.libmpf import (
|
||||
finf as _mpf_inf, fninf as _mpf_ninf,
|
||||
fnan as _mpf_nan, fzero as _mpf_zero, _normalize as mpf_normalize,
|
||||
prec_to_dps)
|
||||
--- ./sympy/core/power.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/core/power.py 2014-12-04 10:30:58.021350201 -0700
|
||||
@@ -14,7 +14,7 @@ from .logic import fuzzy_bool
|
||||
from .compatibility import as_int, xrange
|
||||
from .evaluate import global_evaluate
|
||||
|
||||
-from sympy.mpmath.libmp import sqrtrem as mpmath_sqrtrem
|
||||
+from mpmath.libmp import sqrtrem as mpmath_sqrtrem
|
||||
from sympy.utilities.iterables import sift
|
||||
|
||||
|
||||
--- ./sympy/core/tests/test_evalf.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/core/tests/test_evalf.py 2014-12-04 10:31:03.063341891 -0700
|
||||
@@ -4,9 +4,9 @@ from sympy import (Add, ceiling, cos, E,
|
||||
Sum, Product, Integral)
|
||||
from sympy.core.evalf import complex_accuracy, PrecisionExhausted, scaled_zero
|
||||
from sympy.core.compatibility import long
|
||||
-from sympy.mpmath import inf, ninf, nan
|
||||
+from mpmath import inf, ninf, nan
|
||||
from sympy.abc import n, x, y
|
||||
-from sympy.mpmath.libmp.libmpf import from_float
|
||||
+from mpmath.libmp.libmpf import from_float
|
||||
from sympy.utilities.pytest import raises, XFAIL
|
||||
|
||||
|
||||
--- ./sympy/core/tests/test_numbers.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/core/tests/test_numbers.py 2014-12-04 10:56:49.005878896 -0700
|
||||
@@ -6,9 +6,9 @@ from sympy.core.basic import _aresame
|
||||
from sympy.core.compatibility import long, u
|
||||
from sympy.core.power import integer_nthroot
|
||||
from sympy.core.numbers import igcd, ilcm, igcdex, seterr, _intcache, mpf_norm
|
||||
-from sympy.mpmath import mpf
|
||||
+from mpmath import mpf
|
||||
from sympy.utilities.pytest import XFAIL, slow, raises
|
||||
-from sympy import mpmath
|
||||
+import mpmath
|
||||
|
||||
|
||||
def test_integers_cache():
|
||||
@@ -1355,8 +1355,8 @@ def test_issue_4172():
|
||||
|
||||
@XFAIL
|
||||
def test_mpmath_issues():
|
||||
- from sympy.mpmath.libmp.libmpf import _normalize
|
||||
- import sympy.mpmath.libmp as mlib
|
||||
+ from mpmath.libmp.libmpf import _normalize
|
||||
+ import mpmath.libmp as mlib
|
||||
rnd = mlib.round_nearest
|
||||
mpf = (0, long(0), -123, -1, 53, rnd) # nan
|
||||
assert _normalize(mpf, 53) != (0, long(0), 0, 0)
|
||||
@@ -1365,7 +1365,7 @@ def test_mpmath_issues():
|
||||
mpf = (1, long(0), -789, -3, 53, rnd) # -inf
|
||||
assert _normalize(mpf, 53) != (0, long(0), 0, 0)
|
||||
|
||||
- from sympy.mpmath.libmp.libmpf import fnan
|
||||
+ from mpmath.libmp.libmpf import fnan
|
||||
assert mlib.mpf_eq(fnan, fnan)
|
||||
|
||||
|
||||
@@ -1396,7 +1396,7 @@ def test_int_NumberSymbols():
|
||||
|
||||
|
||||
def test_issue_6640():
|
||||
- from sympy.mpmath.libmp.libmpf import (
|
||||
+ from mpmath.libmp.libmpf import (
|
||||
_normalize as mpf_normalize, finf, fninf, fzero)
|
||||
# fnan is not included because Float no longer returns fnan,
|
||||
# but otherwise, the same sort of test could apply
|
||||
--- ./sympy/core/tests/test_sympify.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/core/tests/test_sympify.py 2014-12-04 10:31:04.375339729 -0700
|
||||
@@ -11,7 +11,7 @@ from sympy.functions.combinatorial.facto
|
||||
from sympy.abc import _clash, _clash1, _clash2
|
||||
from sympy.core.compatibility import exec_, HAS_GMPY
|
||||
|
||||
-from sympy import mpmath
|
||||
+import mpmath
|
||||
|
||||
|
||||
def test_issue_3538():
|
||||
--- ./sympy/core/tests/test_wester.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/core/tests/test_wester.py 2014-12-04 10:31:04.377339726 -0700
|
||||
@@ -6,6 +6,7 @@ See also http://math.unm.edu/~wester/cas
|
||||
each tested system.
|
||||
"""
|
||||
|
||||
+import mpmath
|
||||
from sympy import (Rational, symbols, factorial, sqrt, log, exp, oo, zoo,
|
||||
product, binomial, rf, pi, gamma, igcd, factorint, radsimp, combsimp,
|
||||
npartitions, totient, primerange, factor, simplify, gcd, resultant, expand,
|
||||
@@ -13,7 +14,7 @@ from sympy import (Rational, symbols, fa
|
||||
bernoulli, hyper, hyperexpand, besselj, asin, assoc_legendre, Function, re,
|
||||
im, DiracDelta, chebyshevt, legendre_poly, polylog, series, O,
|
||||
atan, sinh, cosh, tanh, floor, ceiling, solve, asinh, acot, csc, sec,
|
||||
- LambertW, N, apart, sqrtdenest, factorial2, powdenest, Mul, S, mpmath, ZZ,
|
||||
+ LambertW, N, apart, sqrtdenest, factorial2, powdenest, Mul, S, ZZ,
|
||||
Poly, expand_func, E, Q, And, Or, Ne, Eq, Le, Lt,
|
||||
ask, refine, AlgebraicNumber, continued_fraction_iterator as cf_i,
|
||||
continued_fraction_periodic as cf_p, continued_fraction_convergents as cf_c,
|
||||
@@ -26,7 +27,7 @@ from sympy.functions.special.zeta_functi
|
||||
from sympy.integrals.deltafunctions import deltaintegrate
|
||||
from sympy.utilities.pytest import XFAIL, slow, SKIP, skip, ON_TRAVIS
|
||||
from sympy.utilities.iterables import partitions
|
||||
-from sympy.mpmath import mpi, mpc
|
||||
+from mpmath import mpi, mpc
|
||||
from sympy.matrices import Matrix, GramSchmidt, eye
|
||||
from sympy.matrices.expressions.blockmatrix import BlockMatrix, block_collapse
|
||||
from sympy.matrices.expressions import MatrixSymbol, ZeroMatrix
|
||||
--- ./sympy/external/tests/test_numpy.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/external/tests/test_numpy.py 2014-12-04 10:31:04.378339724 -0700
|
||||
@@ -21,7 +21,7 @@ from sympy import (Rational, Symbol, lis
|
||||
Matrix, lambdify, symarray, symbols, Integer)
|
||||
import sympy
|
||||
|
||||
-from sympy import mpmath
|
||||
+import mpmath
|
||||
from sympy.abc import x, y, z
|
||||
from sympy.utilities.decorator import conserve_mpmath_dps
|
||||
|
||||
--- ./sympy/functions/combinatorial/numbers.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/functions/combinatorial/numbers.py 2014-12-04 10:59:59.605872355 -0700
|
||||
@@ -21,8 +21,8 @@ from sympy.functions.elementary.exponent
|
||||
from sympy.functions.elementary.trigonometric import sin, cos, cot
|
||||
from sympy.functions.combinatorial.factorials import factorial
|
||||
|
||||
-from sympy.mpmath import bernfrac, workprec
|
||||
-from sympy.mpmath.libmp import ifib as _ifib
|
||||
+from mpmath import bernfrac, workprec
|
||||
+from mpmath.libmp import ifib as _ifib
|
||||
|
||||
|
||||
def _product(a, b):
|
||||
@@ -706,7 +706,7 @@ class euler(Function):
|
||||
if m.is_odd:
|
||||
return S.Zero
|
||||
if m.is_Integer and m.is_nonnegative:
|
||||
- from sympy.mpmath import mp
|
||||
+ from mpmath import mp
|
||||
m = m._to_mpmath(mp.prec)
|
||||
res = mp.eulernum(m, exact=True)
|
||||
return Integer(res)
|
||||
@@ -725,7 +725,7 @@ class euler(Function):
|
||||
m = self.args[0]
|
||||
|
||||
if m.is_Integer and m.is_nonnegative:
|
||||
- from sympy.mpmath import mp
|
||||
+ from mpmath import mp
|
||||
from sympy import Expr
|
||||
m = m._to_mpmath(prec)
|
||||
with workprec(prec):
|
||||
--- ./sympy/functions/special/bessel.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/functions/special/bessel.py 2014-12-04 11:01:02.478869466 -0700
|
||||
@@ -706,8 +706,8 @@ def jn_zeros(n, k, method="sympy", dps=1
|
||||
from math import pi
|
||||
|
||||
if method == "sympy":
|
||||
- from sympy.mpmath import besseljzero
|
||||
- from sympy.mpmath.libmp.libmpf import dps_to_prec
|
||||
+ from mpmath import besseljzero
|
||||
+ from mpmath.libmp.libmpf import dps_to_prec
|
||||
from sympy import Expr
|
||||
prec = dps_to_prec(dps)
|
||||
return [Expr._from_mpmath(besseljzero(S(n + 0.5)._to_mpmath(prec),
|
||||
@@ -1209,7 +1209,7 @@ class airyaiprime(AiryBase):
|
||||
raise ArgumentIndexError(self, argindex)
|
||||
|
||||
def _eval_evalf(self, prec):
|
||||
- from sympy.mpmath import mp, workprec
|
||||
+ from mpmath import mp, workprec
|
||||
from sympy import Expr
|
||||
z = self.args[0]._to_mpmath(prec)
|
||||
with workprec(prec):
|
||||
@@ -1365,7 +1365,7 @@ class airybiprime(AiryBase):
|
||||
raise ArgumentIndexError(self, argindex)
|
||||
|
||||
def _eval_evalf(self, prec):
|
||||
- from sympy.mpmath import mp, workprec
|
||||
+ from mpmath import mp, workprec
|
||||
from sympy import Expr
|
||||
z = self.args[0]._to_mpmath(prec)
|
||||
with workprec(prec):
|
||||
--- ./sympy/functions/special/error_functions.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/functions/special/error_functions.py 2014-12-04 10:31:04.380339721 -0700
|
||||
@@ -1339,7 +1339,7 @@ class li(Function):
|
||||
|
||||
We can even compute Soldner's constant by the help of mpmath:
|
||||
|
||||
- >>> from sympy.mpmath import findroot
|
||||
+ >>> from mpmath import findroot
|
||||
>>> findroot(li, 2)
|
||||
1.45136923488338
|
||||
|
||||
--- ./sympy/functions/special/gamma_functions.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/functions/special/gamma_functions.py 2014-12-04 14:05:59.241169397 -0700
|
||||
@@ -296,7 +296,7 @@ class lowergamma(Function):
|
||||
return (cls(a + 1, x) + x**a * C.exp(-x))/a
|
||||
|
||||
def _eval_evalf(self, prec):
|
||||
- from sympy.mpmath import mp, workprec
|
||||
+ from mpmath import mp, workprec
|
||||
from sympy import Expr
|
||||
a = self.args[0]._to_mpmath(prec)
|
||||
z = self.args[1]._to_mpmath(prec)
|
||||
@@ -395,7 +395,7 @@ class uppergamma(Function):
|
||||
raise ArgumentIndexError(self, argindex)
|
||||
|
||||
def _eval_evalf(self, prec):
|
||||
- from sympy.mpmath import mp, workprec
|
||||
+ from mpmath import mp, workprec
|
||||
from sympy import Expr
|
||||
a = self.args[0]._to_mpmath(prec)
|
||||
z = self.args[1]._to_mpmath(prec)
|
||||
--- ./sympy/functions/special/hyper.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/functions/special/hyper.py 2014-12-04 10:31:04.381339719 -0700
|
||||
@@ -600,7 +600,8 @@ class meijerg(TupleParametersBase):
|
||||
# (carefully so as not to loose the branch information), and evaluate
|
||||
# G(z'**(1/r)) = G(z'**n) = G(z).
|
||||
from sympy.functions import exp_polar, ceiling
|
||||
- from sympy import mpmath, Expr
|
||||
+ from sympy import Expr
|
||||
+ import mpmath
|
||||
z = self.argument
|
||||
znum = self.argument._eval_evalf(prec)
|
||||
if znum.has(exp_polar):
|
||||
--- ./sympy/functions/special/spherical_harmonics.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/functions/special/spherical_harmonics.py 2014-12-04 14:05:59.242169395 -0700
|
||||
@@ -219,7 +219,7 @@ class Ynm(Function):
|
||||
# Note: works without this function by just calling
|
||||
# mpmath for Legendre polynomials. But using
|
||||
# the dedicated function directly is cleaner.
|
||||
- from sympy.mpmath import mp, workprec
|
||||
+ from mpmath import mp, workprec
|
||||
from sympy import Expr
|
||||
n = self.args[0]._to_mpmath(prec)
|
||||
m = self.args[1]._to_mpmath(prec)
|
||||
--- ./sympy/geometry/ellipse.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/geometry/ellipse.py 2014-12-04 10:31:04.383339716 -0700
|
||||
@@ -24,7 +24,7 @@ from .entity import GeometryEntity
|
||||
from .point import Point
|
||||
from .line import LinearEntity, Line
|
||||
from .util import _symbol, idiff
|
||||
-from sympy.mpmath import findroot as nroot
|
||||
+from mpmath import findroot as nroot
|
||||
|
||||
|
||||
import random
|
||||
--- ./sympy/liealgebras/weyl_group.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/liealgebras/weyl_group.py 2014-12-04 10:31:04.383339716 -0700
|
||||
@@ -3,7 +3,7 @@
|
||||
from sympy.core import Basic, Rational
|
||||
from sympy.core.numbers import igcd
|
||||
from .cartan_type import CartanType
|
||||
-from sympy.mpmath import fac
|
||||
+from mpmath import fac
|
||||
from operator import itemgetter
|
||||
from itertools import groupby
|
||||
from sympy.matrices import Matrix, eye
|
||||
--- ./sympy/matrices/matrices.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/matrices/matrices.py 2014-12-04 10:31:04.384339714 -0700
|
||||
@@ -1238,7 +1238,7 @@ class MatrixBase(object):
|
||||
"""Solve the linear system Ax = rhs for x where A = self.
|
||||
|
||||
This is for symbolic matrices, for real or complex ones use
|
||||
- sympy.mpmath.lu_solve or sympy.mpmath.qr_solve.
|
||||
+ mpmath.lu_solve or mpmath.qr_solve.
|
||||
|
||||
See Also
|
||||
========
|
||||
@@ -1615,7 +1615,7 @@ class MatrixBase(object):
|
||||
to use QRsolve.
|
||||
|
||||
This is mainly for educational purposes and symbolic matrices, for real
|
||||
- (or complex) matrices use sympy.mpmath.qr_solve.
|
||||
+ (or complex) matrices use mpmath.qr_solve.
|
||||
|
||||
See Also
|
||||
========
|
||||
--- ./sympy/ntheory/partitions_.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/ntheory/partitions_.py 2014-12-04 10:31:04.384339714 -0700
|
||||
@@ -1,6 +1,6 @@
|
||||
from __future__ import print_function, division
|
||||
|
||||
-from sympy.mpmath.libmp import (fzero,
|
||||
+from mpmath.libmp import (fzero,
|
||||
from_man_exp, from_int, from_rational,
|
||||
fone, fhalf, bitcount, to_int, to_str, mpf_mul, mpf_div, mpf_sub,
|
||||
mpf_add, mpf_sqrt, mpf_pi, mpf_cosh_sinh, pi_fixed, mpf_cos)
|
||||
--- ./sympy/physics/quantum/constants.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/physics/quantum/constants.py 2014-12-04 10:31:04.384339714 -0700
|
||||
@@ -6,7 +6,7 @@ from sympy.core.numbers import NumberSym
|
||||
from sympy.core.singleton import Singleton
|
||||
from sympy.core.compatibility import u, with_metaclass
|
||||
from sympy.printing.pretty.stringpict import prettyForm
|
||||
-import sympy.mpmath.libmp as mlib
|
||||
+import mpmath.libmp as mlib
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Constants
|
||||
--- ./sympy/physics/quantum/qubit.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/physics/quantum/qubit.py 2014-12-04 10:31:04.385339712 -0700
|
||||
@@ -24,7 +24,7 @@ from sympy.physics.quantum.represent imp
|
||||
from sympy.physics.quantum.matrixutils import (
|
||||
numpy_ndarray, scipy_sparse_matrix
|
||||
)
|
||||
-from sympy.mpmath.libmp.libintmath import bitcount
|
||||
+from mpmath.libmp.libintmath import bitcount
|
||||
|
||||
__all__ = [
|
||||
'Qubit',
|
||||
--- ./sympy/polys/domains/groundtypes.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/polys/domains/groundtypes.py 2014-12-04 10:31:04.385339712 -0700
|
||||
@@ -69,7 +69,7 @@ else:
|
||||
gmpy_qdiv = None
|
||||
|
||||
|
||||
-import sympy.mpmath.libmp as mlib
|
||||
+import mpmath.libmp as mlib
|
||||
|
||||
|
||||
def python_sqrt(n):
|
||||
--- ./sympy/polys/domains/mpelements.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/polys/domains/mpelements.py 2014-12-04 10:31:04.385339712 -0700
|
||||
@@ -4,11 +4,11 @@ from __future__ import print_function, d
|
||||
|
||||
from sympy.polys.domains.domainelement import DomainElement
|
||||
|
||||
-from sympy.mpmath.ctx_mp_python import PythonMPContext, _mpf, _mpc, _constant
|
||||
-from sympy.mpmath.libmp import (MPZ_ONE, fzero, fone, finf, fninf, fnan,
|
||||
+from mpmath.ctx_mp_python import PythonMPContext, _mpf, _mpc, _constant
|
||||
+from mpmath.libmp import (MPZ_ONE, fzero, fone, finf, fninf, fnan,
|
||||
round_nearest, mpf_mul, mpf_abs, mpf_lt, mpc_abs, repr_dps, int_types,
|
||||
from_int, from_float, from_str, to_rational)
|
||||
-from sympy.mpmath.rational import mpq
|
||||
+from mpmath.rational import mpq
|
||||
|
||||
from sympy.utilities import public
|
||||
|
||||
--- ./sympy/polys/modulargcd.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/polys/modulargcd.py 2014-12-04 10:31:04.386339711 -0700
|
||||
@@ -7,7 +7,7 @@ from sympy.polys.polyerrors import Modul
|
||||
from sympy.polys.domains import PolynomialRing
|
||||
|
||||
from sympy.core.compatibility import xrange
|
||||
-from sympy.mpmath import sqrt
|
||||
+from mpmath import sqrt
|
||||
from sympy import Dummy
|
||||
import random
|
||||
|
||||
--- ./sympy/polys/numberfields.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/polys/numberfields.py 2014-12-04 10:31:04.386339711 -0700
|
||||
@@ -47,7 +47,7 @@ from sympy.core.exprtools import Factors
|
||||
from sympy.simplify.simplify import _mexpand, _is_sum_surds
|
||||
from sympy.ntheory import sieve
|
||||
from sympy.ntheory.factor_ import divisors
|
||||
-from sympy.mpmath import pslq, mp
|
||||
+from mpmath import pslq, mp
|
||||
|
||||
from sympy.core.compatibility import reduce
|
||||
from sympy.core.compatibility import xrange
|
||||
--- ./sympy/polys/polytools.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/polys/polytools.py 2014-12-04 11:04:04.672827949 -0700
|
||||
@@ -47,8 +47,8 @@ from sympy.polys.polyerrors import (
|
||||
from sympy.utilities import group, sift, public
|
||||
|
||||
import sympy.polys
|
||||
-import sympy.mpmath
|
||||
-from sympy.mpmath.libmp.libhyper import NoConvergence
|
||||
+import mpmath
|
||||
+from mpmath.libmp.libhyper import NoConvergence
|
||||
|
||||
from sympy.polys.domains import FF, QQ, ZZ
|
||||
from sympy.polys.constructor import construct_domain
|
||||
@@ -3391,18 +3391,18 @@ class Poly(Expr):
|
||||
coeffs = [coeff.evalf(n=n).as_real_imag()
|
||||
for coeff in f.all_coeffs()]
|
||||
try:
|
||||
- coeffs = [sympy.mpmath.mpc(*coeff) for coeff in coeffs]
|
||||
+ coeffs = [mpmath.mpc(*coeff) for coeff in coeffs]
|
||||
except TypeError:
|
||||
raise DomainError("Numerical domain expected, got %s" % \
|
||||
f.rep.dom)
|
||||
|
||||
- dps = sympy.mpmath.mp.dps
|
||||
- sympy.mpmath.mp.dps = n
|
||||
+ dps = mpmath.mp.dps
|
||||
+ mpmath.mp.dps = n
|
||||
|
||||
try:
|
||||
# We need to add extra precision to guard against losing accuracy.
|
||||
# 10 times the degree of the polynomial seems to work well.
|
||||
- roots = sympy.mpmath.polyroots(coeffs, maxsteps=maxsteps,
|
||||
+ roots = mpmath.polyroots(coeffs, maxsteps=maxsteps,
|
||||
cleanup=cleanup, error=False, extraprec=f.degree()*10)
|
||||
|
||||
# Mpmath puts real roots first, then complex ones (as does all_roots)
|
||||
@@ -3414,7 +3414,7 @@ class Poly(Expr):
|
||||
'convergence to root failed; try n < %s or maxsteps > %s' % (
|
||||
n, maxsteps))
|
||||
finally:
|
||||
- sympy.mpmath.mp.dps = dps
|
||||
+ mpmath.mp.dps = dps
|
||||
|
||||
return roots
|
||||
|
||||
--- ./sympy/polys/ring_series.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/polys/ring_series.py 2014-12-04 11:09:16.774704452 -0700
|
||||
@@ -3,10 +3,10 @@
|
||||
from sympy.polys.domains import QQ
|
||||
from sympy.polys.rings import ring, PolyElement
|
||||
from sympy.polys.monomials import monomial_min, monomial_mul
|
||||
-from sympy.mpmath.libmp.libintmath import ifac
|
||||
+from mpmath.libmp.libintmath import ifac
|
||||
from sympy.core.numbers import Rational
|
||||
from sympy.core.compatibility import as_int
|
||||
-from sympy.mpmath.libmp.libintmath import giant_steps
|
||||
+from mpmath.libmp.libintmath import giant_steps
|
||||
import math
|
||||
|
||||
def _invert_monoms(p1):
|
||||
--- ./sympy/polys/rootoftools.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/polys/rootoftools.py 2014-12-04 14:05:59.247169386 -0700
|
||||
@@ -28,8 +28,8 @@ from sympy.polys.polyerrors import (
|
||||
|
||||
from sympy.polys.domains import QQ
|
||||
|
||||
-from sympy.mpmath import mp, mpf, mpc, findroot, workprec
|
||||
-from sympy.mpmath.libmp.libmpf import prec_to_dps
|
||||
+from mpmath import mp, mpf, mpc, findroot, workprec
|
||||
+from mpmath.libmp.libmpf import prec_to_dps
|
||||
|
||||
from sympy.utilities import lambdify, public
|
||||
|
||||
--- ./sympy/polys/tests/test_polyroots.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/polys/tests/test_polyroots.py 2014-12-04 14:06:31.622109815 -0700
|
||||
@@ -17,6 +17,7 @@ from sympy.utilities.iterables import ca
|
||||
from sympy.utilities.pytest import raises, XFAIL
|
||||
from sympy.utilities.randtest import verify_numerically
|
||||
import sympy
|
||||
+import mpmath
|
||||
|
||||
|
||||
a, b, c, d, e, q, t, x, y, z = symbols('a,b,c,d,e,q,t,x,y,z')
|
||||
@@ -584,7 +585,7 @@ def test_nroots1():
|
||||
n = 64
|
||||
p = legendre_poly(n, x, polys=True)
|
||||
|
||||
- raises(sympy.mpmath.mp.NoConvergence, lambda: p.nroots(n=3, maxsteps=5))
|
||||
+ raises(mpmath.mp.NoConvergence, lambda: p.nroots(n=3, maxsteps=5))
|
||||
|
||||
roots = p.nroots(n=3)
|
||||
# The order of roots matters. They are ordered from smallest to the
|
||||
--- ./sympy/printing/latex.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/printing/latex.py 2014-12-04 10:31:04.391339702 -0700
|
||||
@@ -15,8 +15,8 @@ from .printer import Printer
|
||||
from .conventions import split_super_sub, requires_partial
|
||||
from .precedence import precedence, PRECEDENCE
|
||||
|
||||
-import sympy.mpmath.libmp as mlib
|
||||
-from sympy.mpmath.libmp import prec_to_dps
|
||||
+import mpmath.libmp as mlib
|
||||
+from mpmath.libmp import prec_to_dps
|
||||
|
||||
from sympy.core.compatibility import default_sort_key, xrange
|
||||
from sympy.utilities.iterables import has_variety
|
||||
--- ./sympy/printing/repr.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/printing/repr.py 2014-12-04 10:31:04.392339701 -0700
|
||||
@@ -9,8 +9,8 @@ from __future__ import print_function, d
|
||||
|
||||
from sympy.core.function import AppliedUndef
|
||||
from .printer import Printer
|
||||
-import sympy.mpmath.libmp as mlib
|
||||
-from sympy.mpmath.libmp import prec_to_dps, repr_dps
|
||||
+import mpmath.libmp as mlib
|
||||
+from mpmath.libmp import prec_to_dps, repr_dps
|
||||
|
||||
|
||||
class ReprPrinter(Printer):
|
||||
--- ./sympy/printing/str.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/printing/str.py 2014-12-04 10:31:04.392339701 -0700
|
||||
@@ -10,8 +10,8 @@ from sympy.core.numbers import Integer
|
||||
from .printer import Printer
|
||||
from sympy.printing.precedence import precedence, PRECEDENCE
|
||||
|
||||
-import sympy.mpmath.libmp as mlib
|
||||
-from sympy.mpmath.libmp import prec_to_dps
|
||||
+import mpmath.libmp as mlib
|
||||
+from mpmath.libmp import prec_to_dps
|
||||
|
||||
from sympy.utilities import default_sort_key
|
||||
|
||||
--- ./sympy/sets/sets.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/sets/sets.py 2014-12-04 11:10:31.446662910 -0700
|
||||
@@ -13,7 +13,7 @@ from sympy.core.decorators import deprec
|
||||
from sympy.core.mul import Mul
|
||||
from sympy.sets.contains import Contains
|
||||
|
||||
-from sympy.mpmath import mpi, mpf
|
||||
+from mpmath import mpi, mpf
|
||||
from sympy.logic.boolalg import And, Or, Not, true, false
|
||||
from sympy.utilities import default_sort_key, subsets
|
||||
|
||||
--- ./sympy/sets/tests/test_sets.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/sets/tests/test_sets.py 2014-12-04 11:10:10.615676162 -0700
|
||||
@@ -2,7 +2,7 @@ from sympy import (Symbol, Set, Union, I
|
||||
GreaterThan, LessThan, Max, Min, And, Or, Eq, Ge, Le, Gt, Lt, Float,
|
||||
FiniteSet, Intersection, imageset, I, true, false, ProductSet, E,
|
||||
sqrt, Complement, EmptySet, sin, cos, Lambda, ImageSet, pi)
|
||||
-from sympy.mpmath import mpi
|
||||
+from mpmath import mpi
|
||||
|
||||
from sympy.utilities.pytest import raises
|
||||
from sympy.utilities.pytest import raises, XFAIL
|
||||
--- ./sympy/simplify/simplify.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/simplify/simplify.py 2014-12-04 10:31:04.393339699 -0700
|
||||
@@ -34,7 +34,7 @@ from sympy.ntheory.factor_ import multip
|
||||
from sympy.polys import (Poly, together, reduced, cancel, factor,
|
||||
ComputationFailed, lcm, gcd)
|
||||
|
||||
-import sympy.mpmath as mpmath
|
||||
+import mpmath
|
||||
|
||||
|
||||
def _mexpand(expr):
|
||||
--- ./sympy/solvers/solvers.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/solvers/solvers.py 2014-12-04 10:31:04.394339698 -0700
|
||||
@@ -47,7 +47,7 @@ from sympy.utilities.lambdify import lam
|
||||
from sympy.utilities.misc import filldedent
|
||||
from sympy.utilities.iterables import uniq, generate_bell, flatten
|
||||
|
||||
-from sympy.mpmath import findroot
|
||||
+from mpmath import findroot
|
||||
|
||||
from sympy.solvers.polysys import solve_poly_system
|
||||
from sympy.solvers.inequalities import reduce_inequalities
|
||||
@@ -2417,8 +2417,8 @@ def nsolve(*args, **kwargs):
|
||||
Overdetermined systems are supported.
|
||||
|
||||
>>> from sympy import Symbol, nsolve
|
||||
- >>> import sympy
|
||||
- >>> sympy.mpmath.mp.dps = 15
|
||||
+ >>> import mpmath, sympy
|
||||
+ >>> mpmath.mp.dps = 15
|
||||
>>> x1 = Symbol('x1')
|
||||
>>> x2 = Symbol('x2')
|
||||
>>> f1 = 3 * x1**2 - 2 * x2**2 - 1
|
||||
--- ./sympy/solvers/tests/test_numeric.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/solvers/tests/test_numeric.py 2014-12-04 10:31:04.395339696 -0700
|
||||
@@ -1,5 +1,5 @@
|
||||
from sympy import Eq, Matrix, pi, sin, sqrt, Symbol, Integral, Piecewise, symbols
|
||||
-from sympy.mpmath import mnorm, mpf
|
||||
+from mpmath import mnorm, mpf
|
||||
from sympy.solvers import nsolve
|
||||
from sympy.utilities.lambdify import lambdify
|
||||
from sympy.utilities.pytest import raises, XFAIL
|
||||
--- ./sympy/utilities/decorator.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/utilities/decorator.py 2014-12-04 10:31:06.039336987 -0700
|
||||
@@ -81,7 +81,7 @@ def conserve_mpmath_dps(func):
|
||||
"""After the function finishes, resets the value of mpmath.mp.dps to
|
||||
the value it had before the function was run."""
|
||||
import functools
|
||||
- from sympy import mpmath
|
||||
+ import mpmath
|
||||
|
||||
def func_wrapper():
|
||||
dps = mpmath.mp.dps
|
||||
--- ./sympy/utilities/lambdify.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/utilities/lambdify.py 2014-12-04 10:31:06.040336985 -0700
|
||||
@@ -93,7 +93,7 @@ NUMEXPR_TRANSLATIONS = {}
|
||||
# Available modules:
|
||||
MODULES = {
|
||||
"math": (MATH, MATH_DEFAULT, MATH_TRANSLATIONS, ("from math import *",)),
|
||||
- "mpmath": (MPMATH, MPMATH_DEFAULT, MPMATH_TRANSLATIONS, ("from sympy.mpmath import *",)),
|
||||
+ "mpmath": (MPMATH, MPMATH_DEFAULT, MPMATH_TRANSLATIONS, ("from mpmath import *",)),
|
||||
"numpy": (NUMPY, NUMPY_DEFAULT, NUMPY_TRANSLATIONS, ("import_module('numpy')",)),
|
||||
"sympy": (SYMPY, SYMPY_DEFAULT, {}, (
|
||||
"from sympy.functions import *",
|
||||
--- ./sympy/utilities/runtests.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/utilities/runtests.py 2014-12-04 11:05:35.646805355 -0700
|
||||
@@ -473,7 +473,7 @@ def _test(*paths, **kwargs):
|
||||
split = kwargs.get('split', None)
|
||||
blacklist = kwargs.get('blacklist', [])
|
||||
blacklist.extend([
|
||||
- "sympy/mpmath", # needs to be fixed upstream
|
||||
+ "mpmath", # needs to be fixed upstream
|
||||
])
|
||||
blacklist = convert_to_native_paths(blacklist)
|
||||
r = PyTestReporter(verbose=verbose, tb=tb, colors=colors,
|
||||
@@ -607,7 +607,7 @@ def _doctest(*paths, **kwargs):
|
||||
split = kwargs.get('split', None)
|
||||
blacklist.extend([
|
||||
"doc/src/modules/mpmath", # needs to be fixed upstream
|
||||
- "sympy/mpmath", # needs to be fixed upstream
|
||||
+ "mpmath", # needs to be fixed upstream
|
||||
"doc/src/modules/plotting.rst", # generates live plots
|
||||
"sympy/utilities/compilef.py", # needs tcc
|
||||
"sympy/physics/gaussopt.py", # raises deprecation warning
|
||||
--- ./sympy/utilities/tests/diagnose_imports.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/utilities/tests/diagnose_imports.py 2014-12-04 10:31:06.041336983 -0700
|
||||
@@ -117,7 +117,7 @@ if __name__ == "__main__":
|
||||
"""Is module relevant for import checking?
|
||||
|
||||
Only imports between relevant modules will be checked."""
|
||||
- return in_module(module, 'sympy') and not in_module(module, 'sympy.mpmath')
|
||||
+ return in_module(module, 'sympy') and not in_module(module, 'mpmath')
|
||||
|
||||
sorted_messages = []
|
||||
|
||||
--- ./sympy/utilities/tests/test_lambdify.py.orig 2014-11-20 13:00:41.000000000 -0700
|
||||
+++ ./sympy/utilities/tests/test_lambdify.py 2014-12-04 10:31:06.041336983 -0700
|
||||
@@ -3,7 +3,7 @@ from sympy import (
|
||||
symbols, lambdify, sqrt, sin, cos, tan, pi, atan, acos, acosh, Rational,
|
||||
Float, Matrix, Lambda, exp, Integral, oo, I, Abs, Function, true, false)
|
||||
from sympy.printing.lambdarepr import LambdaPrinter
|
||||
-from sympy import mpmath
|
||||
+import mpmath
|
||||
from sympy.utilities.lambdify import implemented_function
|
||||
from sympy.utilities.pytest import skip
|
||||
from sympy.utilities.decorator import conserve_mpmath_dps
|
13
sympy-circuitplot.patch
Normal file
13
sympy-circuitplot.patch
Normal file
@ -0,0 +1,13 @@
|
||||
--- sympy-sympy-1.8/sympy/physics/quantum/tests/test_circuitplot.py.orig 2021-04-09 16:29:50.000000000 -0600
|
||||
+++ sympy-sympy-1.8/sympy/physics/quantum/tests/test_circuitplot.py 2021-04-12 13:27:55.241417177 -0600
|
||||
@@ -4,7 +4,9 @@ from sympy.physics.quantum.gate import C
|
||||
from sympy.external import import_module
|
||||
from sympy.testing.pytest import skip
|
||||
|
||||
-mpl = import_module('matplotlib')
|
||||
+mpl = import_module(
|
||||
+ 'matplotlib', import_kwargs={'fromlist': ['pyplot']},
|
||||
+ catch=(RuntimeError,)) # This is raised in environments that have no display.
|
||||
|
||||
def test_render_label():
|
||||
assert render_label('q0') == r'$\left|q0\right\rangle$'
|
38
sympy-incompatible-pointer.patch
Normal file
38
sympy-incompatible-pointer.patch
Normal file
@ -0,0 +1,38 @@
|
||||
Fixes this error with GCC 14 and numpy 1.19.0 or later:
|
||||
|
||||
wrapper_module_15.c:32:60: error: initialization of ‘void (*)(char **, const npy_intp *, const npy_intp *, void *)’ {aka ‘void (*)(char **, const long int *, const long int *, void *)’} from incompatible pointer type ‘void (*)(char **, npy_intp *, npy_intp *, void *)’ {aka ‘void (*)(char **, long int *, long int *, void *)’}
|
||||
32 | PyUFuncGenericFunction wrapped_281000935073472_funcs[1] = {&wrapped_281000935073472_ufunc};
|
||||
| ^
|
||||
error: command '/usr/bin/gcc' failed with exit code 1
|
||||
|
||||
--- sympy-sympy-1.12/sympy/utilities/autowrap.py.orig 2023-05-09 17:42:05.000000000 -0600
|
||||
+++ sympy-sympy-1.12/sympy/utilities/autowrap.py 2023-11-30 13:26:06.612852361 -0700
|
||||
@@ -714,7 +714,7 @@ static PyMethodDef ${module}Methods[] =
|
||||
_ufunc_outcalls = Template("*((double *)out${outnum}) = ${funcname}(${call_args});")
|
||||
|
||||
_ufunc_body = Template("""\
|
||||
-static void ${funcname}_ufunc(char **args, npy_intp *dimensions, npy_intp* steps, void* data)
|
||||
+static void ${funcname}_ufunc(char **args, const npy_intp *dimensions, const npy_intp* steps, void* data)
|
||||
{
|
||||
npy_intp i;
|
||||
npy_intp n = dimensions[0];
|
||||
--- sympy-sympy-1.12/sympy/utilities/tests/test_autowrap.py.orig 2023-05-09 17:42:05.000000000 -0600
|
||||
+++ sympy-sympy-1.12/sympy/utilities/tests/test_autowrap.py 2023-11-30 12:42:03.489842964 -0700
|
||||
@@ -284,7 +284,7 @@ static PyMethodDef wrapper_module_%(num)
|
||||
{NULL, NULL, 0, NULL}
|
||||
};
|
||||
|
||||
-static void test_ufunc(char **args, npy_intp *dimensions, npy_intp* steps, void* data)
|
||||
+static void test_ufunc(char **args, const npy_intp *dimensions, const npy_intp* steps, void* data)
|
||||
{
|
||||
npy_intp i;
|
||||
npy_intp n = dimensions[0];
|
||||
@@ -378,7 +378,7 @@ static PyMethodDef wrapper_module_%(num)
|
||||
{NULL, NULL, 0, NULL}
|
||||
};
|
||||
|
||||
-static void multitest_ufunc(char **args, npy_intp *dimensions, npy_intp* steps, void* data)
|
||||
+static void multitest_ufunc(char **args, const npy_intp *dimensions, const npy_intp* steps, void* data)
|
||||
{
|
||||
npy_intp i;
|
||||
npy_intp n = dimensions[0];
|
103
sympy-python3.12.patch
Normal file
103
sympy-python3.12.patch
Normal file
@ -0,0 +1,103 @@
|
||||
--- sympy-sympy-1.12/sympy/logic/boolalg.py.orig 2023-05-09 17:42:05.000000000 -0600
|
||||
+++ sympy-sympy-1.12/sympy/logic/boolalg.py 2023-06-29 16:38:14.568908065 -0600
|
||||
@@ -1012,7 +1012,7 @@ class Xor(BooleanFunction):
|
||||
for j in range(i + 1, len(rel)):
|
||||
rj, cj = rel[j][:2]
|
||||
if cj == nc:
|
||||
- odd = ~odd
|
||||
+ odd = not odd
|
||||
break
|
||||
elif cj == c:
|
||||
break
|
||||
--- sympy-sympy-1.12/sympy/parsing/ast_parser.py.orig 2023-05-09 17:42:05.000000000 -0600
|
||||
+++ sympy-sympy-1.12/sympy/parsing/ast_parser.py 2023-06-29 17:12:19.620751353 -0600
|
||||
@@ -23,7 +23,7 @@ from sympy.core.basic import Basic
|
||||
from sympy.core.sympify import SympifyError
|
||||
|
||||
from ast import parse, NodeTransformer, Call, Name, Load, \
|
||||
- fix_missing_locations, Str, Tuple
|
||||
+ fix_missing_locations, Constant, Tuple
|
||||
|
||||
class Transform(NodeTransformer):
|
||||
|
||||
@@ -52,7 +52,7 @@ class Transform(NodeTransformer):
|
||||
elif node.id in ['True', 'False']:
|
||||
return node
|
||||
return fix_missing_locations(Call(func=Name('Symbol', Load()),
|
||||
- args=[Str(node.id)], keywords=[]))
|
||||
+ args=[Constant(node.id)], keywords=[]))
|
||||
|
||||
def visit_Lambda(self, node):
|
||||
args = [self.visit(arg) for arg in node.args.args]
|
||||
--- sympy-sympy-1.12/sympy/parsing/sympy_parser.py.orig 2023-05-09 17:42:05.000000000 -0600
|
||||
+++ sympy-sympy-1.12/sympy/parsing/sympy_parser.py 2023-06-29 17:42:24.574014070 -0600
|
||||
@@ -627,7 +627,9 @@ def factorial_notation(tokens: List[TOKE
|
||||
result: List[TOKEN] = []
|
||||
nfactorial = 0
|
||||
for toknum, tokval in tokens:
|
||||
- if toknum == ERRORTOKEN:
|
||||
+ if toknum == OP and tokval == "!":
|
||||
+ nfactorial += 1
|
||||
+ elif toknum == ERRORTOKEN:
|
||||
op = tokval
|
||||
if op == '!':
|
||||
nfactorial += 1
|
||||
@@ -1135,7 +1137,7 @@ class EvaluateFalseTransformer(ast.NodeT
|
||||
new_node = ast.Call(
|
||||
func=ast.Name(id=sympy_class, ctx=ast.Load()),
|
||||
args=[left, right],
|
||||
- keywords=[ast.keyword(arg='evaluate', value=ast.NameConstant(value=False, ctx=ast.Load()))],
|
||||
+ keywords=[ast.keyword(arg='evaluate', value=ast.Constant(value=False, ctx=ast.Load()))],
|
||||
starargs=None,
|
||||
kwargs=None
|
||||
)
|
||||
@@ -1167,8 +1169,8 @@ class EvaluateFalseTransformer(ast.NodeT
|
||||
if isinstance(node.op, ast.Sub):
|
||||
right = ast.Call(
|
||||
func=ast.Name(id='Mul', ctx=ast.Load()),
|
||||
- args=[ast.UnaryOp(op=ast.USub(), operand=ast.Num(1)), right],
|
||||
- keywords=[ast.keyword(arg='evaluate', value=ast.NameConstant(value=False, ctx=ast.Load()))],
|
||||
+ args=[ast.UnaryOp(op=ast.USub(), operand=ast.Constant(1)), right],
|
||||
+ keywords=[ast.keyword(arg='evaluate', value=ast.Constant(value=False, ctx=ast.Load()))],
|
||||
starargs=None,
|
||||
kwargs=None
|
||||
)
|
||||
@@ -1178,16 +1180,16 @@ class EvaluateFalseTransformer(ast.NodeT
|
||||
rev = True
|
||||
left = ast.Call(
|
||||
func=ast.Name(id='Pow', ctx=ast.Load()),
|
||||
- args=[left, ast.UnaryOp(op=ast.USub(), operand=ast.Num(1))],
|
||||
- keywords=[ast.keyword(arg='evaluate', value=ast.NameConstant(value=False, ctx=ast.Load()))],
|
||||
+ args=[left, ast.UnaryOp(op=ast.USub(), operand=ast.Constant(1))],
|
||||
+ keywords=[ast.keyword(arg='evaluate', value=ast.Constant(value=False, ctx=ast.Load()))],
|
||||
starargs=None,
|
||||
kwargs=None
|
||||
)
|
||||
else:
|
||||
right = ast.Call(
|
||||
func=ast.Name(id='Pow', ctx=ast.Load()),
|
||||
- args=[right, ast.UnaryOp(op=ast.USub(), operand=ast.Num(1))],
|
||||
- keywords=[ast.keyword(arg='evaluate', value=ast.NameConstant(value=False, ctx=ast.Load()))],
|
||||
+ args=[right, ast.UnaryOp(op=ast.USub(), operand=ast.Constant(1))],
|
||||
+ keywords=[ast.keyword(arg='evaluate', value=ast.Constant(value=False, ctx=ast.Load()))],
|
||||
starargs=None,
|
||||
kwargs=None
|
||||
)
|
||||
@@ -1197,7 +1199,7 @@ class EvaluateFalseTransformer(ast.NodeT
|
||||
new_node = ast.Call(
|
||||
func=ast.Name(id=sympy_class, ctx=ast.Load()),
|
||||
args=[left, right],
|
||||
- keywords=[ast.keyword(arg='evaluate', value=ast.NameConstant(value=False, ctx=ast.Load()))],
|
||||
+ keywords=[ast.keyword(arg='evaluate', value=ast.Constant(value=False, ctx=ast.Load()))],
|
||||
starargs=None,
|
||||
kwargs=None
|
||||
)
|
||||
@@ -1212,7 +1214,7 @@ class EvaluateFalseTransformer(ast.NodeT
|
||||
def visit_Call(self, node):
|
||||
new_node = self.generic_visit(node)
|
||||
if isinstance(node.func, ast.Name) and node.func.id in self.functions:
|
||||
- new_node.keywords.append(ast.keyword(arg='evaluate', value=ast.NameConstant(value=False, ctx=ast.Load())))
|
||||
+ new_node.keywords.append(ast.keyword(arg='evaluate', value=ast.Constant(value=False, ctx=ast.Load())))
|
||||
return new_node
|
||||
|
||||
|
534
sympy.spec
534
sympy.spec
@ -1,58 +1,104 @@
|
||||
Name: sympy
|
||||
Version: 0.7.6.1
|
||||
Release: 1%{?dist}
|
||||
Summary: A Python library for symbolic mathematics
|
||||
License: BSD
|
||||
URL: http://sympy.org/
|
||||
Source0: https://github.com/%{name}/%{name}/releases/download/%{name}-%{version}/%{name}-%{version}.tar.gz
|
||||
# Upstream tried to graft in another project as a private copy; we rip
|
||||
# it out (rhbz# 551576):
|
||||
Patch0: %{name}-0.7.6-strip-internal-mpmath.patch
|
||||
Patch1: https://github.com/AadityaNair/sympy/commit/1be64700c1063eff2b2747ce63ca03eac797b4a4.patch
|
||||
BuildArch: noarch
|
||||
# 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.
|
||||
|
||||
# We are archful (see below), but there are no ELF objects in the binary RPM.
|
||||
%global debug_package %{nil}
|
||||
|
||||
Name: sympy
|
||||
Version: 1.12
|
||||
Release: 3%{?dist}
|
||||
Summary: A Python library for symbolic mathematics
|
||||
|
||||
# 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
|
||||
# Adapt to python 3.12
|
||||
Patch1: %{name}-python3.12.patch
|
||||
# Fix incompatible pointers, which are an error with GCC 14
|
||||
Patch2: %{name}-incompatible-pointer.patch
|
||||
|
||||
# This package used to be noarch, and should still be noarch. However, because
|
||||
# there is no JDK available on i686 anymore, the antlr4 package is also not
|
||||
# available on i686. When we can stop building on i686 altogether, we can bring
|
||||
# this back. In the meantime, we cannot claim to be noarch, because the i686
|
||||
# build is different from the other arches in lacking BuildRequires: antlr4.
|
||||
# BuildArch: noarch
|
||||
|
||||
%ifarch %{java_arches}
|
||||
BuildRequires: antlr4
|
||||
%endif
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gcc-gfortran
|
||||
BuildRequires: gettext
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: %{py3_dist cython}
|
||||
BuildRequires: %{py3_dist gmpy2}
|
||||
BuildRequires: %{py3_dist llvmlite}
|
||||
BuildRequires: %{py3_dist matplotlib}
|
||||
BuildRequires: %{py3_dist matplotlib-inline}
|
||||
BuildRequires: %{py3_dist myst-parser}
|
||||
BuildRequires: %{py3_dist numexpr}
|
||||
BuildRequires: python3-numpy-f2py
|
||||
BuildRequires: %{py3_dist scipy}
|
||||
BuildRequires: %{py3_dist wurlitzer}
|
||||
|
||||
# Documentation
|
||||
BuildRequires: graphviz
|
||||
BuildRequires: ImageMagick
|
||||
BuildRequires: librsvg2-tools
|
||||
BuildRequires: numpy python3-numpy
|
||||
BuildRequires: numpy-f2py python3-numpy-f2py
|
||||
BuildRequires: python2-devel python3-devel
|
||||
BuildRequires: python-fastcache python3-fastcache
|
||||
BuildRequires: python-gmpy2 python3-gmpy2
|
||||
BuildRequires: python-matplotlib python3-matplotlib
|
||||
BuildRequires: python-mpmath python3-mpmath
|
||||
BuildRequires: python-sphinx
|
||||
BuildRequires: scipy python3-scipy
|
||||
BuildRequires: make
|
||||
BuildRequires: %{py3_dist furo}
|
||||
BuildRequires: %{py3_dist linkify-it-py}
|
||||
BuildRequires: %{py3_dist mpmath}
|
||||
BuildRequires: %{py3_dist numpydoc}
|
||||
BuildRequires: %{py3_dist sphinx-autobuild}
|
||||
BuildRequires: %{py3_dist sphinx-copybutton}
|
||||
BuildRequires: %{py3_dist sphinx-math-dollar}
|
||||
BuildRequires: %{py3_dist sphinx-reredirects}
|
||||
BuildRequires: %{py3_dist sphinxcontrib-jquery}
|
||||
BuildRequires: python-mpmath-doc
|
||||
BuildRequires: tex(latex)
|
||||
BuildRequires: tex-dvipng
|
||||
|
||||
# Tests
|
||||
BuildRequires: parallel
|
||||
BuildRequires: %{py3_dist autowrap}
|
||||
BuildRequires: xorg-x11-fonts-Type1
|
||||
BuildRequires: xorg-x11-server-Xvfb
|
||||
|
||||
Requires: python-fastcache
|
||||
Requires: python-gmpy2
|
||||
Requires: python-matplotlib
|
||||
Requires: python-mpmath
|
||||
Requires: python-pyglet
|
||||
|
||||
Recommends: python-theano
|
||||
|
||||
%description
|
||||
SymPy 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
|
||||
%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\
|
||||
comprehensible and easily extensible. SymPy is written entirely in\
|
||||
Python and does not require any external libraries.
|
||||
|
||||
%description %_description
|
||||
|
||||
%package -n python3-%{name}
|
||||
Summary: A Python3 library for symbolic mathematics
|
||||
Requires: python3-fastcache
|
||||
Requires: python3-gmpy2
|
||||
Requires: python3-matplotlib
|
||||
Requires: python3-mpmath
|
||||
Requires: python3-pyglet
|
||||
Recommends: tex(latex)
|
||||
Recommends: tex(amsfonts.sty)
|
||||
Recommends: tex(amsmath.sty)
|
||||
Recommends: tex(euler.sty)
|
||||
Recommends: tex(eulervm.sty)
|
||||
Recommends: tex(standalone.cls)
|
||||
%ifarch %{java_arches}
|
||||
Recommends: %{py3_dist antlr4-python3-runtime}
|
||||
%endif
|
||||
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: python3-theano
|
||||
# This can be removed when F38 reaches EOL
|
||||
Obsoletes: sympy-texmacs < 1.8
|
||||
|
||||
%description -n python3-%{name}
|
||||
SymPy aims to become a full-featured computer algebra system (CAS)
|
||||
@ -60,92 +106,100 @@ while keeping the code as simple as possible in order to be
|
||||
comprehensible and easily extensible. SymPy is written entirely in
|
||||
Python and does not require any external libraries.
|
||||
|
||||
%package texmacs
|
||||
Summary: TeXmacs integration for sympy
|
||||
Requires: %{name} = %{version}-%{release}, TeXmacs
|
||||
|
||||
%description texmacs
|
||||
This package contains a TeXmacs plugin for sympy.
|
||||
|
||||
%package examples
|
||||
License: BSD-3-Clause
|
||||
Summary: Sympy examples
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: python3-%{name} = %{version}-%{release}
|
||||
|
||||
%description examples
|
||||
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
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Provides: bundled(jquery)
|
||||
Provides: bundled(js-jquery)
|
||||
Provides: bundled(js-underscore)
|
||||
|
||||
%description doc
|
||||
HTML documentation for sympy.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -b .mpmath
|
||||
%patch1 -p1
|
||||
rm -rf sympy/mpmath doc/src/modules/mpmath
|
||||
rm -rf %{name}-%{version}/sympy/mpmath %{name}-%{version}/doc/src/module/mpmath
|
||||
%autosetup -p1 -n %{name}-%{name}-%{version}
|
||||
|
||||
# One plotting test expects one warning, but the same warning is triggered in
|
||||
# a different spot with recent versions of python, leading to an assertion
|
||||
# failure.
|
||||
sed -e '/import warnings/ifrom sympy.utilities.pytest import XFAIL' \
|
||||
-e '/^def test_matplotlib():/i@XFAIL' \
|
||||
-i sympy/plotting/tests/test_plot_implicit.py
|
||||
fixtimestamp() {
|
||||
touch -r $1.orig $1
|
||||
rm -f $1.orig
|
||||
}
|
||||
|
||||
# Make a copy for building the python3 version
|
||||
rm -rf %{py3dir}
|
||||
cp -a . %{py3dir}
|
||||
# Do not depend on env
|
||||
for fil in $(grep -rl "^#\![[:blank:]]*%{_bindir}/env" .); do
|
||||
sed -i.orig 's,^\(#\![[:blank:]]*%{_bindir}/\)env python,\1python3,' $fil
|
||||
fixtimestamp $fil
|
||||
done
|
||||
|
||||
# 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
|
||||
|
||||
# Use local objects.inv for intersphinx
|
||||
sed -e "s|\('https://mpmath\.org/doc/current/', \)None|\1'%{_docdir}/python-mpmath-doc/html/objects.inv'|" \
|
||||
-i doc/src/conf.py
|
||||
|
||||
%generate_buildrequires
|
||||
%pyproject_buildrequires
|
||||
|
||||
%build
|
||||
# Build the python2 version
|
||||
python2 setup.py build
|
||||
%ifarch %{java_arches}
|
||||
# Regenerate the ANTLR files
|
||||
%{python3} setup.py antlr
|
||||
%endif
|
||||
|
||||
# Build the python3 version
|
||||
pushd %{py3dir}
|
||||
python3 setup.py build
|
||||
popd
|
||||
# Build
|
||||
%pyproject_wheel
|
||||
|
||||
# Build the documentation
|
||||
cd doc
|
||||
make html
|
||||
make cheatsheet
|
||||
pushd %{py3dir}/doc
|
||||
pushd doc
|
||||
make html SPHINXOPTS=%{?_smp_mflags} PYTHON=%{python3}
|
||||
make cheatsheet
|
||||
popd
|
||||
|
||||
%install
|
||||
# Install the python3 version
|
||||
pushd %{py3dir}
|
||||
python3 setup.py install -O1 --skip-build --root %{buildroot}
|
||||
sed -i 's/env python/python3/' %{buildroot}%{_bindir}/isympy
|
||||
touch -r bin/isympy %{buildroot}%{_bindir}/isympy
|
||||
mv %{buildroot}%{_bindir}/isympy %{buildroot}%{_bindir}/python3-isympy
|
||||
mv %{buildroot}%{_mandir}/man1/isympy.1 \
|
||||
%{buildroot}%{_mandir}/man1/python3-isympy.1
|
||||
popd
|
||||
|
||||
# Install the python2 version
|
||||
python2 setup.py install -O1 --skip-build --root %{buildroot}
|
||||
sed -i 's/env python/python2/' %{buildroot}%{_bindir}/isympy
|
||||
touch -r bin/isympy %{buildroot}%{_bindir}/isympy
|
||||
%pyproject_install
|
||||
%pyproject_save_files isympy sympy
|
||||
|
||||
## Remove extra files
|
||||
rm -f %{buildroot}%{_bindir}/{,doc}test
|
||||
|
||||
## Install the TeXmacs integration
|
||||
sed 's/python/python2/' data/TeXmacs/bin/tm_sympy > \
|
||||
%{buildroot}%{_bindir}/tm_sympy
|
||||
chmod a+x %{buildroot}%{_bindir}/tm_sympy
|
||||
touch -r data/TeXmacs/bin/tm_sympy %{buildroot}%{_bindir}/tm_sympy
|
||||
mkdir -p %{buildroot}%{_datadir}/TeXmacs/plugins/sympy
|
||||
cp -a data/TeXmacs/progs %{buildroot}%{_datadir}/TeXmacs/plugins/sympy
|
||||
|
||||
# Don't let an executable script go into the documentation
|
||||
chmod a-x examples/all.py
|
||||
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
|
||||
@ -153,48 +207,276 @@ cp -a doc/_build/html %{buildroot}%{_docdir}/%{name}-doc
|
||||
rm -f %{buildroot}%{_docdir}/%{name}-doc/html/.buildinfo
|
||||
rm -fr %{buildroot}%{_docdir}/%{name}-doc/i18n
|
||||
|
||||
# Stash the python3 build of the cheatsheet where %%doc can find it
|
||||
cp -p %{py3dir}/doc/_build/cheatsheet/combinatoric_cheatsheet.pdf .
|
||||
# Try to get rid of pyc files, which aren't useful for documentation
|
||||
find examples/ -name '*.py[co]' -print -delete
|
||||
|
||||
%check
|
||||
# The python3 tests fail with Unicode errors without this
|
||||
export LC_ALL=en_US.UTF-8
|
||||
# Many tests assume they are running on an x86_64 machine. Some assume that
|
||||
# native 64-bit integers are available. Some assume that 80-bit floating point
|
||||
# numbers are available. Some assume that certain operations always produce
|
||||
# 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 -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))
|
||||
|
||||
let "dnum = $RANDOM % 90 + 10"
|
||||
xvfb-run -n $dnum python2 setup.py test
|
||||
pushd %{py3dir}
|
||||
xvfb-run -n $dnum python3 setup.py test
|
||||
popd
|
||||
|
||||
%files
|
||||
%doc AUTHORS README.rst doc/_build/cheatsheet/combinatoric_cheatsheet.pdf
|
||||
%license LICENSE
|
||||
%{python2_sitelib}/sympy/
|
||||
%{python2_sitelib}/sympy-%{version}-*.egg-info
|
||||
xvfb-run -d \
|
||||
parallel %{?_smp_mflags} \
|
||||
%{python3} bin/test -v --split {}/$jobs \
|
||||
::: $(bash -c "echo {1..$jobs}")
|
||||
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*
|
||||
|
||||
%files -n python3-%{name}
|
||||
%doc AUTHORS README.rst combinatoric_cheatsheet.pdf
|
||||
%license LICENSE
|
||||
%{python3_sitelib}/sympy/
|
||||
%{python3_sitelib}/sympy-%{version}-*.egg-info
|
||||
%{_bindir}/python3-isympy
|
||||
%{_mandir}/man1/python3-isympy.1*
|
||||
|
||||
%files texmacs
|
||||
%license data/TeXmacs/LICENSE
|
||||
%{_bindir}/tm_sympy
|
||||
%{_datadir}/TeXmacs/plugins/sympy/
|
||||
|
||||
%files examples
|
||||
%doc examples
|
||||
%doc examples/*
|
||||
|
||||
%files doc
|
||||
%docdir %{_docdir}/%{name}-doc/html
|
||||
%{_docdir}/%{name}-doc/html
|
||||
|
||||
%changelog
|
||||
* Thu Nov 30 2023 Jerry James <loganjerry@gmail.com> - 1.12-3
|
||||
- Fix incompatible pointer types for GCC 14 compatibility
|
||||
|
||||
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.12-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Thu Jun 29 2023 Jerry James <loganjerry@gmail.com> - 1.12-1
|
||||
- Version 1.12
|
||||
- Add patch for python 3.12 compatibility
|
||||
|
||||
* Thu Jun 29 2023 Python Maint <python-maint@redhat.com> - 1.11.1-5
|
||||
- Rebuilt for Python 3.12
|
||||
|
||||
* Tue Feb 21 2023 Jerry James <loganjerry@gmail.com> - 1.11.1-4
|
||||
- Fix the antlr4 Recommends (bz 2172030)
|
||||
- Dynamically generate BuildRequires (to the extent possible)
|
||||
|
||||
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.11.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Tue Sep 27 2022 Jerry James <loganjerry@gmail.com> - 1.11.1-2
|
||||
- Do not run antlr on i386 where it doesn't exist
|
||||
- Be archful so we don't BR a package that doesn't exist on i386
|
||||
|
||||
* Tue Sep 6 2022 Jerry James <loganjerry@gmail.com> - 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 <releng@fedoraproject.org> - 1.10.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Wed Jun 15 2022 Python Maint <python-maint@redhat.com> - 1.10.1-2
|
||||
- Rebuilt for Python 3.11
|
||||
|
||||
* Sat Mar 19 2022 Jerry James <loganjerry@gmail.com> - 1.10.1-1
|
||||
- Version 1.10.1
|
||||
|
||||
* Thu Mar 17 2022 Jerry James <loganjerry@gmail.com> - 1.10-1
|
||||
- Version 1.10
|
||||
- Drop upstreamed patches: -python3, -png-decoder, -gmpy2-mpq,
|
||||
and -rational-exponent
|
||||
|
||||
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.9-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* 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
|
||||
|
||||
* Thu Jun 10 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.8-2~bootstrap
|
||||
- Build in bootstrap mode to work-around missing theano
|
||||
|
||||
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 1.8-2
|
||||
- Rebuilt for Python 3.10
|
||||
|
||||
* Mon Apr 12 2021 Jerry James <loganjerry@gmail.com> - 1.8-1
|
||||
- Version 1.8
|
||||
- Drop the -float patch and only run tests on x86_64
|
||||
- Add -circuitplot patch to skip tests that fail with no display
|
||||
- Drop the -texmacs subpackage; the TeXmacs package ships its own sympy plugin
|
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Sat Dec 12 2020 Jerry James <loganjerry@gmail.com> - 1.7.1-1
|
||||
- Version 1.7.1
|
||||
|
||||
* Thu Dec 10 2020 Jerry James <loganjerry@gmail.com> - 1.7-2
|
||||
- Fix preview of PNG images (bz 1906363)
|
||||
- Add missing Recommends needed to preview images (bz 1906363)
|
||||
|
||||
* Sat Nov 28 2020 Jerry James <loganjerry@gmail.com> - 1.7-1
|
||||
- Version 1.7
|
||||
|
||||
* Thu Nov 26 2020 Jerry James <loganjerry@gmail.com> - 1.6.2-2
|
||||
- Update Theano dependency for Theano-PyMC
|
||||
- Add -theano-pymc patch to adapt
|
||||
|
||||
* Mon Aug 10 2020 Jerry James <loganjerry@gmail.com> - 1.6.2-1
|
||||
- Version 1.6.2
|
||||
|
||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.6.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Thu Jul 2 2020 Jerry James <loganjerry@gmail.com> - 1.6.1-1
|
||||
- Version 1.6.1
|
||||
- Drop upstreamed -ast patch
|
||||
|
||||
* Wed Jun 24 2020 Jerry James <loganjerry@gmail.com> - 1.6-2
|
||||
- Add setuptools BR
|
||||
- Add -ast patch to fix compilation with python 3.9
|
||||
|
||||
* Fri May 29 2020 Jerry James <loganjerry@gmail.com> - 1.6-1
|
||||
- Version 1.6
|
||||
- Drop upstreamed -doc and -sample-set patches
|
||||
- Disable testing on 32-bit systems; too many tests need 64-bit integers
|
||||
|
||||
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 1.5.1-4
|
||||
- Rebuilt for Python 3.9
|
||||
|
||||
* Mon May 11 2020 Jerry James <loganjerry@gmail.com> - 1.5.1-3
|
||||
- Add -sample-set patch to fix test failure with python 3.9
|
||||
|
||||
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Wed Jan 8 2020 Jerry James <loganjerry@gmail.com> - 1.5.1-1
|
||||
- Update to 1.5.1
|
||||
- Drop upstreamed patches
|
||||
- Drop upstreamed workaround for numpy with a release candidate version
|
||||
|
||||
* Mon Nov 4 2019 Jerry James <loganjerry@gmail.com> - 1.4-6
|
||||
- Fix broken dependencies in the -texmacs subpackage
|
||||
- Recommend numexpr
|
||||
|
||||
* Fri Sep 13 2019 Jerry James <loganjerry@gmail.com> - 1.4-5
|
||||
- Add one more patch to fix a python 3.8 warning
|
||||
|
||||
* Sat Aug 24 2019 Robert-André Mauchin <zebob.m@gmail.com> - 1.4-4
|
||||
- Add patches to fix build with Python 3.8 and Numpy 1.17
|
||||
|
||||
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 1.4-3
|
||||
- Rebuilt for Python 3.8
|
||||
|
||||
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.4-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Wed Apr 17 2019 Jerry James <loganjerry@gmail.com> - 1.4-1
|
||||
- Update to 1.4
|
||||
- Drop -factorial patch
|
||||
|
||||
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.3-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Wed Jan 30 2019 Jerry James <loganjerry@gmail.com> - 1.3-2
|
||||
- Add -sympify and -factorial patches to work around test failures
|
||||
|
||||
* Mon Jan 14 2019 Jerry James <loganjerry@gmail.com> - 1.3-2
|
||||
- Drop Requires from the -doc subpackage (bz 1665767)
|
||||
|
||||
* Sat Oct 6 2018 Jerry James <loganjerry@gmail.com> - 1.3-1
|
||||
- Update to 1.3
|
||||
- Drop upstreamed patches: subexpr-lambdify, test-code-quality, tex-encoding
|
||||
- Drop the python2 subpackage
|
||||
- Add -python3 patch to ask cython to generate python 3 code
|
||||
|
||||
* Tue Aug 14 2018 Miro Hrončok <mhroncok@redhat.com> - 1.2-2
|
||||
- Fix _subexpr method in lambdify
|
||||
|
||||
* Sat Jul 21 2018 Jerry James <loganjerry@gmail.com> - 1.2-1
|
||||
- Update to 1.2 (bz 1599502)
|
||||
- Drop upstreamed -python3 patch
|
||||
- Add -test-code-quality and -doc patches
|
||||
|
||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.1-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 1.1.1-5
|
||||
- Rebuilt for Python 3.7
|
||||
|
||||
* Wed Feb 21 2018 Iryna Shcherbina <ishcherb@redhat.com> - 1.1.1-4
|
||||
- Update Python 2 dependency declarations to new packaging standards
|
||||
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
|
||||
|
||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.1.1-2
|
||||
- Python 2 binary package renamed to python2-sympy
|
||||
See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
|
||||
|
||||
* Thu Jul 27 2017 Jerry James <loganjerry@gmail.com> - 1.1.1-1
|
||||
- Update to 1.1.1 (bz 1468405)
|
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Mon Jul 24 2017 Jerry James <loganjerry@gmail.com> - 1.1-3
|
||||
- Fix dependency on python2 from python3 package (bz 1471886)
|
||||
|
||||
* Sat Jul 8 2017 Jerry James <loganjerry@gmail.com> - 1.1-2
|
||||
- Disable tests that fail due to overflow on some 32-bit architectures
|
||||
|
||||
* Fri Jul 7 2017 Jerry James <loganjerry@gmail.com> - 1.1-1
|
||||
- Update to 1.1 (bz 1468405)
|
||||
- All patches have been upstreamed; drop them all
|
||||
|
||||
* Sat Apr 1 2017 Jerry James <loganjerry@gmail.com> - 1.0-7
|
||||
- Update theano test for theano 0.9
|
||||
|
||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Fri Jan 20 2017 Iryna Shcherbina <ishcherb@redhat.com> - 1.0-5
|
||||
- Make documentation scripts non-executable to avoid
|
||||
autogenerating Python 2 dependency in sympy-examples (#1360766)
|
||||
|
||||
* Fri Jan 13 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.0-4
|
||||
- Run tests in parallel
|
||||
- Work around some broken tests
|
||||
- Use python3 in texmacs-sympy (#1360766)
|
||||
|
||||
* Thu Dec 22 2016 Miro Hrončok <mhroncok@redhat.com> - 1.0-4
|
||||
- Rebuild for Python 3.6
|
||||
|
||||
* Fri Jul 22 2016 Jerry James <loganjerry@gmail.com> - 1.0-3
|
||||
- Update the -test patch for the latest matplotlib release
|
||||
|
||||
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0-3
|
||||
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
|
||||
|
||||
* Sat Apr 2 2016 Jerry James <loganjerry@gmail.com> - 1.0-2
|
||||
- Fix bad /usr/bin/env substitution
|
||||
|
||||
* Thu Mar 31 2016 Jerry James <loganjerry@gmail.com> - 1.0-1
|
||||
- Update to 1.0
|
||||
- All patches have been upstreamed; drop them all
|
||||
- Add -test patch to fix test failures with recent mpmath
|
||||
- Recommend scipy
|
||||
|
||||
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.6.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
|
||||
|
||||
* Thu Sep 3 2015 Jerry James <loganjerry@gmail.com> - 0.7.6.1-1
|
||||
- Update to 0.7.6.1 (bz 1259971)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user