[sympy] Update to 0.7.6.

Jerry James jjames at fedoraproject.org
Fri Dec 5 15:41:14 UTC 2014


commit b37cad141304f782657a446ef46b226917c649b0
Author: Jerry James <jamesjer at betterlinux.com>
Date:   Fri Dec 5 08:41:06 2014 -0700

    Update to 0.7.6.
    
    Also:
    - Drop upstreamed -test and -is-tangent patches
    - Drop obsolete bug workarounds
    - Add python(3)-fastcache BR and R
    - Recommend python-theano
    - Fix executable bits on tm_sympy

 .gitignore                                         |    2 +-
 sources                                            |    2 +-
 sympy-0.7.5-is-tangent.patch                       |   13 -
 sympy-0.7.5-test.patch                             |   86 ----
 ...atch => sympy-0.7.6-strip-internal-mpmath.patch |  464 +++++++++++---------
 sympy.spec                                         |   60 ++-
 6 files changed, 286 insertions(+), 341 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 070709d..9885830 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-/sympy-0.7.5.tar.gz
+/sympy-0.7.6.tar.gz
diff --git a/sources b/sources
index 81d4080..9d45cf5 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-7de1adb49972a15a3dd975e879a2bea9  sympy-0.7.5.tar.gz
+3d04753974306d8a13830008e17babca  sympy-0.7.6.tar.gz
diff --git a/sympy-0.7.5-strip-internal-mpmath.patch b/sympy-0.7.6-strip-internal-mpmath.patch
similarity index 60%
rename from sympy-0.7.5-strip-internal-mpmath.patch
rename to sympy-0.7.6-strip-internal-mpmath.patch
index b4d0c43..36c14ff 100644
--- a/sympy-0.7.5-strip-internal-mpmath.patch
+++ b/sympy-0.7.6-strip-internal-mpmath.patch
@@ -1,5 +1,5 @@
---- ./examples/advanced/autowrap_ufuncify.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./examples/advanced/autowrap_ufuncify.py	2014-03-12 21:00:00.000000000 -0600
+--- ./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.")
@@ -9,8 +9,8 @@
  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-02-22 12:13:32.000000000 -0700
-+++ ./examples/advanced/pidigits.py	2014-03-12 21:00:00.000000000 -0600
+--- ./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.
  """
@@ -22,11 +22,11 @@
  
  import math
  from time import clock
---- ./setup.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./setup.py	2014-03-12 21:00:00.000000000 -0600
-@@ -70,11 +70,6 @@ modules = [
-     'sympy.logic.utilities',
+--- ./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',
@@ -36,7 +36,7 @@
      'sympy.ntheory',
      'sympy.parsing',
      'sympy.physics',
-@@ -240,7 +235,6 @@ tests = [
+@@ -246,7 +241,6 @@ tests = [
      'sympy.logic.tests',
      'sympy.matrices.expressions.tests',
      'sympy.matrices.tests',
@@ -44,8 +44,8 @@
      'sympy.ntheory.tests',
      'sympy.parsing.tests',
      'sympy.physics.hep.tests',
---- ./sympy/combinatorics/permutations.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/combinatorics/permutations.py	2014-03-12 21:00:00.000000000 -0600
+--- ./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
@@ -55,18 +55,19 @@
  
  
  def _af_rmul(a, b):
---- ./sympy/core/evalf.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/core/evalf.py	2014-03-12 21:00:00.000000000 -0600
-@@ -6,19 +6,19 @@ from __future__ import print_function, d
+--- ./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 make_mpc, make_mpf, mp, mpc, mpf, nsum, quadts, quadosc
+-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,
-+import mpmath.libmp as libmp
-+from mpmath import make_mpc, make_mpf, mp, mpc, mpf, nsum, quadts, quadosc
 +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,
@@ -86,8 +87,8 @@
  
  from .compatibility import SYMPY_INTS
  from .sympify import sympify
---- ./sympy/core/expr.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/core/expr.py	2014-03-12 21:00:00.000000000 -0600
+--- ./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
@@ -97,11 +98,20 @@
  
  from collections import defaultdict
  
---- ./sympy/core/function.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/core/function.py	2014-03-12 21:00:00.000000000 -0600
-@@ -50,8 +50,8 @@ from sympy.core.compatibility import str
- from sympy.utilities import default_sort_key
+@@ -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
@@ -110,7 +120,7 @@
  
  import inspect
  
-@@ -453,7 +453,7 @@ class Function(Application, Expr):
+@@ -460,7 +460,7 @@ class Function(Application, Expr):
          try:
              args = [arg._to_mpmath(prec + 5) for arg in self.args]
              def bad(m):
@@ -119,7 +129,7 @@
                  # 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
-@@ -1234,7 +1234,7 @@ class Derivative(Expr):
+@@ -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.
          """
@@ -128,8 +138,8 @@
          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-02-22 12:13:32.000000000 -0700
-+++ ./sympy/core/numbers.py	2014-03-12 21:00:00.000000000 -0600
+--- ./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,
@@ -147,32 +157,21 @@
      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-02-22 12:13:32.000000000 -0700
-+++ ./sympy/core/power.py	2014-03-12 21:00:00.000000000 -0600
-@@ -13,7 +13,7 @@ from sympy.core.function import (_coeff_
- from sympy.core.logic import fuzzy_bool
- from sympy.core.compatibility import as_int, xrange
+--- ./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/sets.py.orig	2014-03-12 21:00:00.000000000 -0600
-+++ ./sympy/core/sets.py	2014-03-12 21:00:00.000000000 -0600
-@@ -9,7 +9,7 @@ from sympy.core.evalf import EvalfMixin
- from sympy.core.numbers import Float
- from sympy.core.compatibility import iterable, with_metaclass
- 
--from sympy.mpmath import mpi, mpf
-+from mpmath import mpi, mpf
- from sympy.logic.boolalg import And, Or, true, false
- 
- from sympy.utilities import default_sort_key
---- ./sympy/core/tests/test_evalf.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/core/tests/test_evalf.py	2014-03-12 21:00:00.000000000 -0600
-@@ -3,9 +3,9 @@ from sympy import (Add, ceiling, cos, E,
-                    sin, sqrt, sstr, Sum, sympify, S, integrate, atan, product)
+--- ./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
@@ -183,8 +182,8 @@
  from sympy.utilities.pytest import raises, XFAIL
  
  
---- ./sympy/core/tests/test_numbers.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/core/tests/test_numbers.py	2014-03-12 21:00:00.000000000 -0600
+--- ./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
@@ -197,7 +196,7 @@
  
  
  def test_integers_cache():
-@@ -1347,8 +1347,8 @@ def test_issue_1073():
+@@ -1355,8 +1355,8 @@ def test_issue_4172():
  
  @XFAIL
  def test_mpmath_issues():
@@ -208,7 +207,7 @@
      rnd = mlib.round_nearest
      mpf = (0, long(0), -123, -1, 53, rnd)  # nan
      assert _normalize(mpf, 53) != (0, long(0), 0, 0)
-@@ -1357,7 +1357,7 @@ def test_mpmath_issues():
+@@ -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)
  
@@ -217,28 +216,17 @@
      assert mlib.mpf_eq(fnan, fnan)
  
  
-@@ -1388,7 +1388,7 @@ def test_int_NumberSymbols():
+@@ -1396,7 +1396,7 @@ def test_int_NumberSymbols():
  
  
- def test_3541():
+ 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_sets.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/core/tests/test_sets.py	2014-03-12 21:00:00.000000000 -0600
-@@ -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
- )
--from sympy.mpmath import mpi
-+from mpmath import mpi
- 
- from sympy.utilities.pytest import raises
- from sympy.utilities.pytest import raises, XFAIL
---- ./sympy/core/tests/test_sympify.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/core/tests/test_sympify.py	2014-03-12 21:00:00.000000000 -0600
+--- ./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
@@ -247,9 +235,9 @@
 +import mpmath
  
  
- def test_439():
---- ./sympy/core/tests/test_wester.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/core/tests/test_wester.py	2014-03-12 21:00:00.000000000 -0600
+ 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.
  """
@@ -265,21 +253,21 @@
 -    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,
-     elliptic_e, elliptic_f, powsimp, hessian, wronskian, fibonacci, sign,
-@@ -24,7 +25,7 @@ from sympy.functions.special.zeta_functi
+     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
+ 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-02-22 12:13:32.000000000 -0700
-+++ ./sympy/external/tests/test_numpy.py	2014-03-12 21:00:00.000000000 -0600
-@@ -27,7 +27,7 @@ from sympy import (Rational, Symbol, lis
-         symarray, symbols, Integer)
+--- ./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
@@ -287,20 +275,20 @@
  from sympy.abc import x, y, z
  from sympy.utilities.decorator import conserve_mpmath_dps
  
---- ./sympy/functions/combinatorial/numbers.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/functions/combinatorial/numbers.py	2014-03-12 21:00:00.000000000 -0600
-@@ -15,8 +15,8 @@ from sympy.core.compatibility import as_
- from sympy.core.cache import cacheit
+--- ./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
+-from sympy.mpmath import bernfrac, workprec
 -from sympy.mpmath.libmp import ifib as _ifib
-+from mpmath import bernfrac
++from mpmath import bernfrac, workprec
 +from mpmath.libmp import ifib as _ifib
  
  
  def _product(a, b):
-@@ -631,7 +631,7 @@ class euler(Function):
+@@ -706,7 +706,7 @@ class euler(Function):
          if m.is_odd:
              return S.Zero
          if m.is_Integer and m.is_nonnegative:
@@ -309,7 +297,7 @@
              m = m._to_mpmath(mp.prec)
              res = mp.eulernum(m, exact=True)
              return Integer(res)
-@@ -650,7 +650,7 @@ class euler(Function):
+@@ -725,7 +725,7 @@ class euler(Function):
          m = self.args[0]
  
          if m.is_Integer and m.is_nonnegative:
@@ -317,9 +305,9 @@
 +            from mpmath import mp
              from sympy import Expr
              m = m._to_mpmath(prec)
-             oprec = mp.prec
---- ./sympy/functions/special/bessel.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/functions/special/bessel.py	2014-03-12 21:00:00.000000000 -0600
+             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
  
@@ -335,22 +323,22 @@
              raise ArgumentIndexError(self, argindex)
  
      def _eval_evalf(self, prec):
--        from sympy.mpmath import mp
-+        from mpmath import mp
+-        from sympy.mpmath import mp, workprec
++        from mpmath import mp, workprec
          from sympy import Expr
          z = self.args[0]._to_mpmath(prec)
-         oprec = mp.prec
-@@ -1367,7 +1367,7 @@ class airybiprime(AiryBase):
+         with workprec(prec):
+@@ -1365,7 +1365,7 @@ class airybiprime(AiryBase):
              raise ArgumentIndexError(self, argindex)
  
      def _eval_evalf(self, prec):
--        from sympy.mpmath import mp
-+        from mpmath import mp
+-        from sympy.mpmath import mp, workprec
++        from mpmath import mp, workprec
          from sympy import Expr
          z = self.args[0]._to_mpmath(prec)
-         oprec = mp.prec
---- ./sympy/functions/special/error_functions.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/functions/special/error_functions.py	2014-03-12 21:00:00.000000000 -0600
+         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:
@@ -360,28 +348,28 @@
      >>> findroot(li, 2)
      1.45136923488338
  
---- ./sympy/functions/special/gamma_functions.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/functions/special/gamma_functions.py	2014-03-12 21:00:00.000000000 -0600
+--- ./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
-+        from mpmath import mp
+-        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)
-@@ -397,7 +397,7 @@ class uppergamma(Function):
+@@ -395,7 +395,7 @@ class uppergamma(Function):
              raise ArgumentIndexError(self, argindex)
  
      def _eval_evalf(self, prec):
--        from sympy.mpmath import mp
-+        from mpmath import mp
+-        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-02-22 12:13:32.000000000 -0700
-+++ ./sympy/functions/special/hyper.py	2014-03-12 21:00:00.000000000 -0600
+--- ./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).
@@ -392,19 +380,19 @@
          z = self.argument
          znum = self.argument._eval_evalf(prec)
          if znum.has(exp_polar):
---- ./sympy/functions/special/spherical_harmonics.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/functions/special/spherical_harmonics.py	2014-03-12 21:00:00.000000000 -0600
-@@ -217,7 +217,7 @@ class Ynm(Function):
+--- ./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
-+        from mpmath import mp
+-        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-02-22 12:13:32.000000000 -0700
-+++ ./sympy/geometry/ellipse.py	2014-03-12 21:00:00.000000000 -0600
+--- ./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
@@ -414,8 +402,8 @@
  
  
  import random
---- ./sympy/liealgebras/weyl_group.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/liealgebras/weyl_group.py	2014-03-12 21:00:00.000000000 -0600
+--- ./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
@@ -425,9 +413,9 @@
  from operator import itemgetter
  from itertools import groupby
  from sympy.matrices import Matrix, eye
---- ./sympy/matrices/matrices.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/matrices/matrices.py	2014-03-12 21:00:00.000000000 -0600
-@@ -1214,7 +1214,7 @@ class MatrixBase(object):
+--- ./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
@@ -436,7 +424,7 @@
  
          See Also
          ========
-@@ -1591,7 +1591,7 @@ class MatrixBase(object):
+@@ -1615,7 +1615,7 @@ class MatrixBase(object):
          to use QRsolve.
  
          This is mainly for educational purposes and symbolic matrices, for real
@@ -445,8 +433,8 @@
  
          See Also
          ========
---- ./sympy/ntheory/partitions_.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/ntheory/partitions_.py	2014-03-12 21:00:00.000000000 -0600
+--- ./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
  
@@ -455,8 +443,8 @@
      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-02-22 12:13:32.000000000 -0700
-+++ ./sympy/physics/quantum/constants.py	2014-03-12 21:00:00.000000000 -0600
+--- ./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
@@ -466,8 +454,8 @@
  
  #-----------------------------------------------------------------------------
  # Constants
---- ./sympy/physics/quantum/qubit.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/physics/quantum/qubit.py	2014-03-12 21:00:00.000000000 -0600
+--- ./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
@@ -477,8 +465,8 @@
  
  __all__ = [
      'Qubit',
---- ./sympy/polys/domains/groundtypes.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/polys/domains/groundtypes.py	2014-03-12 21:00:00.000000000 -0600
+--- ./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
  
@@ -488,8 +476,8 @@
  
  
  def python_sqrt(n):
---- ./sympy/polys/domains/mpelements.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/polys/domains/mpelements.py	2014-03-12 21:00:00.000000000 -0600
+--- ./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
@@ -505,8 +493,8 @@
  
  from sympy.utilities import public
  
---- ./sympy/polys/modulargcd.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/polys/modulargcd.py	2014-03-12 21:00:00.000000000 -0600
+--- ./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
  
@@ -516,9 +504,9 @@
  from sympy import Dummy
  import random
  
---- ./sympy/polys/numberfields.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/polys/numberfields.py	2014-03-12 21:00:00.000000000 -0600
-@@ -43,7 +43,7 @@ from sympy.core.exprtools import Factors
+--- ./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
@@ -527,20 +515,28 @@
  
  from sympy.core.compatibility import reduce
  from sympy.core.compatibility import xrange
---- ./sympy/polys/polytools.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/polys/polytools.py	2014-03-12 21:00:00.000000000 -0600
-@@ -47,7 +47,7 @@ from sympy.polys.polyerrors import (
+--- ./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
+ from sympy.polys.domains import FF, QQ, ZZ
  from sympy.polys.constructor import construct_domain
-@@ -3370,17 +3370,17 @@ class Poly(Expr):
-         coeffs = [coeff.evalf(n=n).as_real_imag()
-                   for coeff in f.all_coeffs()]
+@@ -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
@@ -548,42 +544,71 @@
 +        mpmath.mp.dps = n
  
          try:
-             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)
- 
--            result = sympy.mpmath.polyroots(
-+            result = mpmath.polyroots(
-                 coeffs, maxsteps=maxsteps, cleanup=cleanup, error=error)
- 
-             if error:
-@@ -3390,7 +3390,7 @@ class Poly(Expr):
- 
-             roots = list(map(sympify, sorted(roots, key=lambda r: (r.real, r.imag))))
+             # 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
  
-         if error is not None:
-             return roots, sympify(error)
---- ./sympy/polys/rootoftools.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/polys/rootoftools.py	2014-03-12 21:00:00.000000000 -0600
-@@ -25,8 +25,8 @@ from sympy.polys.polyerrors import (
+         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
+-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
++from mpmath import mp, mpf, mpc, findroot, workprec
 +from mpmath.libmp.libmpf import prec_to_dps
  
  from sympy.utilities import lambdify, public
  
---- ./sympy/printing/latex.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/printing/latex.py	2014-03-12 21:00:00.000000000 -0600
+--- ./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
@@ -595,8 +620,8 @@
  
  from sympy.core.compatibility import default_sort_key, xrange
  from sympy.utilities.iterables import has_variety
---- ./sympy/printing/repr.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/printing/repr.py	2014-03-12 21:00:00.000000000 -0600
+--- ./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
@@ -608,8 +633,8 @@
  
  
  class ReprPrinter(Printer):
---- ./sympy/printing/str.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/printing/str.py	2014-03-12 21:00:00.000000000 -0600
+--- ./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
@@ -621,9 +646,31 @@
  
  from sympy.utilities import default_sort_key
  
---- ./sympy/simplify/simplify.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/simplify/simplify.py	2014-03-12 21:00:00.000000000 -0600
-@@ -33,7 +33,7 @@ from sympy.ntheory.factor_ import multip
+--- ./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)
  
@@ -632,8 +679,8 @@
  
  
  def _mexpand(expr):
---- ./sympy/solvers/solvers.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/solvers/solvers.py	2014-03-12 21:00:00.000000000 -0600
+--- ./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
@@ -643,7 +690,7 @@
  
  from sympy.solvers.polysys import solve_poly_system
  from sympy.solvers.inequalities import reduce_inequalities
-@@ -2399,8 +2399,8 @@ def nsolve(*args, **kwargs):
+@@ -2417,8 +2417,8 @@ def nsolve(*args, **kwargs):
      Overdetermined systems are supported.
  
      >>> from sympy import Symbol, nsolve
@@ -654,8 +701,8 @@
      >>> x1 = Symbol('x1')
      >>> x2 = Symbol('x2')
      >>> f1 = 3 * x1**2 - 2 * x2**2 - 1
---- ./sympy/solvers/tests/test_numeric.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/solvers/tests/test_numeric.py	2014-03-12 21:00:00.000000000 -0600
+--- ./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
@@ -663,30 +710,8 @@
  from sympy.solvers import nsolve
  from sympy.utilities.lambdify import lambdify
  from sympy.utilities.pytest import raises, XFAIL
---- ./sympy/statistics/distributions.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/statistics/distributions.py	2014-03-12 21:00:00.000000000 -0600
-@@ -213,7 +213,7 @@ class Normal(ContinuousProbability):
-         # error function is not yet implemented in SymPy but can easily be
-         # computed numerically
- 
--        from sympy.mpmath import mpf, erfinv
-+        from mpmath import mpf, erfinv
- 
-         # calculate y = ierf(p) by solving erf(y) - p = 0
-         y = erfinv(mpf(p))
---- ./sympy/statistics/tests/test_statistics.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/statistics/tests/test_statistics.py	2014-03-12 21:00:00.000000000 -0600
-@@ -3,7 +3,7 @@ from sympy.functions import erf
- 
- from operator import abs
- 
--from sympy.mpmath import mp
-+from mpmath import mp
- 
- from sympy.utilities.tests.test_pickling import check
- 
---- ./sympy/utilities/decorator.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/utilities/decorator.py	2014-03-12 21:00:00.000000000 -0600
+--- ./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."""
@@ -696,9 +721,9 @@
  
      def func_wrapper():
          dps = mpmath.mp.dps
---- ./sympy/utilities/lambdify.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/utilities/lambdify.py	2014-03-12 21:00:00.000000000 -0600
-@@ -87,7 +87,7 @@ NUMPY_TRANSLATIONS = {
+--- ./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 *",)),
@@ -707,19 +732,28 @@
      "numpy": (NUMPY, NUMPY_DEFAULT, NUMPY_TRANSLATIONS, ("import_module('numpy')",)),
      "sympy": (SYMPY, SYMPY_DEFAULT, {}, (
          "from sympy.functions import *",
---- ./sympy/utilities/runtests.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/utilities/runtests.py	2014-03-12 21:00:00.000000000 -0600
-@@ -552,7 +552,7 @@ def _doctest(*paths, **kwargs):
+--- ./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/statistics",                # prints a deprecation
-         "doc/src/modules/statistics.rst",  # warning (the module is deprecated)
---- ./sympy/utilities/tests/diagnose_imports.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/utilities/tests/diagnose_imports.py	2014-03-12 21:00:00.000000000 -0600
+         "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?
  
@@ -729,11 +763,11 @@
  
      sorted_messages = []
  
---- ./sympy/utilities/tests/test_lambdify.py.orig	2014-02-22 12:13:32.000000000 -0700
-+++ ./sympy/utilities/tests/test_lambdify.py	2014-03-12 21:00:00.000000000 -0600
+--- ./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, pi, atan, Rational, Float,
-     Matrix, Lambda, exp, Integral, oo, I, Abs, Function, true, false)
+     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
diff --git a/sympy.spec b/sympy.spec
index 5d403e7..225508c 100644
--- a/sympy.spec
+++ b/sympy.spec
@@ -1,19 +1,13 @@
 Name:           sympy
-Version:        0.7.5
-Release:        4%{?dist}
+Version:        0.7.6
+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.5-strip-internal-mpmath.patch
-# The test driver disables Unicode output, but the printing test expects to
-# see Unicode output.  Until upstream fixes this, patch the test so that it
-# expects Unicode output if Unicode output is active, otherwise ASCII output. 
-Patch1:         %{name}-0.7.5-test.patch
-# Fix a bug in ellipse.is_tangent (bz 1135677)
-Patch2:         %{name}-0.7.5-is-tangent.patch
+Patch0:         %{name}-0.7.6-strip-internal-mpmath.patch
 BuildArch:      noarch
 
 BuildRequires:  gcc-gfortran
@@ -24,6 +18,7 @@ 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
@@ -34,11 +29,14 @@ BuildRequires:  tex-dvipng
 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
@@ -47,11 +45,14 @@ Python and does not require any external libraries.
 
 %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:     python3-theano
+
 %description -n python3-%{name}
 SymPy aims to become a full-featured computer algebra system (CAS)
 while keeping the code as simple as possible in order to be
@@ -75,6 +76,7 @@ This package contains example input for sympy.
 %package doc
 Summary:        Documentation for sympy
 Requires:       %{name} = %{version}-%{release}
+Provides:       bundled(jquery)
 
 %description doc
 HTML documentation for sympy.
@@ -82,25 +84,20 @@ HTML documentation for sympy.
 %prep
 %setup -q
 %patch0 -b .mpmath
-%patch1
-%patch2
 rm -rf sympy/mpmath doc/src/modules/mpmath
 rm -rf %{name}-%{version}/sympy/mpmath %{name}-%{version}/doc/src/module/mpmath
 
-# Workaround for bz 1075826.  Remove this when that bug is resolved.
-mkdir -p doc/_build/html
-cp -p doc/src/_static/sympylogo.png doc
-
-# Workaround for mpmath brokenness (bz 1127796)
-sed -e 's/import raises/&, XFAIL/' \
-    -e '/^def test_roots_preprocessed():/i at XFAIL' \
-    -i sympy/polys/tests/test_polyroots.py
-sed -i '/^def test_nroots():/i at XFAIL' sympy/polys/tests/test_polytools.py
-
 # Make a copy for building the python3 version
 rm -rf %{py3dir}
 cp -a . %{py3dir}
 
+# One plotting test expects one warning, which happens with python < 3.4, but
+# the same warning is triggered in a different spot with python 3.4, leading
+# to an assertion failure.
+sed -e 's/import warnings/&, XFAIL/' \
+    -e '/^def test_matplotlib():/i at XFAIL' \
+    -i %{py3dir}/sympy/plotting/tests/test_plot_implicit.py
+
 %build
 # Build the python2 version
 python2 setup.py build
@@ -125,7 +122,8 @@ 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
-ln -s isympy.1.gz %{buildroot}%{_mandir}/man1/python3-isympy.1.gz
+mv %{buildroot}%{_mandir}/man1/isympy.1 \
+   %{buildroot}%{_mandir}/man1/python3-isympy.1
 popd
 
 # Install the python2 version
@@ -139,6 +137,7 @@ rm -f %{buildroot}%{_bindir}/{,doc}test
 ## Install the TeXmacs integration
 sed 's/python/python3/' 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
@@ -152,6 +151,9 @@ 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 .
+
 %check
 # The python3 tests fail with Unicode errors without this
 export LC_ALL=en_US.UTF-8
@@ -163,7 +165,7 @@ xvfb-run -n $dnum python3 setup.py test
 popd
  
 %files
-%doc AUTHORS doc/_build/cheatsheet/cheatsheet.pdf
+%doc AUTHORS README.rst doc/_build/cheatsheet/combinatoric_cheatsheet.pdf
 %license LICENSE
 %{python2_sitelib}/sympy/
 %{python2_sitelib}/sympy-%{version}-*.egg-info
@@ -171,7 +173,7 @@ popd
 %{_mandir}/man1/isympy.1*
 
 %files -n python3-%{name}
-%doc AUTHORS doc/_build/cheatsheet/cheatsheet.pdf
+%doc AUTHORS README.rst combinatoric_cheatsheet.pdf
 %license LICENSE
 %{python3_sitelib}/sympy/
 %{python3_sitelib}/sympy-%{version}-*.egg-info
@@ -191,8 +193,16 @@ popd
 %{_docdir}/%{name}-doc/html
 
 %changelog
+* Fri Dec  5 2014 Jerry James <loganjerry at gmail.com> - 0.7.6-1
+- Update to 0.7.6
+- Drop upstreamed -test and -is-tangent patches
+- Drop obsolete bug workarounds
+- Add python(3)-fastcache BR and R
+- Recommend python-theano
+- Fix executable bits on tm_sympy
+
 * Tue Sep 16 2014 Jerry James <loganjerry at gmail.com> - 0.7.5-4
-- Drop python3-six BR and R now that bz1140413 is fixed
+- Drop python3-six BR and R now that bz 1140413 is fixed
 - Use gmpy2
 
 * Wed Sep  3 2014 Jerry James <loganjerry at gmail.com> - 0.7.5-3


More information about the scm-commits mailing list