summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO18
-rw-r--r--PKGBUILD26
-rw-r--r--package.patch4
-rw-r--r--sagemath-gap-4.11.patch4
-rw-r--r--sagemath-jedi-0.16.patch22
-rw-r--r--sagemath-no-dict-sorting.patch51
-rw-r--r--sagemath-pari-2.11.3.patch4
-rw-r--r--sagemath-python-3.8.patch61
-rw-r--r--sagemath-singular-4.1.2.patch2
-rw-r--r--sagemath-sympy-1.6.patch60
10 files changed, 150 insertions, 102 deletions
diff --git a/.SRCINFO b/.SRCINFO
index f996413c5212..4f6329ce321a 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = sagemath-git
pkgdesc = Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab
- pkgver = 9.1.rc2.r0.g50c5ac80b0
+ pkgver = 9.1.rc5.r0.g765c5cb3e2
pkgrel = 1
url = http://www.sagemath.org
arch = x86_64
@@ -109,22 +109,24 @@ pkgbase = sagemath-git
source = sagemath-pari-2.11.3.patch
source = sagemath-jedi-0.16.patch
source = sagemath-sphinx-3.patch
+ source = sagemath-sympy-1.6.patch
sha256sums = SKIP
- sha256sums = b1112875776635b4f33bc13c8aaedfbbaed8f62a1dac986f7b8faa7565d6abae
+ sha256sums = 5034676c4ce46181723f261d6bd180a795adea417f485c5e3e361b3aaef498ec
sha256sums = 6a5470d7044a50a35a6478f57c19adf72fe54aefebeea8a095915b63f9e219ac
sha256sums = 887b931b0eb3c7fcfcb01ae0cfda9668925ed59740c4134cba13c43dfe0dd088
sha256sums = 937074fa7a8a4e2aba9ea77ec622fe937985a1a9176c48460d51325ee877a4f5
- sha256sums = 408e193c96a466cfe0134fe44a28e93659916d1d28bd4ea89460aec7fefe8657
+ sha256sums = 11e33637d7807ab0ca3409022638956c0d2dd60b3aa35f101744d6b9bef0f847
sha256sums = e44bbde87f3312548faad75b7383ef21fade55be251ab5804de41cd3842ca8a0
- sha256sums = 2dd5a59f28a71736e62d6b9685bf8947a2809c4b4d5604a57f0dbc69142d849d
+ sha256sums = 7d658e3a3381b478db9c0584450768adf3663b02e217b99d37c2f9467fa9789e
sha256sums = fc28ca3aa1a656bfb451181d5086b3041238f24bf462cc69626d3cd603a246df
- sha256sums = b9b7716f0121f781117410641565e26714a24505aa9cde514a7c2bcc7f32a642
+ sha256sums = 5aef0dfb3ac8cc953d9cfa14e50d65e3e6a57f9cc7de5b030dd166757687f64d
sha256sums = 5e6d1aa34959bd4369bd08a80648a5c7bc2d38e72c97e9a5f986e91f8a7aca07
- sha256sums = 588d831b44ec28ca18540d5649e8af518500b82431a59542f3daa92d6c3007cd
+ sha256sums = ee40e8c595a97166124ac64b105ed62070f1c42564e28a6c2cbdb30da4a5bd49
sha256sums = 4947a86264622dffebb58b802f0616f0fb47b5784d95346f44ee426cb2e541fc
- sha256sums = 1f41b35c916df74fc943949ccde1155e59e7bbbee220c845c9afdf4e0f76bfbc
- sha256sums = 30e15715cdc90639d7cbd34e76bbadae2e6d8bab6241617a386aed9513207b8a
+ sha256sums = f4c48127791f7fac46f0f4589bca4fdec43ab0689665f37436d52743d263fb0f
+ sha256sums = b15762a283b2dade0d5131c7b22b33f47bcbc1eca4975b1e00d85fa152299503
sha256sums = eeeafd1a74c8c43c369569c8ea1dbae8fd9fcfdf0e6609471c030e9738b97ce5
+ sha256sums = fde6e00ccc200c748d6f092e35c60b93d4ed096f7b35b2db42681935f30ebcee
pkgname = sagemath-git
optdepends = cython: to compile cython code
diff --git a/PKGBUILD b/PKGBUILD
index 5a5f54f8f81d..83aec6ae0baa 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,7 +7,7 @@
pkgbase=sagemath-git
pkgname=(sagemath-git sagemath-jupyter-git)
-pkgver=9.1.rc2.r0.g50c5ac80b0
+pkgver=9.1.rc5.r0.g765c5cb3e2
pkgrel=1
pkgdesc="Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab"
arch=(x86_64)
@@ -49,23 +49,25 @@ source=(git://git.sagemath.org/sage.git#branch=develop
sagemath-matplotlib-3.2.patch
sagemath-pari-2.11.3.patch
sagemath-jedi-0.16.patch
- sagemath-sphinx-3.patch)
+ sagemath-sphinx-3.patch
+ sagemath-sympy-1.6.patch)
sha256sums=('SKIP'
- 'b1112875776635b4f33bc13c8aaedfbbaed8f62a1dac986f7b8faa7565d6abae'
+ '5034676c4ce46181723f261d6bd180a795adea417f485c5e3e361b3aaef498ec'
'6a5470d7044a50a35a6478f57c19adf72fe54aefebeea8a095915b63f9e219ac'
'887b931b0eb3c7fcfcb01ae0cfda9668925ed59740c4134cba13c43dfe0dd088'
'937074fa7a8a4e2aba9ea77ec622fe937985a1a9176c48460d51325ee877a4f5'
- '408e193c96a466cfe0134fe44a28e93659916d1d28bd4ea89460aec7fefe8657'
+ '11e33637d7807ab0ca3409022638956c0d2dd60b3aa35f101744d6b9bef0f847'
'e44bbde87f3312548faad75b7383ef21fade55be251ab5804de41cd3842ca8a0'
- '2dd5a59f28a71736e62d6b9685bf8947a2809c4b4d5604a57f0dbc69142d849d'
+ '7d658e3a3381b478db9c0584450768adf3663b02e217b99d37c2f9467fa9789e'
'fc28ca3aa1a656bfb451181d5086b3041238f24bf462cc69626d3cd603a246df'
- 'b9b7716f0121f781117410641565e26714a24505aa9cde514a7c2bcc7f32a642'
+ '5aef0dfb3ac8cc953d9cfa14e50d65e3e6a57f9cc7de5b030dd166757687f64d'
'5e6d1aa34959bd4369bd08a80648a5c7bc2d38e72c97e9a5f986e91f8a7aca07'
- '588d831b44ec28ca18540d5649e8af518500b82431a59542f3daa92d6c3007cd'
+ 'ee40e8c595a97166124ac64b105ed62070f1c42564e28a6c2cbdb30da4a5bd49'
'4947a86264622dffebb58b802f0616f0fb47b5784d95346f44ee426cb2e541fc'
- '1f41b35c916df74fc943949ccde1155e59e7bbbee220c845c9afdf4e0f76bfbc'
- '30e15715cdc90639d7cbd34e76bbadae2e6d8bab6241617a386aed9513207b8a'
- 'eeeafd1a74c8c43c369569c8ea1dbae8fd9fcfdf0e6609471c030e9738b97ce5')
+ 'f4c48127791f7fac46f0f4589bca4fdec43ab0689665f37436d52743d263fb0f'
+ 'b15762a283b2dade0d5131c7b22b33f47bcbc1eca4975b1e00d85fa152299503'
+ 'eeeafd1a74c8c43c369569c8ea1dbae8fd9fcfdf0e6609471c030e9738b97ce5'
+ 'fde6e00ccc200c748d6f092e35c60b93d4ed096f7b35b2db42681935f30ebcee')
pkgver() {
cd sage
@@ -110,6 +112,8 @@ prepare(){
patch -p1 -i ../sagemath-sphinx-3.patch
# Fix warnings with matplotlib 3.2 https://trac.sagemath.org/ticket/29547
patch -p1 -i ../sagemath-matplotlib-3.2.patch
+# Port to sympy 1.6 changes https://trac.sagemath.org/ticket/29730
+ patch -p1 -i ../sagemath-sympy-1.6.patch
sed -e 's|sage-python23|python|' -i src/bin/*
sed -e 's|$SAGE_PYTHON3|yes|' -i src/bin/sage
@@ -154,7 +158,7 @@ package_sagemath-git() {
cp -r sage/tests/books "$pkgdir"/$_pythonpath/sage/tests
# Split jupyter kernel
- rm -r "$pkgdir"/usr/share/jupyter
+ rm -r "$pkgdir"/usr/share
}
package_sagemath-jupyter-git() {
diff --git a/package.patch b/package.patch
index d94b63db64f1..225e9735cacb 100644
--- a/package.patch
+++ b/package.patch
@@ -1,6 +1,6 @@
--- src/module_list.py
+++ src/module_list.py
-@@ -517,12 +517,6 @@ ext_modules = [
+@@ -525,12 +525,6 @@ ext_modules = [
Extension('sage.libs.ecl',
sources = ["sage/libs/ecl.pyx"]),
@@ -15,7 +15,7 @@
extra_compile_args = ["-D_XPG6"]),
--- src/sage/misc/package.py.orig 2014-11-23 15:58:13.000000000 +0100
+++ src/sage/misc/package.py 2015-01-22 20:32:25.651383902 +0100
-@@ -358,7 +358,7 @@
+@@ -355,7 +355,7 @@
Use the framework provided by :mod:`sage.features` to check
whether a library is installed and functional.
"""
diff --git a/sagemath-gap-4.11.patch b/sagemath-gap-4.11.patch
index 072f3ecd11d3..a1df07081828 100644
--- a/sagemath-gap-4.11.patch
+++ b/sagemath-gap-4.11.patch
@@ -167,7 +167,7 @@ diff --git a/src/sage/groups/perm_gps/permgroup.py b/src/sage/groups/perm_gps/pe
index 8512b01122..245fdd868b 100644
--- a/src/sage/groups/perm_gps/permgroup.py
+++ b/src/sage/groups/perm_gps/permgroup.py
-@@ -840,7 +840,7 @@ class PermutationGroup_generic(FiniteGroup):
+@@ -852,7 +852,7 @@ class PermutationGroup_generic(FiniteGroup):
sage: f=PG._coerce_map_from_(MG)
sage: mg = MG.an_element()
sage: p = f(mg); p
@@ -176,7 +176,7 @@ index 8512b01122..245fdd868b 100644
sage: PG(p._gap_()) == p
True
-@@ -889,9 +889,9 @@ class PermutationGroup_generic(FiniteGroup):
+@@ -901,9 +901,9 @@ class PermutationGroup_generic(FiniteGroup):
False
sage: g1, g2, g3 = G.gens()
sage: P(g1*g2)
diff --git a/sagemath-jedi-0.16.patch b/sagemath-jedi-0.16.patch
index 477091a1c007..083496fbf9e4 100644
--- a/sagemath-jedi-0.16.patch
+++ b/sagemath-jedi-0.16.patch
@@ -1,30 +1,14 @@
--- a/src/sage/all.py
+++ b/src/sage/all.py
-@@ -99,6 +99,9 @@ warnings.filterwarnings('ignore', category=DeprecationWarning,
+@@ -99,6 +99,11 @@ warnings.filterwarnings('ignore', category=DeprecationWarning,
# However, be sure to keep OUR deprecation warnings
warnings.filterwarnings('default', category=DeprecationWarning,
message=r'[\s\S]*See https\?://trac\.sagemath\.org/[0-9]* for details.')
+# jedi 0.16 deprecation warnings
+warnings.filterwarnings('ignore', category=DeprecationWarning,
+ message='.*Use get_signatures().*')
++warnings.filterwarnings('ignore', category=DeprecationWarning,
++ message='.*Providing the .* is now done in the functions themselves.*')
# Python 3.8 deprecation warnings
warnings.filterwarnings('ignore', category=DeprecationWarning,
message='.*PY_SSIZE_T_CLEAN.*')
-diff --git a/src/sage/__init__.py b/src/sage/__init__.py
-index c5ebb92..e2ae5b8 100644
---- a/src/sage/__init__.py
-+++ b/src/sage/__init__.py
-@@ -56,13 +56,3 @@ def isfunction(obj):
-
- import inspect
- inspect.isfunction = isfunction
--
--
--# Monkey-patch ExtensionFileLoader to allow IPython to find the sources
--# of Cython files. See https://trac.sagemath.org/ticket/24681
--try:
-- from importlib.machinery import ExtensionFileLoader
--except ImportError:
-- pass # Python 2
--else:
-- del ExtensionFileLoader.get_source
diff --git a/sagemath-no-dict-sorting.patch b/sagemath-no-dict-sorting.patch
index 44096783244d..25499cb556ce 100644
--- a/sagemath-no-dict-sorting.patch
+++ b/sagemath-no-dict-sorting.patch
@@ -2720,7 +2720,7 @@ index e00570bc2c..50b1178323 100644
"""
n = self.order()
diff --git a/src/sage/graphs/graph.py b/src/sage/graphs/graph.py
-index c46dde0a40..6043454e5f 100644
+index cda883c703..a0e45092d5 100644
--- a/src/sage/graphs/graph.py
+++ b/src/sage/graphs/graph.py
@@ -3820,7 +3820,7 @@ class Graph(GenericGraph):
@@ -3670,39 +3670,6 @@ index 747f5dcda7..65ef9d9e95 100644
"""
result = { "required" : [],
-diff --git a/src/sage/misc/package.py b/src/sage/misc/package.py
-index 2b1106cdc4..7c5e519bfa 100644
---- a/src/sage/misc/package.py
-+++ b/src/sage/misc/package.py
-@@ -198,18 +198,21 @@ def list_packages(*pkg_types, **opts):
- 'zn_poly',
- 'zope_interface']
- sage: L['ppl'] # optional - build
-- {'installed': True,
-+ {'name': 'ppl',
-+ 'type': 'standard',
-+ 'source': 'normal',
- 'installed_version': '...',
-- 'remote_version': '...',
-- 'type': 'standard'}
-+ 'installed': True,
-+ 'remote_version': '...'}
-
- sage: L = list_packages(pkg_sources=['pip'], local=True) # optional - build
- sage: L['beautifulsoup4'] # optional - build
-- {'installed': ...,
-- 'installed_version': ...,
-- 'remote_version': None,
-+ {'name': 'beautifulsoup4',
-+ 'type': 'optional',
- 'source': 'pip',
-- 'type': 'optional'}
-+ 'installed_version': ...,
-+ 'installed': False,
-+ 'remote_version': None}
-
- sage: L = list_packages(pkg_sources=['pip']) # optional - build internet
- sage: L['beautifulsoup4'] # optional - build internet
diff --git a/src/sage/modular/arithgroup/arithgroup_perm.py b/src/sage/modular/arithgroup/arithgroup_perm.py
index 6559327295..7a2bec3b04 100644
--- a/src/sage/modular/arithgroup/arithgroup_perm.py
@@ -4308,10 +4275,10 @@ index e5e92420a2..83fa565962 100644
sage: g = f^2 + f - 2; g
3*s + 3*t + s^2 + 5*s*t + t^2 + O(s, t)^3
diff --git a/src/sage/rings/number_field/S_unit_solver.py b/src/sage/rings/number_field/S_unit_solver.py
-index 7612ed0ddc..38f4d81746 100644
+index 02160e9930..646a24f56c 100644
--- a/src/sage/rings/number_field/S_unit_solver.py
+++ b/src/sage/rings/number_field/S_unit_solver.py
-@@ -1597,7 +1597,7 @@ def clean_rfv_dict(rfv_dictionary):
+@@ -1596,7 +1596,7 @@ def clean_rfv_dict(rfv_dictionary):
sage: len(rfv_dict)
4
sage: rfv_dict
@@ -4320,7 +4287,7 @@ index 7612ed0ddc..38f4d81746 100644
"""
for a, val in list(rfv_dictionary.items()):
-@@ -1761,31 +1761,31 @@ def construct_comp_exp_vec(rfv_to_ev_dict, q):
+@@ -1760,31 +1760,31 @@ def construct_comp_exp_vec(rfv_to_ev_dict, q):
sage: from sage.rings.number_field.S_unit_solver import construct_comp_exp_vec
sage: rfv_to_ev_dict = {(6, 6): [(3, 0)], (5, 6): [(1, 2)], (5, 4): [(5, 3)], (6, 2): [(5, 5)], (2, 5): [(0, 1)], (5, 5): [(3, 4)], (4, 4): [(0, 2)], (6, 3): [(1, 4)], (3, 6): [(5, 4)], (2, 2): [(0, 4)], (3, 5): [(1, 0)], (6, 4): [(1, 1)], (3, 2): [(1, 3)], (2, 6): [(4, 5)], (4, 5): [(4, 3)], (2, 3): [(2, 3)], (4, 2): [(4, 0)], (6, 5): [(5, 2)], (3, 3): [(3, 2)], (5, 3): [(5, 0)], (4, 6): [(2, 1)], (3, 4): [(3, 5)], (4, 3): [(0, 5)], (5, 2): [(3, 1)], (2, 4): [(2, 0)]}
sage: construct_comp_exp_vec(rfv_to_ev_dict, 7)
@@ -4406,7 +4373,7 @@ index 6bac81e277..3c5892f9b8 100644
try:
return self.__stats
diff --git a/src/sage/rings/polynomial/laurent_polynomial.pyx b/src/sage/rings/polynomial/laurent_polynomial.pyx
-index bed2266fad..597be70bda 100644
+index 17904ad8b1..b356714dba 100644
--- a/src/sage/rings/polynomial/laurent_polynomial.pyx
+++ b/src/sage/rings/polynomial/laurent_polynomial.pyx
@@ -2148,7 +2148,7 @@ cdef class LaurentPolynomial_mpair(LaurentPolynomial):
@@ -4419,7 +4386,7 @@ index bed2266fad..597be70bda 100644
cdef dict D = <dict> self._poly._mpoly_dict_recursive(self._parent.variable_names(),
self._parent.base_ring())
diff --git a/src/sage/rings/polynomial/multi_polynomial.pyx b/src/sage/rings/polynomial/multi_polynomial.pyx
-index 34762d8de4..9b3fd022f0 100644
+index 7000594fdf..13e3b80e39 100644
--- a/src/sage/rings/polynomial/multi_polynomial.pyx
+++ b/src/sage/rings/polynomial/multi_polynomial.pyx
@@ -504,7 +504,7 @@ cdef class MPolynomial(CommutativeRingElement):
@@ -4432,10 +4399,10 @@ index 34762d8de4..9b3fd022f0 100644
TESTS::
diff --git a/src/sage/rings/polynomial/multi_polynomial_ideal.py b/src/sage/rings/polynomial/multi_polynomial_ideal.py
-index cc587596dd..456fa3ecf5 100644
+index 35c2374fbc..5f3deeb69c 100644
--- a/src/sage/rings/polynomial/multi_polynomial_ideal.py
+++ b/src/sage/rings/polynomial/multi_polynomial_ideal.py
-@@ -3641,11 +3641,11 @@ class MPolynomialIdeal( MPolynomialIdeal_singular_repr, \
+@@ -3678,11 +3678,11 @@ class MPolynomialIdeal( MPolynomialIdeal_singular_repr, \
sage: loads(dumps(I)).__getstate__()
(Monoid of ideals of Multivariate Polynomial Ring in x, y over Finite Field of size 32003,
@@ -4477,7 +4444,7 @@ index 42001d4fcf..e1a0dad01b 100644
cdef poly *p
cdef ring *r
diff --git a/src/sage/rings/polynomial/polydict.pyx b/src/sage/rings/polynomial/polydict.pyx
-index 277eaf1844..67ebd2515f 100644
+index f86c7c7990..ad624ed901 100644
--- a/src/sage/rings/polynomial/polydict.pyx
+++ b/src/sage/rings/polynomial/polydict.pyx
@@ -285,7 +285,7 @@ cdef class PolyDict:
diff --git a/sagemath-pari-2.11.3.patch b/sagemath-pari-2.11.3.patch
index 7cb469d255a9..3a375fcf359b 100644
--- a/sagemath-pari-2.11.3.patch
+++ b/sagemath-pari-2.11.3.patch
@@ -151,7 +151,7 @@ diff --git a/src/sage/rings/number_field/number_field_ideal.py b/src/sage/rings/
index b4eabe8..d746dcb 100644
--- a/src/sage/rings/number_field/number_field_ideal.py
+++ b/src/sage/rings/number_field/number_field_ideal.py
-@@ -1827,7 +1827,7 @@ class NumberFieldFractionalIdeal(MultiplicativeGroupElement, NumberFieldIdeal):
+@@ -1824,7 +1824,7 @@ class NumberFieldFractionalIdeal(MultiplicativeGroupElement, NumberFieldIdeal):
sage: F.<a> = NumberField(2*x^3 + x + 1)
sage: fact = F.factor(2); fact
@@ -160,7 +160,7 @@ index b4eabe8..d746dcb 100644
sage: [p[0].norm() for p in fact]
[2, 2]
"""
-@@ -2418,7 +2418,7 @@ class NumberFieldFractionalIdeal(MultiplicativeGroupElement, NumberFieldIdeal):
+@@ -2415,7 +2415,7 @@ class NumberFieldFractionalIdeal(MultiplicativeGroupElement, NumberFieldIdeal):
sage: A.is_coprime(B)
False
sage: lam = A.idealcoprime(B); lam
diff --git a/sagemath-python-3.8.patch b/sagemath-python-3.8.patch
index 8671f81c3b4f..fc797b538717 100644
--- a/sagemath-python-3.8.patch
+++ b/sagemath-python-3.8.patch
@@ -1,3 +1,34 @@
+diff --git a/src/sage/doctest/forker.py b/src/sage/doctest/forker.py
+index c91a49c06b..9fb9364b8c 100644
+--- a/src/sage/doctest/forker.py
++++ b/src/sage/doctest/forker.py
+@@ -1068,7 +1068,7 @@ class SageDocTestRunner(doctest.DocTestRunner, object):
+ False
+ sage: doctests, extras = FDS.create_doctests(globs)
+ sage: ex0 = doctests[0].examples[0]
+- sage: compiler = lambda ex: compile(ex.source, '<doctest sage.doctest.forker[0]>', 'single', 32768, 1)
++ sage: compiler = lambda ex: compile(ex.source, '<doctest sage.doctest.forker[0]>', 'single', 524288, 1)
+ sage: DTR.compile_and_execute(ex0, compiler, globs)
+ 1764
+ sage: globs['doctest_var']
+@@ -1081,7 +1081,7 @@ class SageDocTestRunner(doctest.DocTestRunner, object):
+ Now we can execute some more doctests to see the dependencies. ::
+
+ sage: ex1 = doctests[0].examples[1]
+- sage: compiler = lambda ex:compile(ex.source, '<doctest sage.doctest.forker[1]>', 'single', 32768, 1)
++ sage: compiler = lambda ex:compile(ex.source, '<doctest sage.doctest.forker[1]>', 'single', 524288, 1)
+ sage: DTR.compile_and_execute(ex1, compiler, globs)
+ sage: sorted(list(globs.set))
+ ['R', 'a']
+@@ -1093,7 +1093,7 @@ class SageDocTestRunner(doctest.DocTestRunner, object):
+ ::
+
+ sage: ex2 = doctests[0].examples[2]
+- sage: compiler = lambda ex:compile(ex.source, '<doctest sage.doctest.forker[2]>', 'single', 32768, 1)
++ sage: compiler = lambda ex:compile(ex.source, '<doctest sage.doctest.forker[2]>', 'single', 524288, 1)
+ sage: DTR.compile_and_execute(ex2, compiler, globs)
+ a + 42
+ sage: list(globs.set)
diff --git a/src/sage/algebras/lie_algebras/structure_coefficients.py b/src/sage/algebras/lie_algebras/structure_coefficients.py
index d1d7c2ed98..c32f29448c 100644
--- a/src/sage/algebras/lie_algebras/structure_coefficients.py
@@ -488,7 +519,7 @@ index 99ad85b695..4d2642366a 100644
]
"""
alg = kwds.get('algorithm', None)
-@@ -3672,13 +3672,13 @@ class DynamicalSystem_projective(SchemeMorphism_polynomial_projective_space,
+@@ -3749,13 +3749,13 @@ class DynamicalSystem_projective(SchemeMorphism_polynomial_projective_space,
sage: P.<x,y,z> = ProjectiveSpace(K,2)
sage: f = DynamicalSystem_projective([x^2+z^2, y^2+x^2, z^2+y^2])
sage: f.preperiodic_points(0,1)
@@ -509,7 +540,7 @@ index 99ad85b695..4d2642366a 100644
::
-@@ -3893,13 +3893,13 @@ class DynamicalSystem_projective(SchemeMorphism_polynomial_projective_space,
+@@ -3970,13 +3970,13 @@ class DynamicalSystem_projective(SchemeMorphism_polynomial_projective_space,
sage: P.<x,y,z> = ProjectiveSpace(K,2)
sage: f = DynamicalSystem_projective([x^2+z^2, y^2+x^2, z^2+y^2])
sage: f.periodic_points(1)
@@ -528,7 +559,7 @@ index 99ad85b695..4d2642366a 100644
::
-@@ -5497,7 +5497,7 @@ class DynamicalSystem_projective_field(DynamicalSystem_projective,
+@@ -5573,7 +5573,7 @@ class DynamicalSystem_projective_field(DynamicalSystem_projective,
sage: f.rational_periodic_points()
doctest:warning
...
@@ -537,7 +568,7 @@ index 99ad85b695..4d2642366a 100644
"""
from sage.misc.superseded import deprecation
deprecation(28109, "use sage.dynamics.arithmetic_dynamics.projective_ds.all_periodic_points instead")
-@@ -5941,8 +5941,8 @@ class DynamicalSystem_projective_field(DynamicalSystem_projective,
+@@ -6017,8 +6017,8 @@ class DynamicalSystem_projective_field(DynamicalSystem_projective,
(w^2 + w - 25/16 : 1),
(-w : 1),
(-w^2 + 29/16 : 1),
@@ -547,7 +578,7 @@ index 99ad85b695..4d2642366a 100644
(-w^2 + 21/16 : 1),
(w^2 - 21/16 : 1),
(w^2 + w - 33/16 : 1),
-@@ -6070,8 +6070,8 @@ class DynamicalSystem_projective_field(DynamicalSystem_projective,
+@@ -6146,8 +6146,8 @@ class DynamicalSystem_projective_field(DynamicalSystem_projective,
sage: g = f.conjugate(m)
sage: f.conjugating_set(g) # long time
[
@@ -758,7 +789,7 @@ diff --git a/src/sage/geometry/polyhedron/library.py b/src/sage/geometry/polyhed
index d66997fc95..57a039d4d6 100644
--- a/src/sage/geometry/polyhedron/library.py
+++ b/src/sage/geometry/polyhedron/library.py
-@@ -2287,12 +2287,12 @@ class Polytopes():
+@@ -2603,12 +2603,12 @@ class Polytopes():
sage: perm_a2_reg = polytopes.generalized_permutahedron(['A',2],regular=True)
sage: perm_a2_reg.vertices()
@@ -775,7 +806,7 @@ index d66997fc95..57a039d4d6 100644
sage: perm_a2_reg.is_inscribed()
True
sage: perm_a3_reg = polytopes.generalized_permutahedron(['A',3],regular=True)
-@@ -2304,20 +2304,20 @@ class Polytopes():
+@@ -2620,20 +2620,20 @@ class Polytopes():
sage: perm_a2_inexact = polytopes.generalized_permutahedron(['A',2],exact=False)
sage: perm_a2_inexact.vertices()
(A vertex at (0.0, 1.0),
@@ -832,7 +863,7 @@ diff --git a/src/sage/graphs/generic_graph.py b/src/sage/graphs/generic_graph.py
index 9f7e1f418e..0ec459e7d3 100644
--- a/src/sage/graphs/generic_graph.py
+++ b/src/sage/graphs/generic_graph.py
-@@ -5211,7 +5211,7 @@ class GenericGraph(GenericGraph_pyx):
+@@ -5209,7 +5209,7 @@ class GenericGraph(GenericGraph_pyx):
This method is deprecated since Sage-4.4.1.alpha2. Please use instead:
sage: g.layout(layout = "planar", save_pos = True)
@@ -841,7 +872,7 @@ index 9f7e1f418e..0ec459e7d3 100644
"""
deprecation(24494, 'This method is replaced by the method layout. '
'Please use layout(layout="planar", save_pos=True) '
-@@ -5265,25 +5265,25 @@ class GenericGraph(GenericGraph_pyx):
+@@ -5263,25 +5263,25 @@ class GenericGraph(GenericGraph_pyx):
sage: g = graphs.PathGraph(10)
sage: g.layout(layout='planar', save_pos=True, test=True)
@@ -880,7 +911,7 @@ index 9f7e1f418e..0ec459e7d3 100644
sage: g = graphs.CompleteGraph(5)
sage: g.layout(layout='planar', save_pos=True, test=True, set_embedding=True)
Traceback (most recent call last):
-@@ -5809,17 +5809,17 @@ class GenericGraph(GenericGraph_pyx):
+@@ -5900,17 +5900,17 @@ class GenericGraph(GenericGraph_pyx):
sage: T = graphs.TetrahedralGraph()
sage: T.faces({0: [1, 3, 2], 1: [0, 2, 3], 2: [0, 3, 1], 3: [0, 1, 2]})
[[(0, 1), (1, 2), (2, 0)],
@@ -908,7 +939,7 @@ diff --git a/src/sage/graphs/graph.py b/src/sage/graphs/graph.py
index cab8faa833..9f00d87eb4 100644
--- a/src/sage/graphs/graph.py
+++ b/src/sage/graphs/graph.py
-@@ -6770,7 +6770,7 @@ class Graph(GenericGraph):
+@@ -6780,7 +6780,7 @@ class Graph(GenericGraph):
sage: all(F.degree(u) == len(cliques) for u,cliques in d.items())
True
sage: F.cliques_containing_vertex(vertices=[(0, 1)])
@@ -917,7 +948,7 @@ index cab8faa833..9f00d87eb4 100644
"""
import networkx
-@@ -7147,7 +7147,7 @@ class Graph(GenericGraph):
+@@ -7157,7 +7157,7 @@ class Graph(GenericGraph):
Vertices may be arbitrary --- check that :trac:`24898` is fixed::
sage: Graph({(1,2):[(2,3)],(2,3):[(1,2)]}).modular_decomposition()
@@ -1001,7 +1032,7 @@ index dc11b61e4d..24090589d4 100644
sage: g = graphs.PathGraph(3)
sage: g.is_planar(set_embedding=True)
-@@ -157,7 +157,7 @@ def _normal_label(g, comb_emb, external_face):
+@@ -177,7 +177,7 @@ def _normal_label(g, comb_emb, external_face):
True
sage: faces = g.faces(g._embedding)
sage: _triangulate(g, g._embedding)
@@ -1010,7 +1041,7 @@ index dc11b61e4d..24090589d4 100644
sage: tn = _normal_label(g, g._embedding, faces[0])
sage: _realizer(g, tn)
({0: [<sage.graphs.schnyder.TreeNode object at ...>]},
-@@ -381,7 +381,7 @@ def _realizer(g, x, example=False):
+@@ -401,7 +401,7 @@ def _realizer(g, x, example=False):
True
sage: faces = g.faces(g._embedding)
sage: _triangulate(g, g._embedding)
@@ -1019,7 +1050,7 @@ index dc11b61e4d..24090589d4 100644
sage: tn = _normal_label(g, g._embedding, faces[0])
sage: _realizer(g, tn)
({0: [<sage.graphs.schnyder.TreeNode object at ...>]},
-@@ -468,12 +468,12 @@ def _compute_coordinates(g, x):
+@@ -488,12 +488,12 @@ def _compute_coordinates(g, x):
True
sage: faces = g.faces(g._embedding)
sage: _triangulate(g, g._embedding)
diff --git a/sagemath-singular-4.1.2.patch b/sagemath-singular-4.1.2.patch
index 0bc72c46aa4d..dfa84676c61b 100644
--- a/sagemath-singular-4.1.2.patch
+++ b/sagemath-singular-4.1.2.patch
@@ -642,7 +642,7 @@ index 962205f..1c9a81d 100644
The ideals must share the same ring::
-@@ -4005,9 +4005,9 @@ class MPolynomialIdeal( MPolynomialIdeal_singular_repr, \
+@@ -4106,9 +4106,9 @@ class MPolynomialIdeal( MPolynomialIdeal_singular_repr, \
sage: P.<a,b,c> = PolynomialRing(ZZ,3)
sage: I = P * (a + 2*b + 2*c - 1, a^2 - a + 2*b^2 + 2*c^2, 2*a*b + 2*b*c - b)
sage: I.groebner_basis()
diff --git a/sagemath-sympy-1.6.patch b/sagemath-sympy-1.6.patch
new file mode 100644
index 000000000000..b1e4258b8173
--- /dev/null
+++ b/sagemath-sympy-1.6.patch
@@ -0,0 +1,60 @@
+diff --git a/build/pkgs/sympy/checksums.ini b/build/pkgs/sympy/checksums.ini
+index 1b98ad8879..e5b80927ab 100644
+--- a/build/pkgs/sympy/checksums.ini
++++ b/build/pkgs/sympy/checksums.ini
+@@ -1,4 +1,5 @@
+ tarball=sympy-VERSION.tar.gz
+-sha1=be2e740860f7900f0ee2a8102d2943fded44125c
+-md5=fa9ad424535075312df022964ede21bc
+-cksum=3298250000
++sha1=067078df2d0401f3c4b49ee2e50a4105f92c5272
++md5=dbb7b21d2972c41f37d48f744b6189a3
++cksum=575244204
++upstream_url=https://github.com/sympy/sympy/releases/download/sympy-VERSION/sympy-VERSION.tar.gz
+diff --git a/build/pkgs/sympy/package-version.txt b/build/pkgs/sympy/package-version.txt
+index c239c60cba..810ee4e91e 100644
+--- a/build/pkgs/sympy/package-version.txt
++++ b/build/pkgs/sympy/package-version.txt
+@@ -1 +1 @@
+-1.5
++1.6
+diff --git a/src/sage/calculus/test_sympy.py b/src/sage/calculus/test_sympy.py
+index 9fb9358cb2..86f9366704 100644
+--- a/src/sage/calculus/test_sympy.py
++++ b/src/sage/calculus/test_sympy.py
+@@ -109,7 +109,7 @@ And here are some actual tests of sympy::
+
+ sage: e = (1/cos(x)^3)._sympy_(); e
+ cos(x)**(-3)
+- sage: f = e.series(x, 0, 10); f
++ sage: f = e.series(x, 0, int(10)); f
+ 1 + 3*x**2/2 + 11*x**4/8 + 241*x**6/240 + 8651*x**8/13440 + O(x**10)
+
+ And the pretty-printer. Since unicode characters are not working on
+diff --git a/src/sage/manifolds/calculus_method.py b/src/sage/manifolds/calculus_method.py
+index 7042afe77a..a658551ee9 100644
+--- a/src/sage/manifolds/calculus_method.py
++++ b/src/sage/manifolds/calculus_method.py
+@@ -65,7 +65,7 @@ def _SR_to_Sympy(expression):
+
+ """
+ # Nothing to do if expression is already a SymPy object:
+- if type(expression) in sympy.core.all_classes:
++ if type(expression) in sympy.core.core.all_classes:
+ return expression
+ return SR(expression)._sympy_()
+
+diff --git a/src/sage/symbolic/relation.py b/src/sage/symbolic/relation.py
+index 028f628797..d252434d52 100644
+--- a/src/sage/symbolic/relation.py
++++ b/src/sage/symbolic/relation.py
+@@ -914,7 +914,8 @@ def solve(f, *args, **kwds):
+ print them::
+
+ sage: solve(sinh(x) - 2*cosh(x),x,algorithm='sympy')
+- ConditionSet(x, Eq((-exp(2*x) - 3)*exp(-x)/2, 0), Reals)
++ [ImageSet(Lambda(_n, I*(2*_n*pi + pi/2) + log(sqrt(3))), Integers),
++ ImageSet(Lambda(_n, I*(2*_n*pi - pi/2) + log(sqrt(3))), Integers)]
+ sage: solve(2*sin(x) - 2*sin(2*x), x,algorithm='sympy')
+ [ImageSet(Lambda(_n, 2*_n*pi), Integers),
+ ImageSet(Lambda(_n, 2*_n*pi + pi), Integers),