Date: Thursday, June 27, 2019 @ 05:59:51 Author: arojas Revision: 484664
Update to 8.8 Modified: sagemath/trunk/PKGBUILD sagemath/trunk/latte-count.patch sagemath/trunk/package.patch sagemath/trunk/sagemath-env.patch sagemath/trunk/sagemath-python3-notebook.patch sagemath/trunk/sagemath-threejs.patch sagemath/trunk/test-optional.patch Deleted: sagemath/trunk/sagemath-gap-4.10.1.patch sagemath/trunk/sagemath-sphinx-1.8.patch sagemath/trunk/sagemath-threejs-100.patch ---------------------------------+ PKGBUILD | 60 ++--- latte-count.patch | 20 - package.patch | 2 sagemath-env.patch | 18 - sagemath-gap-4.10.1.patch | 381 -------------------------------------- sagemath-python3-notebook.patch | 2 sagemath-sphinx-1.8.patch | 28 -- sagemath-threejs-100.patch | 52 ----- sagemath-threejs.patch | 4 test-optional.patch | 13 - 10 files changed, 52 insertions(+), 528 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2019-06-27 03:36:32 UTC (rev 484663) +++ PKGBUILD 2019-06-27 05:59:51 UTC (rev 484664) @@ -7,8 +7,8 @@ pkgbase=sagemath pkgname=(sagemath sagemath-jupyter) -pkgver=8.7 -pkgrel=5 +pkgver=8.8 +pkgrel=1 pkgdesc="Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab" arch=(x86_64) url="http://www.sagemath.org" @@ -27,7 +27,7 @@ 'coxeter: Coxeter groups implementation' 'lrs: Algorithms for linear reverse search used in game theory and for computing volume of polytopes' 'libfes: exhaustive search of solutions for boolean equations' 'python2-pynormaliz: Normaliz backend for polyhedral computations' - 'latte-integrale: integral point count in polyhedra' 'polymake: polymake backend for polyhedral computations' + 'latte-integrale: integral point count in polyhedra' 'python2-jupymake: polymake backend for polyhedral computations' 'shared_meataxe: faster matrix arithmetic over finite fields' 'openblas: faster linear algebra' 'sirocco: for computing the fundamental group of the complement of a plane curve' 'primecount: faster prime_pi implementation' 'dot2tex: for displaying some diagrams' 'cryptominisat5: SAT solver' 'python2-pycosat: picosat SAT solver' @@ -43,26 +43,20 @@ fes02.patch sagemath-threejs.patch sagemath-cremona.patch - sagemath-sphinx-1.8.patch sagemath-singular-4.1.2.patch sagemath-ecl-sigfpe.patch - sagemath-gap-4.10.1.patch - sagemath-threejs-100.patch sagemath-linbox-1.6.patch) -sha256sums=('263c3b3fc956b8bebc532f3b51e68c1b0d559d3b7e7c9fadffdfc0f4dbae18ab' - 'e0e36f2a39b634a76e1c3ad9a31f9ab60e734dd53b43203557b76613277d53b9' - 'b1068a8d5750051c2b5cfcb89d3d5870cf4233ab445e71c398543fb8b1e6281a' - 'b66d5bb692159910cec83c80262c43a687d3a678010c7ae4c7070f7cf3a0d5cb' - '12cd410035ae644c2495b0dcd3a5138133a471ecc07912d37114c46ee837eb0e' - 'f12bd2a53ad51549015093aacc89978f4d796d9ab5bcd3d737aa0d57a5815b54' +sha256sums=('d012ff4f0f34e086fcaf576e25220fc647826116c69b62b887bc0b8ced5c1e9f' + '1c2a2d750e81ac65a1dc07094f086ba07f4862288c935a1cd009cdd62bcfc23c' + '328e45e78065b5f6527174bda48cfff6828acbf107c2535b0a9a92c3ceb35842' + '596d03daf53a76b04029b120619253250b0e58d530d69f14afa169e27e06f446' + '7be9f88975079d671eb3cde78e752e74741bcc29ba9b323bab5cddf50ce6dec9' + '1f2a34e15bf732ec8687c467a52e897615505dc3ddd792d811e8b6a7e19f1517' '7fcb52e96935dccb0f958d37c2f4e3918392480b9af53e08562f6cba6c68cb94' - 'd3c50256cfcf84a90336647f8a1164386b6b8034f47c45361d57be487e92d2c1' + 'a8c1409f4b4f1553b4f7602d4a6f0f3c6297ed258feed079f6560b0ec2dc62c6' '4c6df9e4e5a7b29ecf6189eda3e5a79f69b6e1b4d29c1b9559663149b8c0af96' - '22f5e44a42c8276025b8512f45cac1c36d576c29c7fd9d36fde8b19ff87867d8' '961bfb5694b67d425d21240d71490cb71714b5207c23448c89be0966512ff8f9' 'a42f3b152b1aedb8abf16bc70971419919d1fe30328574e7fef8305f9d07d938' - '9ec56a3788e32c54f35abeaeedf7cadf6670fa10d39007050b23b93d3c35278e' - '3ee624bb47f757516a860799d817168fe9cf74e603416e18e70c93c692259242' '81fc39e39e8508f742ccc784efd0492fd04474cee75edf7bd3cbea43edd49b2e') prepare(){ @@ -79,12 +73,8 @@ patch -p1 -i ../latte-count.patch # make 'sage -notebook=jupyter' work with our python3 jupyter-notebook package patch -p1 -i ../sagemath-python3-notebook.patch -# fix three.js plotting backend +# use correct online three.js version patch -p1 -i ../sagemath-threejs.patch -# fix introspection with sphinx 1.8 - patch -p1 -i ../sagemath-sphinx-1.8.patch -# port to GAP 4.10.1 API changes - patch -p1 -i ../sagemath-gap-4.10.1.patch # Upstream patches # fix build against libfes 0.2 http://trac.sagemath.org/ticket/15209 @@ -95,17 +85,13 @@ patch -p1 -i ../sagemath-singular-4.1.2.patch # Fix SIGFPE crashes with ecl 16.1.3 https://trac.sagemath.org/ticket/22191 patch -p1 -i ../sagemath-ecl-sigfpe.patch -# Fix rendering with three.js r100 https://trac.sagemath.org/ticket/26718 - patch -p1 -i ../sagemath-threejs-100.patch # fix build with linbox 1.6 https://trac.sagemath.org/ticket/26932 patch -p1 -i ../sagemath-linbox-1.6.patch # use python2 sed -e 's|sage-python23|python2|' -e 's|#!/usr/bin/env python\b|#!/usr/bin/env python2|' -i src/bin/* - sed -e 's|cython {OPT}|cython2 {OPT}|' -e 's|python setup.py|python2 setup.py|' -i src/sage/misc/cython.py sed -e 's|exec ipython\b|exec ipython2|' -e 's|cygdb|cygdb2|g' -i src/bin/sage sed -e "s|'cython'|'cython2'|" -i src/bin/sage-cython - sed -e 's|"python"|"python2"|' -i src/sage/env.py } @@ -112,10 +98,10 @@ build() { cd sage-$pkgver/src - export CC=gcc - export SAGE_ROOT="$PWD" - export SAGE_SRC="$PWD" - export SAGE_NUM_THREADS=10 + export CC=gcc \ + SAGE_ROOT="$PWD" \ + SAGE_SRC="$PWD" \ + SAGE_NUM_THREADS=10 python2 setup.py build } @@ -124,14 +110,14 @@ cd sage-$pkgver/src - export SAGE_ROOT="$PWD" - export SAGE_LOCAL="/usr" - export SAGE_EXTCODE="$PWD"/ext + export SAGE_ROOT="$PWD" \ + SAGE_LOCAL="/usr" \ + SAGE_EXTCODE="$PWD"/ext python2 setup.py install --root="$pkgdir" --optimize=1 mkdir -p "$pkgdir"/usr/bin cp bin/{sage,math-readline} "$pkgdir"/usr/bin - for _i in cachegrind callgrind cleaner coverage coverageall cython env eval grep grepdoc inline-fortran ipynb2rst \ + for _i in cachegrind callgrind cleaner coverage coverageall cython env eval fixdoctests grep grepdoc inline-fortran ipynb2rst \ ipython massif maxima.lisp native-execute notebook num-threads.py omega open preparse python rst2sws rst2txt run \ run-cython runtests startuptime.py sws2rst valgrind version.sh do @@ -143,6 +129,9 @@ # Remove sage_setup rm -r "$pkgdir"/usr/lib/python2.7/site-packages/sage_setup +# Install tests + cp -r sage/doctest/tests "$pkgdir"/usr/lib/python2.7/site-packages/sage/doctest + cp -r sage/tests/books "$pkgdir"/usr/lib/python2.7/site-packages/sage/tests # Split jupyter kernel rm -r "$pkgdir"/usr/share/jupyter @@ -155,9 +144,8 @@ cd sage-$pkgver/src - export SAGE_ROOT="$PWD" - export SAGE_LOCAL="/usr" - + export SAGE_ROOT="$PWD" \ + SAGE_LOCAL="/usr" python2 -c "from sage.repl.ipython_kernel.install import SageKernelSpec; SageKernelSpec.update(prefix='$pkgdir/usr')" # fix symlinks to assets for _i in $(ls ext/notebook-ipython); do Modified: latte-count.patch =================================================================== --- latte-count.patch 2019-06-27 03:36:32 UTC (rev 484663) +++ latte-count.patch 2019-06-27 05:59:51 UTC (rev 484664) @@ -2,7 +2,7 @@ index 268af9db0d..70d41dfa30 100644 --- a/src/sage/geometry/polyhedron/base_ZZ.py +++ b/src/sage/geometry/polyhedron/base_ZZ.py -@@ -171,7 +171,7 @@ class Polyhedron_ZZ(Polyhedron_base): +@@ -170,7 +170,7 @@ class Polyhedron_ZZ(Polyhedron_base): sage: p = P.ehrhart_polynomial(maxdet=5, verbose=True) # optional - latte_int This is LattE integrale ... ... @@ -11,7 +11,7 @@ ... sage: p # optional - latte_int 1/2*t^2 + 3/2*t + 1 -@@ -179,7 +179,7 @@ class Polyhedron_ZZ(Polyhedron_base): +@@ -178,7 +178,7 @@ class Polyhedron_ZZ(Polyhedron_base): sage: p = P.ehrhart_polynomial(dual=True, verbose=True) # optional - latte_int This is LattE integrale ... ... @@ -20,7 +20,7 @@ ... sage: p # optional - latte_int 1/2*t^2 + 3/2*t + 1 -@@ -187,7 +187,7 @@ class Polyhedron_ZZ(Polyhedron_base): +@@ -186,7 +186,7 @@ class Polyhedron_ZZ(Polyhedron_base): sage: p = P.ehrhart_polynomial(irrational_primal=True, verbose=True) # optional - latte_int This is LattE integrale ... ... @@ -29,7 +29,7 @@ ... sage: p # optional - latte_int 1/2*t^2 + 3/2*t + 1 -@@ -195,7 +195,7 @@ class Polyhedron_ZZ(Polyhedron_base): +@@ -194,7 +194,7 @@ class Polyhedron_ZZ(Polyhedron_base): sage: p = P.ehrhart_polynomial(irrational_all_primal=True, verbose=True) # optional - latte_int This is LattE integrale ... ... @@ -38,7 +38,7 @@ ... sage: p # optional - latte_int 1/2*t^2 + 3/2*t + 1 -@@ -207,7 +207,7 @@ class Polyhedron_ZZ(Polyhedron_base): +@@ -206,7 +206,7 @@ class Polyhedron_ZZ(Polyhedron_base): ... RuntimeError: LattE integrale program failed (exit code 1): ... @@ -73,7 +73,7 @@ index 63d227fd35..040a5cf1f9 100644 --- a/src/sage/features/latte.py +++ b/src/sage/features/latte.py -@@ -10,10 +10,10 @@ from . import Executable, Feature, FeatureTestResult +@@ -9,10 +9,10 @@ from . import Executable, Feature, FeatureTestResult class Latte_count(Executable): r""" @@ -81,9 +81,9 @@ + Feature for the executable ``latte-count`` from the LattE suite. """ def __init__(self): -- Executable.__init__(self, "count", executable="count", spkg="latte_int", url="https://www.math.ucdavis.edu/~latte/software.php") -+ Executable.__init__(self, "latte-count", executable="latte-count", spkg="latte_int", url="https://www.math.ucdavis.edu/~latte/software.php") +- Executable.__init__(self, "count", executable="count", ++ Executable.__init__(self, "latte-count", executable="count", + spkg="latte_int", + url=LATTE_URL) - class Latte_integrate(Executable): - r""" Modified: package.patch =================================================================== --- package.patch 2019-06-27 03:36:32 UTC (rev 484663) +++ package.patch 2019-06-27 05:59:51 UTC (rev 484664) @@ -1,6 +1,6 @@ --- src/sage/misc/package.py.orig 2014-11-23 15:58:13.000000000 +0100 +++ src/sage/misc/package.py 2015-01-22 20:32:25.651383902 +0100 -@@ -335,7 +335,7 @@ +@@ -336,7 +336,7 @@ Use the framework provided by :mod:`sage.features` to check whether a library is installed and functional. """ Modified: sagemath-env.patch =================================================================== --- sagemath-env.patch 2019-06-27 03:36:32 UTC (rev 484663) +++ sagemath-env.patch 2019-06-27 05:59:51 UTC (rev 484664) @@ -42,7 +42,7 @@ # Don't execute the commands more than once for the same version of -@@ -174,33 +174,9 @@ +@@ -174,35 +174,9 @@ export SAGE_ENV_SOURCED=$SAGE_ENV_VERSION export SAGE_ROOT="$NEW_SAGE_ROOT" @@ -54,10 +54,12 @@ -# Note that SAGE_SCRIPTS_DIR is only used here, so it does not need to -# be exported. -if [ -z "$SAGE_SCRIPTS_DIR" ]; then -- if [ -n "$SAGE_LOCAL" ] && [ -f "$SAGE_LOCAL/bin/sage-env-config" ]; then +- if [ -f "$SAGE_ROOT/src/bin/sage-env-config" ]; then +- # Prefer src/bin/sage-env-config because that's directly +- # generated by configure (see Trac #27422) +- SAGE_SCRIPTS_DIR="$SAGE_ROOT/src/bin" +- elif [ -n "$SAGE_LOCAL" ] && [ -f "$SAGE_LOCAL/bin/sage-env-config" ]; then - SAGE_SCRIPTS_DIR="$SAGE_LOCAL/bin" -- elif [ -f "$SAGE_ROOT/src/bin/sage-env-config" ]; then -- SAGE_SCRIPTS_DIR="$SAGE_ROOT/src/bin" - else - echo >&2 "Error: You must set either the SAGE_LOCAL or SAGE_SCRIPTS_DIR environment variable to run this" - return 1 @@ -78,7 +80,7 @@ # The compilers are set in order of priority by # 1) environment variables -@@ -296,8 +296,8 @@ +@@ -298,8 +298,8 @@ export SAGE_SPKG_INST="$SAGE_LOCAL/var/lib/sage/installed" export SAGE_SPKG_SCRIPTS="$SAGE_LOCAL/var/lib/sage/scripts" export SAGE_LOGS="$SAGE_ROOT/logs/pkgs" @@ -89,7 +91,7 @@ export SAGE_DOC="$SAGE_SHARE/doc/sage" if [ -z "${SAGE_ORIG_PATH_SET}" ]; then -@@ -409,28 +409,8 @@ +@@ -411,28 +411,8 @@ export SAGE_STARTUP_FILE fi @@ -120,7 +122,7 @@ LDFLAGS="-L$SAGE_LOCAL/lib -Wl,-rpath,$SAGE_LOCAL/lib $LDFLAGS" export LDFLAGS -@@ -495,8 +495,6 @@ +@@ -497,8 +497,6 @@ fi fi @@ -129,7 +131,7 @@ PERL5LIB="$SAGE_LOCAL/lib/perl5:$PERL5LIB" && export PERL5LIB -@@ -607,9 +607,6 @@ +@@ -609,9 +609,6 @@ LD_LIBRARY_PATH="$SAGE_LOCAL/bin:$LD_LIBRARY_PATH" && export LD_LIBRARY_PATH fi Deleted: sagemath-gap-4.10.1.patch =================================================================== --- sagemath-gap-4.10.1.patch 2019-06-27 03:36:32 UTC (rev 484663) +++ sagemath-gap-4.10.1.patch 2019-06-27 05:59:51 UTC (rev 484664) @@ -1,381 +0,0 @@ -diff --git a/src/sage/interfaces/tests.py b/src/sage/interfaces/tests.py -index 6bcbfef..fc77f12 100644 ---- a/src/sage/interfaces/tests.py -+++ b/src/sage/interfaces/tests.py -@@ -33,8 +33,8 @@ Test that write errors to stderr are handled gracefully by GAP - sage: kwds = dict(shell=True, stdout=f, stderr=f) - sage: subprocess.call("echo syntax error | ecl", **kwds) - 0 -- sage: subprocess.call("echo syntax error | gap", **kwds) -- 0 -+ sage: subprocess.call("echo syntax error | gap", **kwds) in (0, 1) -+ True - sage: subprocess.call("echo syntax error | gp", **kwds) - 0 - sage: subprocess.call("echo syntax error | ipython", **kwds) in (0, 1, 120) -diff --git a/src/sage/libs/gap/gap_includes.pxd b/src/sage/libs/gap/gap_includes.pxd -index 864a13b..f624ccd 100644 ---- a/src/sage/libs/gap/gap_includes.pxd -+++ b/src/sage/libs/gap/gap_includes.pxd -@@ -10,14 +10,14 @@ - ############################################################################### - - --cdef extern from "<gap/system.h>": -+cdef extern from "gap/system.h" nogil: - ctypedef char Char - ctypedef int Int - ctypedef unsigned int UInt - ctypedef void* Obj - - --cdef extern from "<gap/ariths.h>": -+cdef extern from "gap/ariths.h" nogil: - Obj SUM(Obj, Obj) - Obj DIFF(Obj, Obj) - Obj PROD(Obj, Obj) -@@ -28,12 +28,12 @@ cdef extern from "<gap/ariths.h>": - bint LT(Obj opL, Obj opR) - - --cdef extern from "<gap/bool.h>": -+cdef extern from "gap/bool.h" nogil: - cdef Obj GAP_True "True" - cdef Obj GAP_False "False" - - --cdef extern from "<gap/calls.h>": -+cdef extern from "gap/calls.h" nogil: - bint IS_FUNC(Obj) - Obj CALL_0ARGS(Obj f) # 0 arguments - Obj CALL_1ARGS(Obj f, Obj a1) # 1 argument -@@ -45,49 +45,47 @@ cdef extern from "<gap/calls.h>": - Obj CALL_XARGS(Obj f, Obj args) # more than 6 arguments - - --cdef extern from "<gap/gasman.h>": -+cdef extern from "gap/gasman.h" nogil: - Obj NewBag "NewBag"(UInt type, UInt size) - void MarkBag(Obj bag) - UInt CollectBags(UInt size, UInt full) - - --cdef extern from "<gap/gasman_intern.h>": -+cdef extern from "gap/gasman_intern.h" nogil: - void CallbackForAllBags(void (*func)(Obj)) - - --cdef extern from "<gap/gvars.h>": -+cdef extern from "gap/gvars.h" nogil: - UInt GVarName "GVarName"(char* name) - void AssGVar "AssGVar"(UInt gvar, Obj val) - - --cdef extern from "<gap/integer.h>": -+cdef extern from "gap/integer.h" nogil: - Int IS_INT(Obj) - - --cdef extern from "<gap/intobj.h>": -+cdef extern from "gap/intobj.h" nogil: - bint IS_INTOBJ(Obj obj) - Obj INTOBJ_INT(Int) - Int INT_INTOBJ(Obj) - - --cdef extern from "<gap/io.h>": -+cdef extern from "gap/io.h" nogil: - UInt OpenOutputStream(Obj stream) - UInt CloseOutput() - - --cdef extern from "<gap/libgap-api.h>": -- ctypedef void (*CallbackFunc)() -- void GAP_Initialize(int argc, char ** argv, char ** env, -- CallbackFunc, CallbackFunc) -- Obj GAP_EvalString(const char *) except * -- Obj GAP_EvalStringNoExcept "GAP_EvalString"(const char *) -- Obj GAP_ValueGlobalVariable(const char *) -- -- --cdef extern from "<gap/libgap-api.h>" nogil: -+cdef extern from "gap/libgap-api.h" nogil: - """ - #define sig_GAP_Enter() {int t = GAP_Enter(); if (!t) sig_error();} - """ -+ ctypedef void (*GAP_CallbackFunc)() -+ void GAP_Initialize(int argc, char ** argv, -+ GAP_CallbackFunc markBagsCallback, GAP_CallbackFunc errorCallback, -+ int handleSignals) -+ Obj GAP_EvalString(const char *) except * -+ Obj GAP_EvalStringNoExcept "GAP_EvalString"(const char *) -+ Obj GAP_ValueGlobalVariable(const char *) - cdef void GAP_EnterStack() - cdef void GAP_LeaveStack() - cdef int GAP_Enter() except 0 -@@ -96,7 +94,7 @@ cdef extern from "<gap/libgap-api.h>" nogil: - cdef int GAP_Error_Setjmp() except 0 - - --cdef extern from "<gap/lists.h>": -+cdef extern from "gap/lists.h" nogil: - bint IS_LIST(Obj lst) - int LEN_LIST(Obj lst) - Obj ELM_LIST(Obj lst, int pos) -@@ -104,15 +102,15 @@ cdef extern from "<gap/lists.h>": - void ASS_LIST(Obj lst, int pos, Obj elt) - - --cdef extern from "<gap/listfunc.h>": -+cdef extern from "gap/listfunc.h" nogil: - void AddList(Obj list, Obj obj) - - --cdef extern from "<gap/macfloat.h>": -+cdef extern from "gap/macfloat.h" nogil: - double VAL_MACFLOAT(Obj obj) - - --cdef extern from "<gap/objects.h>": -+cdef extern from "gap/objects.h" nogil: - bint IS_MUTABLE_OBJ(Obj obj) - Obj SHALLOW_COPY_OBJ(Obj obj) - Obj CopyObj(Obj obj, int mut) -@@ -121,28 +119,34 @@ cdef extern from "<gap/objects.h>": - UInt TNUM_OBJ(Obj obj) - char* TNAM_OBJ(Obj obj) - -- cdef int T_INTPOS -- cdef int T_INTNEG -- cdef int T_RAT -- cdef int T_CYC -- cdef int T_FFE -- cdef int T_PERM2 -- cdef int T_PERM4 -- cdef int T_BOOL -- cdef int T_CHAR -- cdef int T_FUNCTION -- cdef int T_MACFLOAT -- cdef int T_PLIST -- cdef int T_PLIST_CYC -- cdef int T_BLIST -- cdef int T_STRING -- cdef int T_COMOBJ -- cdef int T_POSOBJ -- cdef int T_DATOBJ -- cdef int T_WPOBJ -- -- --cdef extern from "<gap/precord.h>": -+ cdef enum TNUM: -+ T_INT -+ T_INTPOS -+ T_INTNEG -+ T_RAT -+ T_CYC -+ T_FFE -+ T_MACFLOAT -+ T_PERM2 -+ T_PERM4 -+ T_TRANS2 -+ T_TRANS4 -+ T_PPERM2 -+ T_PPERM4 -+ T_BOOL -+ T_CHAR -+ T_FUNCTION -+ T_PLIST -+ T_PLIST_CYC -+ T_BLIST -+ T_STRING -+ T_COMOBJ -+ T_POSOBJ -+ T_DATOBJ -+ T_WPOBJ -+ -+ -+cdef extern from "gap/precord.h" nogil: - Obj NEW_PREC(int len) - int LEN_PREC(Obj rec) - int GET_RNAM_PREC(Obj rec, int i) -@@ -150,14 +154,14 @@ cdef extern from "<gap/precord.h>": - void AssPRec(Obj rec, UInt rnam, Obj val) - - --cdef extern from "<gap/records.h>": -+cdef extern from "gap/records.h" nogil: - char* NAME_RNAM(UInt rnam) - bint IS_REC(Obj obj) - Obj ELM_REC(Obj rec, UInt rnam) - UInt RNamName(Char* name) - - --cdef extern from "<gap/stringobj.h>": -+cdef extern from "gap/stringobj.h" nogil: - char* CSTR_STRING(Obj list) - bint IS_STRING(Obj obj) - bint IsStringConv(Obj obj) -diff --git a/src/sage/libs/gap/libgap.pyx b/src/sage/libs/gap/libgap.pyx -index e78b88a..e66be59 100644 ---- a/src/sage/libs/gap/libgap.pyx -+++ b/src/sage/libs/gap/libgap.pyx -@@ -232,15 +232,6 @@ from sage.misc.superseded import deprecated_function_alias, deprecation - ### Debugging ############################################################## - ############################################################################ - -- --cdef void report(Obj bag): -- print(TNAM_OBJ(bag), <int>SIZE_OBJ(bag)) -- -- --cdef void print_gasman_objects(): -- CallbackForAllBags(report) -- -- - from sage.misc.lazy_import import is_during_startup - if is_during_startup(): - import sys, traceback -diff --git a/src/sage/libs/gap/util.pyx b/src/sage/libs/gap/util.pyx -index 7f6a924..27609f8 100644 ---- a/src/sage/libs/gap/util.pyx -+++ b/src/sage/libs/gap/util.pyx -@@ -14,19 +14,16 @@ Utility functions for GAP - - from __future__ import print_function, absolute_import - --import os --import signal --import warnings -+from libc.signal cimport signal, SIGCHLD, SIG_DFL - from posix.dlfcn cimport dlopen, dlclose, RTLD_NOW, RTLD_GLOBAL --from libc.string cimport strcpy, strlen - - from cpython.exc cimport PyErr_Fetch, PyErr_Restore - from cpython.object cimport Py_LT, Py_LE, Py_EQ, Py_NE, Py_GT, Py_GE - from cpython.ref cimport PyObject, Py_XINCREF, Py_XDECREF --from cysignals.memory cimport sig_malloc --from cysignals.pysignals import containsignals --from cysignals.signals cimport sig_on, sig_off, sig_error -+from cysignals.signals cimport sig_on, sig_off - -+import os -+import warnings - import sage.env - - from .gap_includes cimport * -@@ -105,7 +102,7 @@ cdef class ObjWrapper(object): - sage: hash(x) - 0 - """ -- return <int>(self.value) -+ return <Py_hash_t>(self.value) - - - cdef ObjWrapper wrap_obj(Obj obj): -@@ -197,7 +194,6 @@ def gap_root(): - - # To ensure that we call initialize_libgap only once. - cdef bint _gap_is_initialized = False --cdef extern char **environ - - - cdef char* _reset_error_output_cmd = """\ -@@ -216,33 +212,6 @@ MakeImmutable(libgap_errout); - """ - - --cdef char** copy_environ(char** env): -- """ -- Make a copy of the environment block given by ``env``. -- -- Returns a pointer to the copy, which is the caller's responsibility to -- free. -- """ -- -- cdef char** env_copy -- cdef int envc = 0; -- cdef int idx -- cdef size_t size -- -- while env[envc]: -- envc += 1 -- -- env_copy = <char**>sig_malloc((envc + 1) * sizeof(char*)) -- -- for idx in range(envc): -- size = strlen(env[idx]) + 1 -- env_copy[idx] = <char*>sig_malloc(size) -- strcpy(env_copy[idx], env[idx]) -- -- env_copy[envc] = NULL -- return env_copy -- -- - cdef initialize(): - """ - Initialize the GAP library, if it hasn't already been -@@ -253,7 +222,7 @@ cdef initialize(): - sage: libgap(123) # indirect doctest - 123 - """ -- global _gap_is_initialized, environ -+ global _gap_is_initialized - if _gap_is_initialized: return - # Hack to ensure that all symbols provided by libgap are loaded into the - # global symbol table -@@ -268,10 +237,9 @@ cdef initialize(): - "be loaded!") - dlclose(handle) - -- # Define argv and environ variables, which we will pass in to -+ # Define argv variable, which we will pass in to - # initialize GAP. Note that we must pass define the memory pool - # size! -- cdef char** env - cdef char* argv[18] - argv[0] = "sage" - argv[1] = "-l" -@@ -318,21 +286,15 @@ cdef initialize(): - - argv[argc] = NULL - -- env = copy_environ(environ) -- -- # Need to save/restore current SIGINT handling since GAP_Initialize -- # currently clobbers it; it doesn't matter what we set SIGINT to -- # temporarily. -- with containsignals(): -- sig_on() -- try: -- # Initialize GAP and capture any error messages. The -- # initialization just prints any errors and does not -- # use the error handler. -- GAP_Initialize(argc, argv, env, &gasman_callback, -- &error_handler) -- finally: -- sig_off() -+ sig_on() -+ # Initialize GAP but disable their SIGINT handler -+ GAP_Initialize(argc, argv, gasman_callback, error_handler, -+ handleSignals=False) -+ sig_off() -+ -+ # Disable GAP's SIGCHLD handler ChildStatusChanged(), which calls -+ # waitpid() on random child processes. -+ signal(SIGCHLD, SIG_DFL) - - # Set the ERROR_OUTPUT global in GAP to an output stream in which to - # receive error output -diff --git a/src/sage/tests/books/judson-abstract-algebra/sylow-sage.py b/src/sage/tests/books/judson-abstract-algebra/sylow-sage.py -index b3312b8..6d81f0a 100644 ---- a/src/sage/tests/books/judson-abstract-algebra/sylow-sage.py -+++ b/src/sage/tests/books/judson-abstract-algebra/sylow-sage.py -@@ -225,7 +225,7 @@ r""" - - ~~~~~~~~~~~~~~~~~~~~~~ :: - -- sage: gap.version() -+ sage: gap.version() # random - '4.10.0' - - ~~~~~~~~~~~~~~~~~~~~~~ :: Modified: sagemath-python3-notebook.patch =================================================================== --- sagemath-python3-notebook.patch 2019-06-27 03:36:32 UTC (rev 484663) +++ sagemath-python3-notebook.patch 2019-06-27 05:59:51 UTC (rev 484664) @@ -16,7 +16,7 @@ index 3912b8cdf5..bd40cdadda 100644 --- a/src/sage/repl/ipython_kernel/install.py +++ b/src/sage/repl/ipython_kernel/install.py -@@ -303,7 +303,6 @@ def have_prerequisites(debug=True): +@@ -304,7 +304,6 @@ def have_prerequisites(debug=True): True """ try: Deleted: sagemath-sphinx-1.8.patch =================================================================== --- sagemath-sphinx-1.8.patch 2019-06-27 03:36:32 UTC (rev 484663) +++ sagemath-sphinx-1.8.patch 2019-06-27 05:59:51 UTC (rev 484664) @@ -1,28 +0,0 @@ ---- a/src/sage/misc/sphinxify.py 2018-09-14 20:13:32.788831484 +0200 -+++ b/src/sage/misc/sphinxify.py 2018-09-14 20:14:07.142478667 +0200 -@@ -68,6 +68,7 @@ - sage: assert n == len(sys.path) - """ - srcdir = mkdtemp() -+ outdir = mkdtemp() - base_name = os.path.join(srcdir, 'docstring') - rst_name = base_name + '.rst' - -@@ -75,7 +76,7 @@ - suffix = '.html' - else: - suffix = '.txt' -- output_name = base_name + suffix -+ output_name = os.path.join(outdir, 'docstring') + suffix - - with open(rst_name, 'w') as filed: - filed.write(docstring) -@@ -93,7 +94,7 @@ - - import sys - old_sys_path = list(sys.path) # Sphinx modifies sys.path -- sphinx_app = Sphinx(srcdir, confdir, srcdir, doctreedir, format, -+ sphinx_app = Sphinx(srcdir, confdir, outdir, doctreedir, format, - confoverrides, None, None, True) - sphinx_app.build(None, [rst_name]) - sys.path = old_sys_path Deleted: sagemath-threejs-100.patch =================================================================== --- sagemath-threejs-100.patch 2019-06-27 03:36:32 UTC (rev 484663) +++ sagemath-threejs-100.patch 2019-06-27 05:59:51 UTC (rev 484664) @@ -1,52 +0,0 @@ -diff --git a/src/ext/threejs/threejs_template.html b/src/ext/threejs/threejs_template.html -index 0243bc1..48e8268 100644 ---- a/src/ext/threejs/threejs_template.html -+++ b/src/ext/threejs/threejs_template.html -@@ -114,7 +114,7 @@ SAGE_SCRIPTS - scene.add( sprite ); - } - -- if ( options.axes ) scene.add( new THREE.AxisHelper( Math.min( a[0]*b[1].x, a[1]*b[1].y, a[2]*b[1].z ) ) ); -+ if ( options.axes ) scene.add( new THREE.AxesHelper( Math.min( a[0]*b[1].x, a[1]*b[1].y, a[2]*b[1].z ) ) ); - - var camera = new THREE.PerspectiveCamera( 45, window.innerWidth / window.innerHeight, 0.1, 1000 ); - camera.up.set( 0, 0, 1 ); -@@ -177,7 +177,11 @@ SAGE_SCRIPTS - transparent: transparent, opacity: json.opacity, - alphaTest: .1 } ); - -- var c = geometry.center().multiplyScalar( -1 ); -+ var c = new THREE.Vector3(); -+ geometry.computeBoundingBox(); -+ geometry.boundingBox.getCenter( c ); -+ geometry.translate( -c.x, -c.y, -c.z ); -+ - var mesh = new THREE.Points( geometry, material ); - mesh.position.set( c.x, c.y, c.z ); - scene.add( mesh ); -@@ -199,7 +203,11 @@ SAGE_SCRIPTS - var material = new THREE.LineBasicMaterial( { color: json.color, linewidth: json.linewidth, - transparent: transparent, opacity: json.opacity } ); - -- var c = geometry.center().multiplyScalar( -1 ); -+ var c = new THREE.Vector3(); -+ geometry.computeBoundingBox(); -+ geometry.boundingBox.getCenter( c ); -+ geometry.translate( -c.x, -c.y, -c.z ); -+ - var mesh = new THREE.LineSegments( geometry, material ); - mesh.position.set( c.x, c.y, c.z ); - scene.add( mesh ); -@@ -235,7 +243,11 @@ SAGE_SCRIPTS - transparent: transparent, opacity: json.opacity, - shininess: 20 } ); - -- var c = geometry.center().multiplyScalar( -1 ); -+ var c = new THREE.Vector3(); -+ geometry.computeBoundingBox(); -+ geometry.boundingBox.getCenter( c ); -+ geometry.translate( -c.x, -c.y, -c.z ); -+ - var mesh = new THREE.Mesh( geometry, material ); - mesh.position.set( c.x, c.y, c.z ); - scene.add( mesh ); Modified: sagemath-threejs.patch =================================================================== --- sagemath-threejs.patch 2019-06-27 03:36:32 UTC (rev 484663) +++ sagemath-threejs.patch 2019-06-27 05:59:51 UTC (rev 484664) @@ -7,5 +7,5 @@ - version = installed_packages()['threejs'].split('.')[0] + version = 'r100' return """ - <script src="https://cdn.rawgit.com/mrdoob/three.js/{0}/build/three.min.js"></script> - <script src="https://cdn.rawgit.com/mrdoob/three.js/{0}/examples/js/controls/OrbitControls.js"></script> + <script src="https://cdn.jsdelivr.net/gh/mrdoob/three.js@{0}/build/three.min.js"></script> + <script src="https://cdn.jsdelivr.net/gh/mrdoob/three.js@{0}/examples/js/controls/OrbitControls.js"></script> Modified: test-optional.patch =================================================================== --- test-optional.patch 2019-06-27 03:36:32 UTC (rev 484663) +++ test-optional.patch 2019-06-27 05:59:51 UTC (rev 484664) @@ -1,6 +1,6 @@ --- src/sage/doctest/control.py.orig 2016-10-20 19:39:53.714618246 +0200 +++ src/sage/doctest/control.py 2016-10-20 19:40:15.158049920 +0200 -@@ -347,22 +347,6 @@ +@@ -347,17 +347,6 @@ # Special case to run all optional tests options.optional = True else: @@ -15,11 +15,6 @@ - if pkg['installed_version'] == pkg['remote_version']: - options.optional.add(pkg['name']) - -- # Check that all tags are valid -- for o in options.optional: -- if not optionaltag_regex.search(o): -- raise ValueError('invalid optional tag {!r}'.format(o)) -- - options.optional |= auto_optional_tags - - self.options = options + # Check that all tags are valid + for o in options.optional: + if not optionaltag_regex.search(o):
