[arch-commits] Commit in sagemath/trunk (11 files)

Antonio Rojas arojas at archlinux.org
Fri Jul 21 23:55:11 UTC 2017


    Date: Friday, July 21, 2017 @ 23:55:10
  Author: arojas
Revision: 245952

Update to 8.0

Modified:
  sagemath/trunk/PKGBUILD
  sagemath/trunk/env.patch
  sagemath/trunk/latte-count.patch
Deleted:
  sagemath/trunk/cython-sys-path.patch
  sagemath/trunk/ecm-7.patch
  sagemath/trunk/increase-rtol.patch
  sagemath/trunk/sagemath-planarity3.patch
  sagemath/trunk/sagemath-pynac-0.7.6.patch
  sagemath/trunk/sagemath-singular-4.1.0.p2.patch
  sagemath/trunk/sagemath-singular-4.1.0.p3.patch
  sagemath/trunk/skip-check.patch

----------------------------------+
 PKGBUILD                         |   68 +--
 cython-sys-path.patch            |   10 
 ecm-7.patch                      |   79 ---
 env.patch                        |   15 
 increase-rtol.patch              |   37 -
 latte-count.patch                |   13 
 sagemath-planarity3.patch        |  113 -----
 sagemath-pynac-0.7.6.patch       |   44 --
 sagemath-singular-4.1.0.p2.patch |  777 -------------------------------------
 sagemath-singular-4.1.0.p3.patch |  118 -----
 skip-check.patch                 |   22 -
 11 files changed, 30 insertions(+), 1266 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2017-07-21 19:18:57 UTC (rev 245951)
+++ PKGBUILD	2017-07-21 23:55:10 UTC (rev 245952)
@@ -1,6 +1,5 @@
-# $Id$
-# Maintainer: Evgeniy Alekseev <arcanis.arch at gmail dot com>
 # Maintainer: Antonio Rojas <arojas at archlinux.org>
+# Contributor: Evgeniy Alekseev <arcanis.arch at gmail dot com>
 # Contributor: Daniel Wallace <danielwallace at gtmanfred dot com>
 # Contributor: Thomas Dziedzic <gostrc at gmail dot com>
 # Contributor: Osman Ugus <ugus11 at yahoo dot com>
@@ -9,52 +8,43 @@
 
 pkgbase=sagemath
 pkgname=(sagemath sagemath-jupyter)
-pkgver=7.6
-pkgrel=8
+pkgver=8.0
+pkgrel=1
 pkgdesc="Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab"
 arch=(i686 x86_64)
 url="http://www.sagemath.org"
 license=(GPL)
-depends=(ipython2 ppl palp brial cliquer maxima-ecl gfan sympow nauty python2-rpy2 python2-fpylll python2-psutil
+depends=(ipython2 ppl palp brial cliquer maxima-ecl gfan sympow nauty python2-rpy2 python2-fpylll python2-psutil python2-cypari2
   python2-matplotlib python2-scipy python2-sympy python2-networkx python2-pillow python2-future libgap flintqs lcalc lrcalc arb
   eclib gmp-ecm zn_poly gd python2-cvxopt pynac linbox rubiks pari-galdata pari-seadata-small planarity rankwidth
   sage-data-combinatorial_designs sage-data-elliptic_curves sage-data-graphs sage-data-polytopes_db sage-data-conway_polynomials)
 optdepends=('cython2: to compile cython code' 'python2-pkgconfig: to compile cython code'
-  'jmol: 3D plots' 'sage-notebook: Browser-based (flask) notebook interface'
+  'jmol: 3D plots' 'sage-notebook: Flask notebook interface (deprecated)'
   'sagemath-doc: Documentation and inline help' 'python2-igraph: igraph backend for graph theory'
   'coin-or-cbc: COIN backend for numerical computations' 'coin-or-csdp: for computing Lovász theta-function of graphs'
   'buckygen: for generating fullerene graphs' 'plantri: for generating some classes of graphs' 'benzene: for generating fusenes and benzenoids'
   'modular_decomposition: modular decomposition of graphs' 'ffmpeg: to export animations to video' 'imagemagick: to show animations'
-  'coxeter3: Coxeter groups implementation' 'cryptominisat2: SAT solver' 'gap-data: for computing Galois groups'
+  'coxeter3: Coxeter groups implementation' 'cryptominisat5: SAT solver' 'gap-data: for computing Galois groups'
   'lrs: Algorithms for linear reverse search used in game theory and for computing volume of polytopes'
   'libhomfly: for computing the homfly polynomial of links' 'libbraiding: for computing in braid groups'
   'libfes: exhaustive search of solutions for boolean equations' 'python2-pynormaliz: Normaliz backend for polyhedral computations'
-  'latte-integrale: integral point count in polyhedra'
+  'latte-integrale: integral point count in polyhedra' 'polymake: polymake backend for polyhedral computations'
+  'sirocco: for computing the fundamental group of the complement of a plane curve'
   'three.js: alternative 3D plots engine' 'tachyon: alternative 3D plots engine')
-makedepends=(cython2 boost ratpoints symmetrica python2-jinja coin-or-cbc libhomfly libbraiding
-  mcqd coxeter3 cryptominisat2 modular_decomposition bliss-graphs tdlib python2-pkgconfig meataxe libfes)
+makedepends=(cython2 boost ratpoints symmetrica python2-jinja coin-or-cbc libhomfly libbraiding sirocco
+  mcqd coxeter3 modular_decomposition bliss-graphs tdlib python2-pkgconfig meataxe libfes)
 source=("$pkgname-$pkgver.tar.gz::https://github.com/sagemath/sage/archive/$pkgver.tar.gz"
-        env.patch skip-check.patch cython-sys-path.patch package.patch latte-count.patch
-        jupyter-path.patch sagemath-python3-notebook.patch test-optional.patch ecm-7.patch increase-rtol.patch r-no-readline.patch
-        sagemath-planarity3.patch fes02.patch sagemath-singular-4.1.0.p2.patch sagemath-singular-4.1.0.p3.patch sagemath-pynac-0.7.6.patch
-        sagemath-ecl-no-sigfpe.patch)
-sha256sums=('e6e0729ab25446e7c922058db0eee4b0b294b32c196e34842e843ea9fae41423'
-            'dc0a92b81e9e2faab05cf8a5adb40ae7010be74446bc80d5aea15f59706f2cff'
-            'b02b3d2d5620ca20f96adb62b6fef05e4676c0a60983310a1450fdf3d923cb04'
-            'ff7e034d08ab084fdb193484f7fe3a659ebcd8ab33a2b7177237d65b26de7872'
+        env.patch package.patch latte-count.patch jupyter-path.patch sagemath-python3-notebook.patch test-optional.patch
+        r-no-readline.patch fes02.patch sagemath-ecl-no-sigfpe.patch)
+sha256sums=('91df3e303add71616e24b38c04789f66d57ada7b1017e5369e850c42d5e8753d'
+            'e0b5b8673300857fde823209a7e90faecf9e754ab812cc5e54297eddc0c79571'
             '4a2297e4d9d28f0b3a1f58e1b463e332affcb109eafde44837b1657e309c8212'
-            'b816c71d345fb1188c3faa01c4e75cfa04ba6506080231d5d2c303a2288e9b50'
+            'c6836783251d94c00f0229c1e671de86c58c6c6fb0f6959725317817abc64ca8'
             '775051aa9076ebf631c8a291af38b6ec4a13c904740dc9da831641d592d8bcd8'
             '27aa73d427d92aeb2c181a233aa3a574a4158cd7dee33832808f69edaec55ea2'
             '81d08c6a760f171f3381455b66a6c84789c9f0eefddbe6ca5794075514ad8c3a'
-            '65ad84c83d5f956fde8eab961f2caad56d64044324c4abc0e56bcd9f44061cb6'
-            'be925eefeac3f28e639794ddc20d64e6faafd7181804e29417a510224d19ccc7'
             'ef9f401fa84fe1772af9efee6816643534f2896da4c23b809937b19771bdfbbf'
-            'a1c562ebe4538d672404ca3ac2e954a3c955afeb7463f7b4fe6eaa6fa74fe5c7'
             'a39da083c038ada797ffc5bedc9ba47455a3f77057d42f86484ae877ef9172ea'
-            'e2980048e51a81a8f60761c0ea66c81b4e36d75198de2f4e5f0d5e4fd5ef5172'
-            '18ea03c046435693a9008329bb725a9cf2ed0d88a0d731bc71b5586bf84dfddf'
-            '42d6549d9a07bcea9fa79bb63961ebbfaaa4ca64e9c6a402ae90d559bb256c12'
             'c31809f887bf9acc45c5bd9dd30bb93e73601d3efbf3016594c3c1d241731c8a')
 
 prepare(){
@@ -65,25 +55,12 @@
   patch -p0 -i ../package.patch
 # set env variables
   patch -p0 -i ../env.patch
-# skip checking build status
-  patch -p0 -i ../skip-check.patch
 # don't list optional packages when running tests
   patch -p0 -i ../test-optional.patch
 # set jupyter path
   patch -p0 -i ../jupyter-path.patch
-# search system paths for cython includes
-  patch -p1 -i ../cython-sys-path.patch
-# fix regressions with ECM 7
-  patch -p1 -i ../ecm-7.patch
-# increase numerical tolerance, needed by scipy 0.18
-  patch -p1 -i ../increase-rtol.patch
 # fix freezes in R interface with readline 7 (Debian)
   patch -p1 -i ../r-no-readline.patch
-# fix build with planarity 3 (Debian)
-  patch -p2 -i ../sagemath-planarity3.patch
-# fix build with Singular 4.1.0-p3
-  patch -p1 -i ../sagemath-singular-4.1.0.p2.patch
-  patch -p1 -i ../sagemath-singular-4.1.0.p3.patch
 # use correct latte-count binary name
   patch -p1 -i ../latte-count.patch
 # make 'sage -notebook=jupyter' work with our python3 jupyter-notebook package
@@ -95,8 +72,6 @@
 # Upstream patches  
 # fix build against libfes 0.2 http://trac.sagemath.org/ticket/15209
   patch -p1 -i ../fes02.patch
-# port to pynac 0.7.6 https://trac.sagemath.org/ticket/22838
-  patch -p1 -i ../sagemath-pynac-0.7.6.patch
 # disable SIGFPE for ecl https://trac.sagemath.org/ticket/22191
   patch -p1 -i ../sagemath-ecl-no-sigfpe.patch
 
@@ -110,8 +85,11 @@
 
 
 build() {
-  cd sage-$pkgver/src
+  cd sage-$pkgver
+  autoreconf -vi
+  ./configure --prefix=/usr || true
 
+  cd src
   export SAGE_LOCAL="/usr"
   export SAGE_ROOT="$PWD"
   export SAGE_SRC="$PWD"
@@ -132,13 +110,13 @@
   export SAGE_LOCAL="/usr"
   export JUPYTER_PATH="$pkgdir"/usr/share/jupyter
 
-  python2 setup.py install --root="$pkgdir" --optimize=1 --skip-build
+  python2 setup.py install --root="$pkgdir" --optimize=1
 
   mkdir -p "$pkgdir"/usr/bin
   cp bin/sage "$pkgdir"/usr/bin
-  for _i in arch-env banner cachegrind callgrind cleaner coverage coverageall cython env eval grep grepdoc inline-fortran ipython \
-    massif maxima.lisp native-execute notebook num-threads.py omega open preparse python rst2ipynb rst2sws rst2txt run run-cython \
-    runtests startuptime.py sws2rst valgrind version.sh
+  for _i in arch-env banner cachegrind callgrind cleaner coverage coverageall cython env env-config eval grep grepdoc inline-fortran \
+    ipython massif maxima.lisp native-execute notebook num-threads.py omega open preparse python rst2ipynb rst2sws rst2txt run \
+    run-cython runtests startuptime.py sws2rst valgrind version.sh
   do
     cp bin/sage-$_i "$pkgdir"/usr/bin
   done

Deleted: cython-sys-path.patch
===================================================================
--- cython-sys-path.patch	2017-07-21 19:18:57 UTC (rev 245951)
+++ cython-sys-path.patch	2017-07-21 23:55:10 UTC (rev 245952)
@@ -1,10 +0,0 @@
---- sage-7.1/src/setup.py.orig	2016-04-08 16:59:24.691349473 +0000
-+++ sage-7.1/src/setup.py	2016-04-08 17:03:03.847153796 +0000
-@@ -414,6 +414,7 @@
-             build_dir=SAGE_CYTHONIZED,
-             force=force,
-             aliases=aliases,
-+            include_path=sys.path,
-             compiler_directives={
-                 'autotestdict': False,
-                 'cdivision': True,

Deleted: ecm-7.patch
===================================================================
--- ecm-7.patch	2017-07-21 19:18:57 UTC (rev 245951)
+++ ecm-7.patch	2017-07-21 23:55:10 UTC (rev 245952)
@@ -1,79 +0,0 @@
---- a/src/sage/interfaces/ecm.py.orig	2016-05-16 22:18:03.894827738 +0200
-+++ b/src/sage/interfaces/ecm.py	2016-05-16 22:19:14.674904932 +0200
-@@ -140,9 +140,6 @@
-         - ``ve`` -- integer `n`. Verbosely show short (`< n`
-           character) expressions on each loop
- 
--        - ``cofdec`` -- boolean. Force cofactor output in decimal
--          (even if expressions are used )
--
-         - ``B2scale`` -- integer. Multiplies the default B2 value
- 
-         - ``go`` -- integer. Preload with group order val, which can
-@@ -395,15 +392,15 @@
-             if m is not None:
-                 factor = m.group('factor')
-                 primality = m.group('primality')
--                assert primality in ['probable prime', 'composite']
--                result += [(ZZ(factor), primality == 'probable prime')]
-+                assert primality in ['prime', 'composite']
-+                result += [(ZZ(factor), primality == 'prime')]
-                 continue  # cofactor on the next line
-             m = self._found_cofactor_re.match(line)
-             if m is not None:
-                 cofactor = m.group('cofactor')
-                 primality = m.group('primality')
--                assert primality in ['Probable prime', 'Composite']
--                result += [(ZZ(cofactor), primality == 'Probable prime')]
-+                assert primality in ['Prime', 'Composite']
-+                result += [(ZZ(cofactor), primality == 'Prime')]
-                 # assert len(result) == 2
-                 return result
-         raise ValueError('failed to parse ECM output')
-@@ -501,7 +498,6 @@
-         if factor_digits is not None:
-             B1 = self.recommended_B1(factor_digits)
-         kwds['one'] = True
--        kwds['cofdec'] = True
-         cmd = self._make_cmd(B1, None, kwds)
-         out = self._run_ecm(cmd, n)
-         return self._parse_output(n, out)
-@@ -828,8 +828,8 @@
- Step 1 took 12ms
- Step 2 took 17ms
- ********** Factor found in step 2: 79792266297612017
--Found probable prime factor of 17 digits: 79792266297612017
--Probable prime cofactor 6366805760909027985741435139224233 has 34 digits
-+Found prime factor of 17 digits: 79792266297612017
-+Prime cofactor 6366805760909027985741435139224233 has 34 digits
- """
- 
- TEST_ECM_OUTPUT_2 = """
-@@ -839,8 +839,8 @@
- Step 1 took 2ms
- Step 2 took 3ms
- ********** Factor found in step 2: 179424673
--Found probable prime factor of  9 digits: 179424673
--Probable prime cofactor 179424673 has 9 digits
-+Found prime factor of  9 digits: 179424673
-+Prime cofactor 179424673 has 9 digits
- """
- 
- TEST_ECM_OUTPUT_3 = """
-@@ -858,7 +858,7 @@
- Step 1 took 5ms
- Step 2 took 4ms
- ********** Factor found in step 2: 197002597249
--Found probable prime factor of 12 digits: 197002597249
-+Found prime factor of 12 digits: 197002597249
- Composite cofactor 339872432034468861533158743041639097889948066859 has 48 digits
- """
- 
-@@ -870,5 +870,5 @@
- Step 2 took 2ms
- ********** Factor found in step 2: 265748496095531068869578877937
- Found composite factor of 30 digits: 265748496095531068869578877937
--Probable prime cofactor 251951573867253012259144010843 has 30 digits
-+Prime cofactor 251951573867253012259144010843 has 30 digits
- """
-

Modified: env.patch
===================================================================
--- env.patch	2017-07-21 19:18:57 UTC (rev 245951)
+++ env.patch	2017-07-21 23:55:10 UTC (rev 245952)
@@ -1,6 +1,6 @@
 --- src/bin/sage-env.orig	2015-01-06 10:46:04.469687605 +0100
 +++ src/bin/sage-env	2015-01-06 10:49:59.547762019 +0100
-@@ -110,41 +110,7 @@
+@@ -111,41 +111,7 @@
  }
  
  
@@ -43,15 +43,14 @@
  
  # Display the Sage startup banner, used in src/bin/sage
  sage_banner() {
-@@ -187,7 +187,7 @@
+@@ -151,6 +151,7 @@
+ export SAGE_ENV_SOURCED=$SAGE_ENV_VERSION
  
- # SAGE_LOCAL is the installation prefix and can be customized
- if [ -z "$SAGE_LOCAL" ]; then
--    export SAGE_LOCAL="$SAGE_ROOT/local"
-+    export SAGE_LOCAL="/usr"
- fi
+ export SAGE_ROOT="$NEW_SAGE_ROOT"
++export SAGE_LOCAL='/usr'
  
- # sage-env must know where the Sage's script files are
+ # sage-env must know where the Sage's script files are.
+ 
 @@ -233,8 +233,9 @@
  export SAGE_EXTCODE="$SAGE_SHARE/sage/ext"
  export SAGE_SPKG_INST="$SAGE_LOCAL/var/lib/sage/installed"

Deleted: increase-rtol.patch
===================================================================
--- increase-rtol.patch	2017-07-21 19:18:57 UTC (rev 245951)
+++ increase-rtol.patch	2017-07-21 23:55:10 UTC (rev 245952)
@@ -1,37 +0,0 @@
-diff -ru sage-7.3.orig/src/sage/coding/code_bounds.py sage-7.3/src/sage/coding/code_bounds.py
---- sage-7.3.orig/src/sage/coding/code_bounds.py        2016-08-05 20:26:10.033204091 +0200
-+++ sage-7.3/src/sage/coding/code_bounds.py     2016-08-05 20:32:27.276579565 +0200
-@@ -554,7 +554,7 @@
-     if q < 2:   # Here we check that q is actually at least 2
-         raise ValueError("The value q must be an integer greater than 1")
- 
--    eps  = 4.5e-16 # find_root has about this as the default xtol
-+    eps  = 4.5e-15 # find_root has about this as the default xtol
-     ymax = 1 - 1/q
-     if x <= eps:
-         return 0
-diff -ru sage-7.3.orig/src/sage/numerical/optimize.py sage-7.3/src/sage/numerical/optimize.py
---- sage-7.3.orig/src/sage/numerical/optimize.py        2016-08-05 20:26:10.816536625 +0200
-+++ sage-7.3/src/sage/numerical/optimize.py     2016-08-05 20:32:21.449907130 +0200
-@@ -15,7 +15,7 @@
- from sage.rings.real_double import RDF
- 
- 
--def find_root(f, a, b, xtol=10e-13, rtol=4.5e-16, maxiter=100, full_output=False):
-+def find_root(f, a, b, xtol=10e-13, rtol=4.5e-15, maxiter=100, full_output=False):
-     """
-     Numerically find a root of ``f`` on the closed interval `[a,b]`
-     (or `[b,a]`) if possible, where ``f`` is a function in the one variable.
-diff -ru sage-7.3.orig/src/sage/symbolic/expression.pyx sage-7.3/src/sage/symbolic/expression.pyx
---- sage-7.3.orig/src/sage/symbolic/expression.pyx      2016-08-05 20:26:11.333202767 +0200
-+++ sage-7.3/src/sage/symbolic/expression.pyx   2016-08-05 20:32:14.236566826 +0200
-@@ -10884,7 +10884,7 @@
-             ret = ret[0]
-         return ret
- 
--    def find_root(self, a, b, var=None, xtol=10e-13, rtol=4.5e-16, maxiter=100, full_output=False):
-+    def find_root(self, a, b, var=None, xtol=10e-13, rtol=4.5e-15, maxiter=100, full_output=False):
-         """
-         Numerically find a root of self on the closed interval [a,b] (or
-         [b,a]) if possible, where self is a function in the one variable.
-

Modified: latte-count.patch
===================================================================
--- latte-count.patch	2017-07-21 19:18:57 UTC (rev 245951)
+++ latte-count.patch	2017-07-21 23:55:10 UTC (rev 245952)
@@ -1,16 +1,3 @@
-diff --git a/src/sage/geometry/polyhedron/base.py b/src/sage/geometry/polyhedron/base.py
-index 50d99f99e4..3a3a8cb214 100644
---- a/src/sage/geometry/polyhedron/base.py
-+++ b/src/sage/geometry/polyhedron/base.py
-@@ -4629,7 +4629,7 @@ class Polyhedron_base(Element):
-             ...
-             RuntimeError: LattE integrale program failed (exit code 1):
-             ...
--            Invocation: count '--redundancy-check=none' --cdd /dev/stdin
-+            Invocation: latte-count '--redundancy-check=none' --cdd /dev/stdin
-             ...
-             Parse error in CDD-style input file /dev/stdin
-             sage: Q.integral_points_count(verbose=True) # optional - latte_int
 diff --git a/src/sage/geometry/polyhedron/base_ZZ.py b/src/sage/geometry/polyhedron/base_ZZ.py
 index 268af9db0d..70d41dfa30 100644
 --- a/src/sage/geometry/polyhedron/base_ZZ.py

Deleted: sagemath-planarity3.patch
===================================================================
--- sagemath-planarity3.patch	2017-07-21 19:18:57 UTC (rev 245951)
+++ sagemath-planarity3.patch	2017-07-21 23:55:10 UTC (rev 245952)
@@ -1,113 +0,0 @@
-Author: Ximin Luo <infinity0 at debian.org>
-Bug: https://trac.sagemath.org/ticket/21774
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/sage/src/sage/graphs/planarity.pyx
-+++ b/sage/src/sage/graphs/planarity.pyx
-@@ -3,13 +3,19 @@
- """
- 
- cdef extern from "planarity/graph.h":
--    ctypedef struct graphNode:
--        int v
-+    ctypedef struct vertexRec:
-         int link[2]
--    ctypedef graphNode * graphNodeP
-+        int index
-+    ctypedef vertexRec * vertexRecP
-+
-+    ctypedef struct edgeRec:
-+        int link[2]
-+        int neighbor
-+    ctypedef edgeRec * edgeRecP
- 
-     ctypedef struct BM_graph:
--        graphNodeP G
-+        vertexRecP V
-+        edgeRecP E
-         int N
-     ctypedef BM_graph * graphP
- 
-@@ -93,15 +99,16 @@
-             g._pos = { u: [0,0], v: [0,1] }
-         return (True, None) if kuratowski else True
- 
--    # create to and from mappings to relabel vertices to the set {0,...,n-1}
-+    # create to and from mappings to relabel vertices to the set {1,...,n}
-+    # (planarity 3 uses 1-based array indexing, with 0 representing NIL)
-     cdef int i
-     listto = g.vertices()
-     ffrom = {}
-     for vvv in listto:
--        ffrom[vvv] = listto.index(vvv)
-+        ffrom[vvv] = listto.index(vvv) + 1
-     to = {}
-     for i from 0 <= i < len(listto):
--        to[i] = listto[i]
-+        to[i + 1] = listto[i]
-     g.relabel(ffrom)
- 
-     cdef graphP theGraph
-@@ -125,7 +132,7 @@
-     status = gp_Embed(theGraph, EMBEDFLAGS_PLANAR)
-     gp_SortVertices(theGraph)
- 
--    # use to and from mappings to relabel vertices back from the set {0,...,n-1}
-+    # use to and from mappings to relabel vertices back from the set {1,...,n}
-     g.relabel(to)
- 
-     if status == NOTOK:
-@@ -134,12 +141,12 @@
-         # Kuratowski subgraph isolator
-         g_dict = {}
-         from sage.graphs.graph import Graph
--        for i from 0 <= i < theGraph.N:
-+        for i from 0 < i <= theGraph.N:
-             linked_list = []
--            j = theGraph.G[i].link[1]
--            while j >= theGraph.N:
--                linked_list.append(to[theGraph.G[j].v])
--                j = theGraph.G[j].link[1]
-+            j = theGraph.V[i].link[1]
-+            while j:
-+                linked_list.append(to[theGraph.E[j].neighbor])
-+                j = theGraph.E[j].link[1]
-             if len(linked_list) > 0:
-                 g_dict[to[i]] = linked_list
-         G = Graph(g_dict)
-@@ -153,12 +160,12 @@
-             if set_embedding:
-                 emb_dict = {}
-                 #for i in range(theGraph.N):
--                for i from 0 <= i < theGraph.N:
-+                for i from 0 < i <= theGraph.N:
-                     linked_list = []
--                    j = theGraph.G[i].link[1]
--                    while j >= theGraph.N:
--                        linked_list.append(to[theGraph.G[j].v])
--                        j = theGraph.G[j].link[1]
-+                    j = theGraph.V[i].link[1]
-+                    while j:
-+                        linked_list.append(to[theGraph.E[j].neighbor])
-+                        j = theGraph.E[j].link[1]
-                     emb_dict[to[i]] = linked_list
-                 g._embedding = emb_dict
-             if set_pos:
-@@ -174,12 +181,12 @@
- 
-                 emb_dict = {}
-                 #for i in range(theGraph.N):
--                for i from 0 <= i < theGraph.N:
-+                for i from 0 < i <= theGraph.N:
-                     linked_list = []
--                    j = theGraph.G[i].link[0]
--                    while j >= theGraph.N:
--                        linked_list.append(to[theGraph.G[j].v])
--                        j = theGraph.G[j].link[0]
-+                    j = theGraph.V[i].link[0]
-+                    while j:
-+                        linked_list.append(to[theGraph.E[j].neighbor])
-+                        j = theGraph.E[j].link[0]
-                     emb_dict[to[i]] = linked_list
-                 g._embedding = emb_dict
-         gp_Free(&theGraph)

Deleted: sagemath-pynac-0.7.6.patch
===================================================================
--- sagemath-pynac-0.7.6.patch	2017-07-21 19:18:57 UTC (rev 245951)
+++ sagemath-pynac-0.7.6.patch	2017-07-21 23:55:10 UTC (rev 245952)
@@ -1,44 +0,0 @@
-diff --git a/src/sage/libs/pynac/pynac.pxd b/src/sage/libs/pynac/pynac.pxd
-index 15e8ac2..568dbd6 100644
---- a/src/sage/libs/pynac/pynac.pxd
-+++ b/src/sage/libs/pynac/pynac.pxd
-@@ -319,7 +319,7 @@ cdef extern from "sage/libs/pynac/wrap.h":
- 
- 
-     GEx g_abs "GiNaC::abs" (GEx x)                      except + # absolute value
--    GEx g_step "GiNaC::step" (GEx x)                    except + # step function
-+    GEx g_step "GiNaC::unit_step" (GEx x)               except + # step function
-     GEx g_csgn "GiNaC::csgn" (GEx x)                    except + # complex sign
-     GEx g_conjugate "GiNaC::conjugate_function" (GEx x) except + # complex conjugation
-     GEx g_real_part "GiNaC::real_part_function" (GEx x) except + # real part
-diff --git a/src/sage/symbolic/expression.pyx b/src/sage/symbolic/expression.pyx
-index 01319b5..735d6fa 100644
---- a/src/sage/symbolic/expression.pyx
-+++ b/src/sage/symbolic/expression.pyx
-@@ -7018,7 +7018,7 @@ cdef class Expression(CommutativeRingElement):
-     def step(self, hold=False):
-         """
-         Return the value of the Heaviside step function, which is 0 for
--        negative x, 1/2 for 0, and 1 for positive x.
-+        negative x, 1 for 0, and 1 for positive x.
- 
-         EXAMPLES::
- 
-@@ -7026,7 +7026,7 @@ cdef class Expression(CommutativeRingElement):
-             sage: SR(1.5).step()
-             1
-             sage: SR(0).step()
--            1/2
-+            1
-             sage: SR(-1/2).step()
-             0
-             sage: SR(float(-1)).step()
-@@ -7038,7 +7038,7 @@ cdef class Expression(CommutativeRingElement):
-             sage: SR(2).step()
-             1
-             sage: SR(2).step(hold=True)
--            step(2)
-+            unit_step(2)
- 
-         """
-         return new_Expression_from_GEx(self._parent,

Deleted: sagemath-singular-4.1.0.p2.patch
===================================================================
--- sagemath-singular-4.1.0.p2.patch	2017-07-21 19:18:57 UTC (rev 245951)
+++ sagemath-singular-4.1.0.p2.patch	2017-07-21 23:55:10 UTC (rev 245952)
@@ -1,777 +0,0 @@
-diff --git a/src/doc/de/tutorial/interfaces.rst b/src/doc/de/tutorial/interfaces.rst
-index edc59c5..83a8a8b 100644
---- a/src/doc/de/tutorial/interfaces.rst
-+++ b/src/doc/de/tutorial/interfaces.rst
-@@ -198,7 +198,7 @@ Sages Singular-Schnittstelle (ohne die ``....:``):
-     sage: R1 = singular.ring(0, '(x,y)', 'dp')
-     sage: R1
-     polynomial ring, over a field, global ordering
--    //   characteristic : 0
-+    //   coefficients: QQ
-     //   number of vars : 2
-     //        block   1 : ordering dp
-     //                  : names    x y
-diff --git a/src/doc/en/constructions/algebraic_geometry.rst b/src/doc/en/constructions/algebraic_geometry.rst
-index f7e663d..a312548 100644
---- a/src/doc/en/constructions/algebraic_geometry.rst
-+++ b/src/doc/en/constructions/algebraic_geometry.rst
-@@ -164,7 +164,7 @@ Other methods
-        sage: klein1 = f.Adj_div(); print(klein1)
-        [1]:
-           [1]:
--             //   characteristic : 2
-+             //   coefficients: ZZ/2
-        //   number of vars : 2
-        //        block   1 : ordering lp
-        //                  : names    x y
-@@ -187,13 +187,13 @@ Other methods
-        sage: print(klein1)
-        [1]:
-           [1]:
--             //   characteristic : 2
-+             //   coefficients: ZZ/2
-        //   number of vars : 2
-        //        block   1 : ordering lp
-        //                  : names    x y
-        //        block   2 : ordering C
-           [2]:
--             //   characteristic : 2
-+             //   coefficients: ZZ/2
-        //   number of vars : 3
-        //        block   1 : ordering lp
-        //                  : names    x y z
-@@ -210,7 +210,7 @@ Other methods
-        [5]:
-           [1]:
-              [1]:
--                //   characteristic : 2
-+                //   coefficients: ZZ/2
-        //   number of vars : 3
-        //        block   1 : ordering ls
-        //                  : names    x y t
-@@ -325,7 +325,7 @@ Singular itself to help an understanding of how the wrapper works.
-        sage: X = Curve(f); pts = X.rational_points()
-        sage: D = X.divisor([ (3, pts[0]), (-1,pts[1]), (10, pts[5]) ])
-        sage: X.riemann_roch_basis(D)
--       [(-2*x + y)/(x + y), (-x + z)/(x + y)]
-+       [(-x - 2*y)/(-2*x - 2*y), (-x + z)/(x + y)]
- 
- -  Using Singular's ``BrillNoether`` command (for details see the section
-    Brill-Noether in the Singular online documentation
-diff --git a/src/doc/en/constructions/rings.rst b/src/doc/en/constructions/rings.rst
-index 58abf8a..076184e 100644
---- a/src/doc/en/constructions/rings.rst
-+++ b/src/doc/en/constructions/rings.rst
-@@ -57,7 +57,7 @@ Here's an example using the Singular interface:
-     sage: I = singular.ideal(['a+b+c+d', 'ab+ad+bc+cd', 'abc+abd+acd+bcd', 'abcd-1'])
-     sage: R
-     polynomial ring, over a field, global ordering
--    //   characteristic : 97
-+    //   coefficients: ZZ/97
-     //   number of vars : 4
-     //        block   1 : ordering lp
-     //                  : names    a b c d
-diff --git a/src/doc/en/developer/coding_in_other.rst b/src/doc/en/developer/coding_in_other.rst
-index 640c8ac..b1728ea 100644
---- a/src/doc/en/developer/coding_in_other.rst
-+++ b/src/doc/en/developer/coding_in_other.rst
-@@ -402,7 +402,7 @@ interface to Singular::
-     sage: singular.LIB("brnoeth.lib")
-     sage: singular.ring(5,'(x,y)','lp')
-         polynomial ring, over a field, global ordering
--        //   characteristic : 5
-+        //   coefficients: ZZ/5
-         //   number of vars : 2
-         //        block   1 : ordering lp
-         //                  : names    x y
-diff --git a/src/doc/en/tutorial/interfaces.rst b/src/doc/en/tutorial/interfaces.rst
-index 5a27631..ca7ae7a 100644
---- a/src/doc/en/tutorial/interfaces.rst
-+++ b/src/doc/en/tutorial/interfaces.rst
-@@ -197,7 +197,7 @@ Singular (do not type the ``....:``):
-     sage: R1 = singular.ring(0, '(x,y)', 'dp')
-     sage: R1
-     polynomial ring, over a field, global ordering
--    //   characteristic : 0
-+    //   coefficients: QQ
-     //   number of vars : 2
-     //        block   1 : ordering dp
-     //                  : names    x y
-diff --git a/src/doc/fr/tutorial/interfaces.rst b/src/doc/fr/tutorial/interfaces.rst
-index 75f36a4..8109a67 100644
---- a/src/doc/fr/tutorial/interfaces.rst
-+++ b/src/doc/fr/tutorial/interfaces.rst
-@@ -199,7 +199,7 @@ fournie par Sage (n'entrez pas les ``....:``) :
-     sage: R1 = singular.ring(0, '(x,y)', 'dp')
-     sage: R1
-     polynomial ring, over a field, global ordering
--    //   characteristic : 0
-+    //   coefficients: QQ
-     //   number of vars : 2
-     //        block   1 : ordering dp
-     //                  : names    x y
-diff --git a/src/doc/ja/tutorial/interfaces.rst b/src/doc/ja/tutorial/interfaces.rst
-index 560032a..6438103 100644
---- a/src/doc/ja/tutorial/interfaces.rst
-+++ b/src/doc/ja/tutorial/interfaces.rst
-@@ -173,7 +173,7 @@ Singularは,グレブナー基底,多変数多項式のgcd,平面曲線の
-     sage: R1 = singular.ring(0, '(x,y)', 'dp')
-     sage: R1
-     polynomial ring, over a field, global ordering
--    //   characteristic : 0
-+    //   coefficients: QQ
-     //   number of vars : 2
-     //        block   1 : ordering dp
-     //                  : names    x y
-diff --git a/src/doc/pt/tutorial/interfaces.rst b/src/doc/pt/tutorial/interfaces.rst
-index 5f611f8..4539bf6 100644
---- a/src/doc/pt/tutorial/interfaces.rst
-+++ b/src/doc/pt/tutorial/interfaces.rst
-@@ -197,7 +197,7 @@ digite ``...``):
-     sage: R1 = singular.ring(0, '(x,y)', 'dp')
-     sage: R1
-     polynomial ring, over a field, global ordering
--    //   characteristic : 0
-+    //   coefficients: QQ
-     //   number of vars : 2
-     //        block   1 : ordering dp
-     //                  : names    x y 
-diff --git a/src/doc/ru/tutorial/interfaces.rst b/src/doc/ru/tutorial/interfaces.rst
-index 234731a..bc2983c 100644
---- a/src/doc/ru/tutorial/interfaces.rst
-+++ b/src/doc/ru/tutorial/interfaces.rst
-@@ -191,7 +191,7 @@ Singular предоставляет массивную и продуманную
-     sage: R1 = singular.ring(0, '(x,y)', 'dp')
-     sage: R1
-     polynomial ring, over a field, global ordering
--    //   characteristic : 0
-+    //   coefficients: QQ
-     //   number of vars : 2
-     //        block   1 : ordering dp
-     //                  : names    x y
-diff --git a/src/sage/categories/pushout.py b/src/sage/categories/pushout.py
-index cd8b9db..cccc344 100644
---- a/src/sage/categories/pushout.py
-+++ b/src/sage/categories/pushout.py
-@@ -3202,7 +3202,7 @@ class BlackBoxConstructionFunctor(ConstructionFunctor):
-         Gap
-         sage: FS(QQ['t'])
-         polynomial ring, over a field, global ordering
--        //   characteristic : 0
-+        //   coefficients: QQ
-         //   number of vars : 1
-         //        block   1 : ordering lp
-         //                  : names    t
-diff --git a/src/sage/interfaces/expect.py b/src/sage/interfaces/expect.py
-index 6a44b29..9a9ed5e 100644
---- a/src/sage/interfaces/expect.py
-+++ b/src/sage/interfaces/expect.py
-@@ -1216,7 +1216,7 @@ If this all works, you can then make calls like:
-             sage: R.<x> = QQ[]; f = x^3 + x + 1;  g = x^3 - x - 1; r = f.resultant(g); gap(ZZ); singular(R)
-             Integers
-             polynomial ring, over a field, global ordering
--            //   characteristic : 0
-+            //   coefficients: QQ
-             //   number of vars : 1
-             //        block   1 : ordering lp
-             //                  : names    x
-diff --git a/src/sage/interfaces/interface.py b/src/sage/interfaces/interface.py
-index e4cfe51..2865c70 100644
---- a/src/sage/interfaces/interface.py
-+++ b/src/sage/interfaces/interface.py
-@@ -735,7 +735,7 @@ class InterfaceElement(Element):
-             sage: S = singular.ring(0, ('x'))
-             sage: loads(dumps(S))
-             polynomial ring, over a field, global ordering
--            //   characteristic : 0
-+            //   coefficients: QQ
-             //   number of vars : 1
-             //        block   1 : ordering lp
-             //                  : names    x
-diff --git a/src/sage/interfaces/singular.py b/src/sage/interfaces/singular.py
-index 2af7bc1..43745a2 100644
---- a/src/sage/interfaces/singular.py
-+++ b/src/sage/interfaces/singular.py
-@@ -65,7 +65,7 @@ factorization::
-     sage: R1 = singular.ring(0, '(x,y)', 'dp')
-     sage: R1
-     polynomial ring, over a field, global ordering
--    //   characteristic : 0
-+    //   coefficients: QQ
-     //   number of vars : 2
-     //        block   1 : ordering dp
-     //                  : names    x y
-@@ -243,7 +243,7 @@ Groebner basis for some ideal, using Singular through Sage.
-     sage: singular.lib('poly.lib')
-     sage: singular.ring(32003, '(a,b,c,d,e,f)', 'lp')
-             polynomial ring, over a field, global ordering
--            //   characteristic : 32003
-+            //   coefficients: ZZ/32003
-             //   number of vars : 6
-             //        block   1 : ordering lp
-             //                        : names    a b c d e f
-@@ -1000,7 +1000,7 @@ class Singular(ExtraTabCompletion, Expect):
-             sage: R = singular.ring(0, '(x,y,z)', 'dp')
-             sage: R
-             polynomial ring, over a field, global ordering
--            //   characteristic : 0
-+            //   coefficients: QQ
-             //   number of vars : 3
-             //        block   1 : ordering dp
-             //                  : names    x y z
-@@ -1080,7 +1080,7 @@ class Singular(ExtraTabCompletion, Expect):
-             sage: S = singular.ring('real', '(a,b)', 'lp')
-             sage: singular.current_ring()
-             polynomial ring, over a field, global ordering
--            //   characteristic : 0 (real)
-+            //   coefficients: float
-             //   number of vars : 2
-             //        block   1 : ordering lp
-             //                  : names    a b
-@@ -1088,7 +1088,7 @@ class Singular(ExtraTabCompletion, Expect):
-             sage: singular.set_ring(R)
-             sage: singular.current_ring()
-             polynomial ring, over a field, local ordering
--            //   characteristic : 7
-+            //   coefficients: ZZ/7
-             //   number of vars : 2
-             //        block   1 : ordering ds
-             //                  : names    a b
-@@ -1130,14 +1130,14 @@ class Singular(ExtraTabCompletion, Expect):
-             sage: r = PolynomialRing(GF(127),3,'xyz', order='invlex')
-             sage: r._singular_()
-             polynomial ring, over a field, global ordering
--            //   characteristic : 127
-+            //   coefficients: ZZ/127
-             //   number of vars : 3
-             //        block   1 : ordering rp
-             //                  : names    x y z
-             //        block   2 : ordering C
-             sage: singular.current_ring()
-             polynomial ring, over a field, global ordering
--            //   characteristic : 127
-+            //   coefficients: ZZ/127
-             //   number of vars : 3
-             //        block   1 : ordering rp
-             //                  : names    x y z
-@@ -1360,7 +1360,7 @@ class SingularElement(ExtraTabCompletion, ExpectElement):
-             sage: cpQ.set_ring()
-             sage: cpQ
-             polynomial ring, over a field, global ordering
--            //   characteristic : 0
-+            //   coefficients: QQ
-             //   number of vars : 2
-             //        block   1 : ordering dp
-             //                  : names    x y
-@@ -1911,7 +1911,7 @@ class SingularElement(ExtraTabCompletion, ExpectElement):
- 
-             sage: singular('basering')
-             polynomial ring, over a domain, global ordering
--            //   coeff. ring is : ZZ
-+            //   coefficients: ZZ
-             //   number of vars : 3
-             //        block   1 : ordering lp
-             //                  : names    x y z
-@@ -1996,7 +1996,7 @@ class SingularElement(ExtraTabCompletion, ExpectElement):
-             sage: S = singular.ring('real', '(a,b)', 'lp')
-             sage: singular.current_ring()
-             polynomial ring, over a field, global ordering
--            //   characteristic : 0 (real)
-+            //   coefficients: float
-             //   number of vars : 2
-             //        block   1 : ordering lp
-             //                  : names    a b
-@@ -2004,7 +2004,7 @@ class SingularElement(ExtraTabCompletion, ExpectElement):
-             sage: R.set_ring()
-             sage: singular.current_ring()
-             polynomial ring, over a field, local ordering
--            //   characteristic : 7
-+            //   coefficients: ZZ/7
-             //   number of vars : 2
-             //        block   1 : ordering ds
-             //                  : names    a b
-@@ -2260,7 +2260,7 @@ def reduce_load():
- 
-         sage: loads(dumps(singular.ring()))
-         polynomial ring, over a field, global ordering
--        //   characteristic : 0
-+        //   coefficients: QQ
-         //   number of vars : 1
-         //        block   1 : ordering lp
-         //                  : names    x
-diff --git a/src/sage/libs/singular/decl.pxd b/src/sage/libs/singular/decl.pxd
-index 4afc0cc..2dec5d8 100644
---- a/src/sage/libs/singular/decl.pxd
-+++ b/src/sage/libs/singular/decl.pxd
-@@ -484,8 +484,8 @@ cdef extern from "singular/Singular/libsingular.h":
- 
-     ring *rDefault(int char , int nvars, char **names)
-     ring *rDefault(const n_Procs_s* cf, int nvars, char **names)
--    ring *rDefault(int ch             , int nvars, char **names,int ord_size, int *ord, int *block0, int *block1, int **wvhdl)
--    ring *rDefault(const n_Procs_s* cf, int nvars, char **names,int ord_size, int *ord, int *block0, int *block1, int **wvhdl)
-+    ring *rDefault(int ch             , int nvars, char **names,int ord_size, rRingOrder_t *ord, int *block0, int *block1, int **wvhdl)
-+    ring *rDefault(const n_Procs_s* cf, int nvars, char **names,int ord_size, rRingOrder_t *ord, int *block0, int *block1, int **wvhdl)
- 
- 
- 
-diff --git a/src/sage/libs/singular/function.pyx b/src/sage/libs/singular/function.pyx
-index 2813a6f..0f3b76f 100644
---- a/src/sage/libs/singular/function.pyx
-+++ b/src/sage/libs/singular/function.pyx
-@@ -282,7 +282,7 @@ cdef class RingWrap:
-             sage: l = ringlist(P)
-             sage: ring = singular_function("ring")
-             sage: ring(l, ring=P)._output()
--            //   characteristic : 0
-+            //   coefficients: QQ
-             //   number of vars : 3
-             //        block   1 : ordering dp
-             //                  : names    x y z
-diff --git a/src/sage/libs/singular/ring.pyx b/src/sage/libs/singular/ring.pyx
-index 4a6e167..f221132 100644
---- a/src/sage/libs/singular/ring.pyx
-+++ b/src/sage/libs/singular/ring.pyx
-@@ -21,7 +21,7 @@ from sage.libs.gmp.mpz cimport mpz_init_set_ui, mpz_init_set
- from sage.libs.singular.decl cimport number, poly, ring, currRing
- from sage.libs.singular.decl cimport rChangeCurrRing, rCopy0, rComplete, rDelete, idInit
- from sage.libs.singular.decl cimport omAlloc0, omStrDup, omAlloc, omAlloc0Bin,  sip_sring_bin, rnumber_bin
--from sage.libs.singular.decl cimport ringorder_dp, ringorder_Dp, ringorder_lp, ringorder_rp, ringorder_ds, ringorder_Ds, ringorder_ls, ringorder_M, ringorder_C, ringorder_wp, ringorder_Wp, ringorder_ws, ringorder_Ws, ringorder_a
-+from sage.libs.singular.decl cimport ringorder_dp, ringorder_Dp, ringorder_lp, ringorder_rp, ringorder_ds, ringorder_Ds, ringorder_ls, ringorder_M, ringorder_C, ringorder_wp, ringorder_Wp, ringorder_ws, ringorder_Ws, ringorder_a, rRingOrder_t
- from sage.libs.singular.decl cimport p_Copy, prCopyR
- from sage.libs.singular.decl cimport n_unknown,  n_Zp,  n_Q,   n_R,   n_GF,  n_long_R,  n_algExt,n_transExt,n_long_C,   n_Z,   n_Zn,  n_Znm,  n_Z2m,  n_CF
- from sage.libs.singular.decl cimport n_coeffType, cfInitCharProc
-@@ -165,7 +165,7 @@ cdef ring *singular_ring_new(base_ring, n, names, term_order) except NULL:
-     ##         q    q : GF(q=p^n)       *names         TRUE              (todo)
- 
-     _wvhdl  = <int **>omAlloc0((nblcks + 2) * sizeof(int *))
--    _order  = <int *>omAlloc0((nblcks + 2) * sizeof(int))
-+    _order  = <rRingOrder_t *>omAlloc0((nblcks + 2) * sizeof(int))
-     _block0 = <int *>omAlloc0((nblcks + 2) * sizeof(int))
-     _block1 = <int *>omAlloc0((nblcks + 2) * sizeof(int))
- 
-diff --git a/src/sage/rings/polynomial/multi_polynomial_element.py b/src/sage/rings/polynomial/multi_polynomial_element.py
-index eeafd87..c79ff28 100644
---- a/src/sage/rings/polynomial/multi_polynomial_element.py
-+++ b/src/sage/rings/polynomial/multi_polynomial_element.py
-@@ -1994,7 +1994,7 @@ def degree_lowest_rational_function(r,x):
-     ::
- 
-         sage: r = f/g; r
--        (-2*b*c^2 - 1)/(2*a*b^3*c^6 + a*c)
-+        (-b*c^2 + 2)/(a*b^3*c^6 - 2*a*c)
-         sage: degree_lowest_rational_function(r,a)
-         (-1, 3)
-         sage: degree_lowest_rational_function(r,b)
-diff --git a/src/sage/rings/polynomial/multi_polynomial_ideal.py b/src/sage/rings/polynomial/multi_polynomial_ideal.py
-index 06ffc67..21f60c0 100644
---- a/src/sage/rings/polynomial/multi_polynomial_ideal.py
-+++ b/src/sage/rings/polynomial/multi_polynomial_ideal.py
-@@ -190,7 +190,7 @@ when the system has no solutions over the rationals.
-     The Groebner basis modulo any product of the prime factors is also non-trivial::
- 
-         sage: I.change_ring(P.change_ring( IntegerModRing(2*7) )).groebner_basis()
--        [x + 3*y + 11*z, y^2 + 3*y, y*z + 11*y + 4, 2*y + 6, z^2 + 3, 2*z + 10]
-+        [x + 9*y + 13*z, y^2 + 3*y, y*z + 7*y + 6, 2*y + 6, z^2 + 3, 2*z + 10]
- 
-     Modulo any other prime the Groebner basis is trivial so there are
-     no other solutions. For example::
-@@ -3646,11 +3646,13 @@ class MPolynomialIdeal( MPolynomialIdeal_singular_repr, \
-             sage: P.<a,b,c> = PolynomialRing(Zmod(1000),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()
--            [b*c^2 + 992*b*c + 712*c^2 + 332*b + 96*c,
--             2*c^3 + 214*b*c + 862*c^2 + 762*b + 268*c,
-+            [b*c^2 + 732*b*c + 808*b,
-+             2*c^3 + 884*b*c + 666*c^2 + 320*b,
-              b^2 + 438*b*c + 281*b,
-              5*b*c + 156*c^2 + 112*b + 948*c,
--             50*c^2 + 600*b + 650*c, a + 2*b + 2*c + 999, 125*b]
-+             50*c^2 + 600*b + 650*c,
-+             a + 2*b + 2*c + 999,
-+             125*b]
- 
-         ::
- 
-diff --git a/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx b/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
-index 947eeb2..220e4d3 100644
---- a/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
-+++ b/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
-@@ -594,7 +594,7 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_generic):
- 
-             sage: P._singular_()
-             polynomial ring, over a field, global ordering
--            //   characteristic : 0
-+            //   coefficients: QQ
-             //   number of vars : 3
-             //        block   1 : ordering dp
-             //                  : names    x y z
-@@ -1182,7 +1182,7 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_generic):
-             sage: P.<x,y,z> = QQ[]
-             sage: P._singular_()
-             polynomial ring, over a field, global ordering
--            //   characteristic : 0
-+            //   coefficients: QQ
-             //   number of vars : 3
-             //        block   1 : ordering dp
-             //                  : names    x y z
-@@ -1198,9 +1198,7 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_generic):
-             sage: P.<x,y,z> = PolynomialRing(k,3)
-             sage: P._singular_()
-             polynomial ring, over a field, global ordering
--            //   characteristic : 3
--            //   1 parameter    : a
--            //   minpoly        : (a^3-a+1)
-+            //   coefficients: ZZ/3[a]/(a^3-a+1)
-             //   number of vars : 3
-             //        block   1 : ordering dp
-             //                  : names    x y z
-@@ -1216,7 +1214,7 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_generic):
-             sage: P.<x> = QQ[]
-             sage: P._singular_()
-             polynomial ring, over a field, global ordering
--            //   characteristic : 0
-+            //   coefficients: QQ
-             //   number of vars : 1
-             //        block   1 : ordering lp
-             //                  : names    x
-@@ -1256,7 +1254,7 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_generic):
-             sage: P.<x,y,z> = QQ[]
-             sage: P._singular_init_()
-             polynomial ring, over a field, global ordering
--            //   characteristic : 0
-+            //   coefficients: QQ
-             //   number of vars : 3
-             //        block   1 : ordering dp
-             //                  : names    x y z
-@@ -1271,9 +1269,7 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_generic):
-             sage: R.<x,y> = PolynomialRing(NumberField(w^2+1,'s'))
-             sage: singular(R)
-             polynomial ring, over a field, global ordering
--            //   characteristic : 0
--            //   1 parameter    : s
--            //   minpoly        : (s^2+1)
-+            //   coefficients: QQ[s]/(s^2+1)
-             //   number of vars : 2
-             //        block   1 : ordering dp
-             //                  : names    x y
-@@ -1282,9 +1278,7 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_generic):
-             sage: R = PolynomialRing(GF(2**8,'a'),10,'x', order='invlex')
-             sage: singular(R)
-             polynomial ring, over a field, global ordering
--            //   characteristic : 2
--            //   1 parameter    : a
--            //   minpoly        : (a^8+a^4+a^3+a^2+1)
-+            //   coefficients: ZZ/2[a]/(a^8+a^4+a^3+a^2+1)
-             //   number of vars : 10
-             //        block   1 : ordering rp
-             //                  : names    x0 x1 x2 x3 x4 x5 x6 x7 x8 x9
-@@ -1293,7 +1287,7 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_generic):
-             sage: R = PolynomialRing(GF(127),2,'x', order='invlex')
-             sage: singular(R)
-             polynomial ring, over a field, global ordering
--            //   characteristic : 127
-+            //   coefficients: ZZ/127
-             //   number of vars : 2
-             //        block   1 : ordering rp
-             //                  : names    x0 x1
-@@ -1302,7 +1296,7 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_generic):
-             sage: R = PolynomialRing(QQ,2,'x', order='invlex')
-             sage: singular(R)
-             polynomial ring, over a field, global ordering
--            //   characteristic : 0
-+            //   coefficients: QQ
-             //   number of vars : 2
-             //        block   1 : ordering rp
-             //                  : names    x0 x1
-@@ -1311,7 +1305,7 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_generic):
-             sage: R = PolynomialRing(QQ,2,'x', order='degneglex')
-             sage: singular(R)
-             polynomial ring, over a field, global ordering
--            //   characteristic : 0
-+            //   coefficients: QQ
-             //   number of vars : 2
-             //        block   1 : ordering a
-             //                  : names    x0 x1
-@@ -1323,7 +1317,7 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_generic):
-             sage: R = PolynomialRing(QQ,'x')
-             sage: singular(R)
-             polynomial ring, over a field, global ordering
--            //   characteristic : 0
-+            //   coefficients: QQ
-             //   number of vars : 1
-             //        block   1 : ordering lp
-             //                  : names    x
-@@ -1332,7 +1326,7 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_generic):
-             sage: R = PolynomialRing(GF(127),'x')
-             sage: singular(R)
-             polynomial ring, over a field, global ordering
--            //   characteristic : 127
-+            //   coefficients: ZZ/127
-             //   number of vars : 1
-             //        block   1 : ordering lp
-             //                  : names    x
-@@ -1341,7 +1335,7 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_generic):
-             sage: R = ZZ['x,y']
-             sage: singular(R)
-             polynomial ring, over a domain, global ordering
--            //   coeff. ring is : ZZ
-+            //   coefficients: ZZ
-             //   number of vars : 2
-             //        block   1 : ordering dp
-             //                  : names    x y
-@@ -1350,7 +1344,7 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_generic):
-             sage: R = IntegerModRing(1024)['x,y']
-             sage: singular(R)
-             polynomial ring, over a ring (with zero-divisors), global ordering
--            //   coeff. ring is : Z/2^10
-+            //   coefficients: Z/2^10
-             //   number of vars : 2
-             //        block   1 : ordering dp
-             //                  : names    x y
-@@ -1359,7 +1353,7 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_generic):
-             sage: R = IntegerModRing(15)['x,y']
-             sage: singular(R)
-             polynomial ring, over a ring (with zero-divisors), global ordering
--            //   coeff. ring is : ZZ/15
-+            //   coefficients: ZZ/bigint(15)
-             //   number of vars : 2
-             //        block   1 : ordering dp
-             //                  : names    x y
-@@ -1370,7 +1364,7 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_generic):
-             sage: P.<x> = QQ[]
-             sage: P._singular_init_()
-             polynomial ring, over a field, global ordering
--            //   characteristic : 0
-+            //   coefficients: QQ
-             //   number of vars : 1
-             //        block   1 : ordering lp
-             //                  : names    x
-diff --git a/src/sage/rings/polynomial/pbori.pyx b/src/sage/rings/polynomial/pbori.pyx
-index 23c346e..812f3b9 100644
---- a/src/sage/rings/polynomial/pbori.pyx
-+++ b/src/sage/rings/polynomial/pbori.pyx
-@@ -1410,7 +1410,7 @@ cdef class BooleanPolynomialRing(MPolynomialRing_generic):
-             sage: B.<x,y> = BooleanPolynomialRing(2)
-             sage: B._singular_() # indirect doctest
-             polynomial ring, over a field, global ordering
--            //   characteristic : 2
-+            //   coefficients: ZZ/2
-             //   number of vars : 2
-             //        block   1 : ordering lp
-             //                  : names    x y
-diff --git a/src/sage/rings/polynomial/polynomial_quotient_ring.py b/src/sage/rings/polynomial/polynomial_quotient_ring.py
-index d5db40b..28fa62b 100644
---- a/src/sage/rings/polynomial/polynomial_quotient_ring.py
-+++ b/src/sage/rings/polynomial/polynomial_quotient_ring.py
-@@ -612,7 +612,7 @@ class PolynomialQuotientRing_generic(CommutativeRing):
-             sage: Q = P.quo([(x^2+1)])
-             sage: singular(Q)        # indirect doctest
-             polynomial ring, over a field, global ordering
--            //   characteristic : 0
-+            //   coefficients: QQ
-             //   number of vars : 1
-             //        block   1 : ordering lp
-             //                  : names    xbar
-diff --git a/src/sage/rings/polynomial/polynomial_singular_interface.py b/src/sage/rings/polynomial/polynomial_singular_interface.py
-index 3f0d1d0..1230a5e 100644
---- a/src/sage/rings/polynomial/polynomial_singular_interface.py
-+++ b/src/sage/rings/polynomial/polynomial_singular_interface.py
-@@ -81,9 +81,7 @@ class PolynomialRing_singular_repr:
-             sage: R.<x,y> = PolynomialRing(CC,'x',2)
-             sage: singular(R)
-             polynomial ring, over a field, global ordering
--            //   characteristic : 0 (complex:15 digits, additional 0 digits)
--            //   1 parameter    : I
--            //   minpoly        : (I^2+1)
-+            //   coefficients: float[I](complex:15 digits, additional 0 digits)/(I^2+1)
-             //   number of vars : 2
-             //        block   1 : ordering dp
-             //                  : names    x y
-@@ -91,7 +89,7 @@ class PolynomialRing_singular_repr:
-             sage: R.<x,y> = PolynomialRing(RealField(100),'x',2)
-             sage: singular(R)
-             polynomial ring, over a field, global ordering
--            //   characteristic : 0 (real)
-+            //   coefficients: float
-             //   number of vars : 2
-             //        block   1 : ordering dp
-             //                  : names    x y
-@@ -101,9 +99,7 @@ class PolynomialRing_singular_repr:
-             sage: R.<x> = PolynomialRing(NumberField(w^2+1,'s'))
-             sage: singular(R)
-             polynomial ring, over a field, global ordering
--            //   characteristic : 0
--            //   1 parameter    : s
--            //   minpoly        : (s^2+1)
-+            //   coefficients: QQ[s]/(s^2+1)
-             //   number of vars : 1
-             //        block   1 : ordering lp
-             //                  : names    x
-@@ -112,7 +108,7 @@ class PolynomialRing_singular_repr:
-             sage: R = PolynomialRing(GF(127),1,'x')
-             sage: singular(R)
-             polynomial ring, over a field, global ordering
--            //   characteristic : 127
-+            //   coefficients: ZZ/127
-             //   number of vars : 1
-             //        block   1 : ordering lp
-             //                  : names    x
-@@ -121,7 +117,7 @@ class PolynomialRing_singular_repr:
-             sage: R = PolynomialRing(QQ,1,'x')
-             sage: singular(R)
-             polynomial ring, over a field, global ordering
--            //   characteristic : 0
-+            //   coefficients: QQ
-             //   number of vars : 1
-             //        block   1 : ordering lp
-             //                  : names    x
-@@ -130,7 +126,7 @@ class PolynomialRing_singular_repr:
-             sage: R = PolynomialRing(QQ,'x')
-             sage: singular(R)
-             polynomial ring, over a field, global ordering
--            //   characteristic : 0
-+            //   coefficients: QQ
-             //   number of vars : 1
-             //        block   1 : ordering lp
-             //                  : names    x
-@@ -139,7 +135,7 @@ class PolynomialRing_singular_repr:
-             sage: R = PolynomialRing(GF(127),'x')
-             sage: singular(R)
-             polynomial ring, over a field, global ordering
--            //   characteristic : 127
-+            //   coefficients: ZZ/127
-             //   number of vars : 1
-             //        block   1 : ordering lp
-             //                  : names    x
-@@ -148,9 +144,7 @@ class PolynomialRing_singular_repr:
-             sage: R = Frac(ZZ['a,b'])['x,y']
-             sage: singular(R)
-             polynomial ring, over a field, global ordering
--            //   characteristic : 0
--            //   2 parameter    : a b
--            //   minpoly        : 0
-+            //   coefficients: QQ(a, b)
-             //   number of vars : 2
-             //        block   1 : ordering dp
-             //                  : names    x y
-@@ -160,7 +154,7 @@ class PolynomialRing_singular_repr:
-             sage: R = IntegerModRing(1024)['x,y']
-             sage: singular(R)
-             polynomial ring, over a ring (with zero-divisors), global ordering
--            //   coeff. ring is : Z/2^10
-+            //   coefficients: Z/2^10
-             //   number of vars : 2
-             //        block   1 : ordering dp
-             //                  : names    x y
-@@ -169,7 +163,7 @@ class PolynomialRing_singular_repr:
-             sage: R = IntegerModRing(15)['x,y']
-             sage: singular(R)
-             polynomial ring, over a ring (with zero-divisors), global ordering
--            //   coeff. ring is : ZZ/15
-+            //   coefficients: ZZ/bigint(15)
-             //   number of vars : 2
-             //        block   1 : ordering dp
-             //                  : names    x y
-@@ -178,7 +172,7 @@ class PolynomialRing_singular_repr:
-             sage: R = ZZ['x,y']
-             sage: singular(R)
-             polynomial ring, over a domain, global ordering
--            //   coeff. ring is : ZZ
-+            //   coefficients: ZZ
-             //   number of vars : 2
-             //        block   1 : ordering dp
-             //                  : names    x y
-@@ -190,9 +184,7 @@ class PolynomialRing_singular_repr:
-             sage: S = K['y']
-             sage: singular(S)
-             polynomial ring, over a field, global ordering
--            //   characteristic : 5
--            //   1 parameter    : x
--            //   minpoly        : 0
-+            //   coefficients: ZZ/5(x)
-             //   number of vars : 2
-             //        block   1 : ordering lp
-             //                  : names    a y
-@@ -234,7 +226,7 @@ class PolynomialRing_singular_repr:
- 
-             sage: PolynomialRing(QQ,'u_ba')._singular_init_()
-             polynomial ring, over a field, global ordering
--            //   characteristic : 0
-+            //   coefficients: QQ
-             //   number of vars : 1
-             //        block   1 : ordering lp
-             //                  : names    u_ba
-diff --git a/src/sage/rings/polynomial/term_order.py b/src/sage/rings/polynomial/term_order.py
-index 213a36c..c169f33 100644
---- a/src/sage/rings/polynomial/term_order.py
-+++ b/src/sage/rings/polynomial/term_order.py
-@@ -1756,7 +1756,7 @@ class TermOrder(SageObject):
-             '(lp(3),Dp(5),lp(2))'
-             sage: P._singular_()
-             polynomial ring, over a field, global ordering
--            //   characteristic : 127
-+            //   coefficients: ZZ/127
-             //   number of vars : 10
-             //        block   1 : ordering lp
-             //                  : names    x0 x1 x2
-@@ -1784,7 +1784,7 @@ class TermOrder(SageObject):
-             '(a(1:2),ls(2),a(1:2),ls(2))'
-             sage: P._singular_()
-             polynomial ring, over a field, global ordering
--            //   characteristic : 0
-+            //   coefficients: QQ
-             //   number of vars : 4
-             //        block   1 : ordering a
-             //                  : names    x0 x1
-diff --git a/src/sage/rings/quotient_ring.py b/src/sage/rings/quotient_ring.py
-index a670513..d78fb70 100644
---- a/src/sage/rings/quotient_ring.py
-+++ b/src/sage/rings/quotient_ring.py
-@@ -1174,7 +1174,7 @@ class QuotientRing_nc(ring.Ring, sage.structure.parent_gens.ParentWithGens):
-             sage: S = R.quotient_ring(x^2+y^2)
-             sage: S._singular_()
-             polynomial ring, over a field, global ordering
--            //   characteristic : 0
-+            //   coefficients: QQ
-             //   number of vars : 2
-             //        block   1 : ordering dp
-             //                  : names    x y
-diff --git a/src/sage/rings/quotient_ring_element.py b/src/sage/rings/quotient_ring_element.py
-index e6565a7..d5bd037 100644
---- a/src/sage/rings/quotient_ring_element.py
-+++ b/src/sage/rings/quotient_ring_element.py
-@@ -786,7 +786,7 @@ class QuotientRingElement(RingElement):
-             sage: Q = P.quo(I)
-             sage: Q._singular_()
-             polynomial ring, over a field, global ordering
--            //   characteristic : 2
-+            //   coefficients: ZZ/2
-             //   number of vars : 2
-             //        block   1 : ordering dp
-             //                  : names    x y
-diff --git a/src/sage/schemes/affine/affine_morphism.py b/src/sage/schemes/affine/affine_morphism.py
-index d061b40..611b274 100644
---- a/src/sage/schemes/affine/affine_morphism.py
-+++ b/src/sage/schemes/affine/affine_morphism.py
-@@ -670,7 +670,7 @@ class SchemeMorphism_polynomial_affine_space(SchemeMorphism_polynomial):
-             sage: H = Hom(A,A)
-             sage: F = H([1/2*x^2 + sqrt(3)])
-             sage: F.dynatomic_polynomial([1,1])
--            (2.00000000000000*x^4 + 5.85640646055102*x^2 + 24.0000000000000)/(x^2 + (-2.00000000000000)*x + 3.46410161513775)
-+            (0.125000000000000*x^4 + 0.366025403784439*x^2 + 1.50000000000000)/(0.500000000000000*x^2 - x + 1.73205080756888)
-         """
-         if self.domain() != self.codomain():
-             raise TypeError("must have same domain and codomain to iterate")
-diff --git a/src/sage/schemes/curves/projective_curve.py b/src/sage/schemes/curves/projective_curve.py
-index e2de777..0e88d70 100644
---- a/src/sage/schemes/curves/projective_curve.py
-+++ b/src/sage/schemes/curves/projective_curve.py
-@@ -1830,7 +1830,7 @@ class ProjectivePlaneCurve_prime_finite_field(ProjectivePlaneCurve_finite_field)
-             sage: C = Curve(f); pts = C.rational_points()
-             sage: D = C.divisor([ (3, pts[0]), (-1,pts[1]), (10, pts[5]) ])
-             sage: C.riemann_roch_basis(D)
--            [(-2*x + y)/(x + y), (-x + z)/(x + y)]
-+            [(-x - 2*y)/(-2*x - 2*y), (-x + z)/(x + y)]
- 
- 
-         .. NOTE::

Deleted: sagemath-singular-4.1.0.p3.patch
===================================================================
--- sagemath-singular-4.1.0.p3.patch	2017-07-21 19:18:57 UTC (rev 245951)
+++ sagemath-singular-4.1.0.p3.patch	2017-07-21 23:55:10 UTC (rev 245952)
@@ -1,118 +0,0 @@
-diff --git a/src/sage/libs/singular/decl.pxd b/src/sage/libs/singular/decl.pxd
-index 2dec5d8..676544a 100644
---- a/src/sage/libs/singular/decl.pxd
-+++ b/src/sage/libs/singular/decl.pxd
-@@ -534,6 +534,9 @@ cdef extern from "singular/Singular/libsingular.h":
- 
-     int rRing_has_Comp(ring *r)
- 
-+    int rHasGlobalOrdering(ring *r)
-+    int rHasLocalOrMixedOrdering(ring *r)
-+
-     # return new empty monomial
- 
-     poly *p_Init(ring *r)
-@@ -598,7 +601,7 @@ cdef extern from "singular/Singular/libsingular.h":
- 
-     # homogenizes p by multiplying certain powers of the varnum-th variable
- 
--    poly *pHomogen (poly *p, int varnum)
-+    poly *p_Homogen (poly *p, int varnum, ring *r)
- 
-     # return whether a polynomial is homogenous
- 
-@@ -710,7 +713,7 @@ cdef extern from "singular/Singular/libsingular.h":
- 
-     # inverse of poly, if possible
- 
--    poly *pInvers(int n, poly *, intvec *)
-+    poly *p_Series(int n, poly *, poly *, intvec *, ring *r)
- 
-     # gcd of f and g
- 
-@@ -766,6 +769,10 @@ cdef extern from "singular/Singular/libsingular.h":
-     # Copy this number
-     number *n_Copy(number *n, ring* r)
- 
-+    # Invert this number
-+    int n_IsUnit(number *n, const n_Procs_s *cf)
-+    number *n_Invers(number *n, const n_Procs_s *cf)
-+
-     # rational number from int
- 
-     number *nlInit(int)
-diff --git a/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx b/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
-index ffc6787..656acc9 100644
---- a/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
-+++ b/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
-@@ -186,12 +186,13 @@ from sage.libs.singular.decl cimport n_unknown,  n_Zp,  n_Q,   n_R,   n_GF,  n_l
- # singular functions
- from sage.libs.singular.decl cimport (
-     errorreported,
-+    n_IsUnit, n_Invers,
-     p_ISet, rChangeCurrRing, p_Copy, p_Init, p_SetCoeff, p_Setm, p_SetExp, p_Add_q,
-     p_NSet, p_GetCoeff, p_Delete, p_GetExp, pNext, rRingVar, omAlloc0, omStrDup,
-     omFree, pDivide, p_SetCoeff0, n_Init, p_DivisibleBy, pLcm, p_LmDivisibleBy,
-     pDivide, p_IsConstant, p_ExpVectorEqual, p_String, p_LmInit, n_Copy,
--    p_IsUnit, pInvers, p_Head, idInit, fast_map_common_subexp, id_Delete,
--    p_IsHomogeneous, pHomogen, p_Totaldegree,pLDeg1_Totaldegree, singclap_pdivide, singclap_factorize,
-+    p_IsUnit, p_Series, p_Head, idInit, fast_map_common_subexp, id_Delete,
-+    p_IsHomogeneous, p_Homogen, p_Totaldegree,pLDeg1_Totaldegree, singclap_pdivide, singclap_factorize,
-     idLift, IDELEMS, On, Off, SW_USE_CHINREM_GCD, SW_USE_EZGCD,
-     p_LmIsConstant, pTakeOutComp1, singclap_gcd, pp_Mult_qq, p_GetMaxExp,
-     pLength, kNF, p_Neg, p_Minus_mm_Mult_qq, p_Plus_mm_Mult_qq,
-@@ -1353,7 +1354,7 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_generic):
-             sage: R = IntegerModRing(1024)['x,y']
-             sage: singular(R)
-             polynomial ring, over a ring (with zero-divisors), global ordering
--            //   coefficients: Z/2^10
-+            //   coefficients: ZZ/(2^10)
-             //   number of vars : 2
-             //        block   1 : ordering dp
-             //                  : names    x y
-@@ -3112,11 +3113,11 @@ cdef class MPolynomial_libsingular(sage.rings.polynomial.multi_polynomial.MPolyn
-         cdef ring *_ring = self._parent_ring
-         if(_ring != currRing): rChangeCurrRing(_ring)
- 
--        if not p_IsUnit(self._poly, _ring):
-+        if not (p_IsUnit(self._poly,_ring)):
-             raise ArithmeticError("Element is not a unit.")
- 
-         sig_on()
--        cdef MPolynomial_libsingular r = new_MP(self._parent, pInvers(0, self._poly, NULL))
-+        cdef MPolynomial_libsingular r = new_MP(self._parent, p_NSet(n_Invers(p_GetCoeff(self._poly, _ring),_ring.cf),_ring))
-         sig_off()
-         return r
- 
-@@ -3171,14 +3172,17 @@ cdef class MPolynomial_libsingular(sage.rings.polynomial.multi_polynomial.MPolyn
- 
-         SEE: ``self.homogenize``
-         """
-+        cdef ring *_ring = self._parent_ring
-         cdef MPolynomialRing_libsingular parent = self._parent
-         cdef MPolynomial_libsingular f
- 
-         if self.is_homogeneous():
-             return self
- 
-+        if(_ring != currRing): rChangeCurrRing(_ring)
-+
-         if var < parent._ring.N:
--            return new_MP(parent, pHomogen(p_Copy(self._poly, self._parent_ring), var+1))
-+            return new_MP(parent, p_Homogen(self._poly, var+1, _ring))
-         else:
-             raise TypeError("var must be < self.parent().ngens()")
- 
-diff --git a/src/sage/rings/polynomial/polynomial_singular_interface.py b/src/sage/rings/polynomial/polynomial_singular_interface.py
-index 1230a5e..1eb2566 100644
---- a/src/sage/rings/polynomial/polynomial_singular_interface.py
-+++ b/src/sage/rings/polynomial/polynomial_singular_interface.py
-@@ -154,7 +154,7 @@ class PolynomialRing_singular_repr:
-             sage: R = IntegerModRing(1024)['x,y']
-             sage: singular(R)
-             polynomial ring, over a ring (with zero-divisors), global ordering
--            //   coefficients: Z/2^10
-+            //   coefficients: ZZ/(2^10)
-             //   number of vars : 2
-             //        block   1 : ordering dp
-             //                  : names    x y

Deleted: skip-check.patch
===================================================================
--- skip-check.patch	2017-07-21 19:18:57 UTC (rev 245951)
+++ skip-check.patch	2017-07-21 23:55:10 UTC (rev 245952)
@@ -1,22 +0,0 @@
---- src/bin/sage.orig	2014-12-18 09:47:27.354829070 +0100
-+++ src/bin/sage	2014-12-18 09:48:00.041563401 +0100
-@@ -352,18 +352,6 @@
- 
- # Prepare for running Sage, either interactively or non-interactively.
- sage_setup() {
--    # Check that we're not in a source tarball which hasn't been built yet (#13561).
--    if [ ! -d "$SAGE_LOCAL/lib/python/site-packages/sage" ]; then
--        echo >&2 '************************************************************************'
--        echo >&2 'It seems that you are attempting to run Sage from an unpacked source'
--        echo >&2 'tarball, but you have not compiled it yet (or maybe the build has not'
--        echo >&2 'finished). You should run `make` in the Sage root directory first.'
--        echo >&2 'If you did not intend to build Sage from source, you should download'
--        echo >&2 'a binary tarball instead. Read README.txt for more information.'
--        echo >&2 '************************************************************************'
--        exit 1
--    fi
--
-     # Display the startup banner (unless SAGE_BANNER is explictly "no")
-     if [ "$SAGE_BANNER" != "no" ]; then
-         # can be 'bare', or 'yes', or unspecified
-



More information about the arch-commits mailing list