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 <[email protected]> +# 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 <[email protected]> -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 -
