Version 9.7

Drop upstreamed patches: -infinite-recursion, -use-after-free, -sphinx
This commit is contained in:
Jerry James 2023-01-17 08:43:14 -07:00
parent fed038c815
commit bf7a318833
17 changed files with 532 additions and 1033 deletions

View file

@ -1,13 +1,13 @@
diff -up src/sage/env.py.orig src/sage/env.py diff -up src/sage/env.py.orig src/sage/env.py
--- src/sage/env.py.orig 2022-12-19 15:39:47.797902092 -0700 --- src/sage/env.py.orig 2023-01-15 17:04:08.814627154 -0700
+++ src/sage/env.py 2022-12-19 15:41:27.291049166 -0700 +++ src/sage/env.py 2023-01-15 17:17:20.339009783 -0700
@@ -166,15 +166,15 @@ SAGE_DATE = var("SAGE_DATE", version.dat @@ -166,15 +166,15 @@ SAGE_DATE = var("SAGE_DATE", version.dat
SAGE_VERSION_BANNER = var("SAGE_VERSION_BANNER", version.banner) SAGE_VERSION_BANNER = var("SAGE_VERSION_BANNER", version.banner)
# virtual environment where sagelib is installed # virtual environment where sagelib is installed
-SAGE_VENV = var("SAGE_VENV", os.path.abspath(sys.prefix)) -SAGE_VENV = var("SAGE_VENV", os.path.abspath(sys.prefix))
+SAGE_VENV = var("SAGE_VENV", "@@SAGE_LOCAL@@") +SAGE_VENV = var("SAGE_VENV", "@@SAGE_LOCAL@@")
SAGE_LIB = var("SAGE_LIB", os.path.dirname(os.path.dirname(sage.__file__))) SAGE_LIB = var("SAGE_LIB", os.path.dirname(os.path.dirname(__file__)))
-SAGE_EXTCODE = var("SAGE_EXTCODE", join(SAGE_LIB, "sage", "ext_data")) -SAGE_EXTCODE = var("SAGE_EXTCODE", join(SAGE_LIB, "sage", "ext_data"))
+SAGE_EXTCODE = var("SAGE_EXTCODE", join("/usr", "share", "sagemath", "etc")) +SAGE_EXTCODE = var("SAGE_EXTCODE", join("/usr", "share", "sagemath", "etc"))
SAGE_VENV_SPKG_INST = var("SAGE_VENV_SPKG_INST", join(SAGE_VENV, "var", "lib", "sage", "installed")) SAGE_VENV_SPKG_INST = var("SAGE_VENV_SPKG_INST", join(SAGE_VENV, "var", "lib", "sage", "installed"))

File diff suppressed because it is too large Load diff

View file

@ -1,39 +1,39 @@
diff -up configure.orig configure diff -up configure.orig configure
--- configure.orig 2022-01-30 06:43:09.000000000 -0700 --- configure.orig 2022-09-19 16:39:46.000000000 -0600
+++ configure 2022-03-04 16:30:36.953830625 -0700 +++ configure 2023-01-15 19:47:16.551480424 -0700
@@ -16226,12 +16226,12 @@ if test -n "$OPENBLAS_CFLAGS"; then @@ -17604,12 +17604,12 @@ if test -n "$OPENBLAS_CFLAGS"; then
pkg_cv_OPENBLAS_CFLAGS="$OPENBLAS_CFLAGS" pkg_cv_OPENBLAS_CFLAGS="$OPENBLAS_CFLAGS"
elif test -n "$PKG_CONFIG"; then elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \ if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openblas >= 0.2.20\""; } >&5 - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openblas >= 0.2.20\""; } >&5
- ($PKG_CONFIG --exists --print-errors "openblas >= 0.2.20") 2>&5 - ($PKG_CONFIG --exists --print-errors "openblas >= 0.2.20") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"flexiblas >= 3.0.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"flexiblas >= 3.0.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "flexiblas >= 3.0.0") 2>&5 + ($PKG_CONFIG --exists --print-errors "flexiblas >= 3.0.0") 2>&5
ac_status=$? ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then test $ac_status = 0; }; then
- pkg_cv_OPENBLAS_CFLAGS=`$PKG_CONFIG --cflags "openblas >= 0.2.20" 2>/dev/null` - pkg_cv_OPENBLAS_CFLAGS=`$PKG_CONFIG --cflags "openblas >= 0.2.20" 2>/dev/null`
+ pkg_cv_OPENBLAS_CFLAGS=`$PKG_CONFIG --cflags "flexiblas >= 3.0.0" 2>/dev/null` + pkg_cv_OPENBLAS_CFLAGS=`$PKG_CONFIG --cflags "flexiblas >= 3.0.0" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes test "x$?" != "x0" && pkg_failed=yes
else else
pkg_failed=yes pkg_failed=yes
@@ -16243,12 +16243,12 @@ if test -n "$OPENBLAS_LIBS"; then @@ -17621,12 +17621,12 @@ if test -n "$OPENBLAS_LIBS"; then
pkg_cv_OPENBLAS_LIBS="$OPENBLAS_LIBS" pkg_cv_OPENBLAS_LIBS="$OPENBLAS_LIBS"
elif test -n "$PKG_CONFIG"; then elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \ if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openblas >= 0.2.20\""; } >&5 - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openblas >= 0.2.20\""; } >&5
- ($PKG_CONFIG --exists --print-errors "openblas >= 0.2.20") 2>&5 - ($PKG_CONFIG --exists --print-errors "openblas >= 0.2.20") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"flexiblas >= 3.0.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"flexiblas >= 3.0.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "flexiblas >= 3.0.0") 2>&5 + ($PKG_CONFIG --exists --print-errors "flexiblas >= 3.0.0") 2>&5
ac_status=$? ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then test $ac_status = 0; }; then
- pkg_cv_OPENBLAS_LIBS=`$PKG_CONFIG --libs "openblas >= 0.2.20" 2>/dev/null` - pkg_cv_OPENBLAS_LIBS=`$PKG_CONFIG --libs "openblas >= 0.2.20" 2>/dev/null`
+ pkg_cv_OPENBLAS_LIBS=`$PKG_CONFIG --libs "flexiblas >= 3.0.0" 2>/dev/null` + pkg_cv_OPENBLAS_LIBS=`$PKG_CONFIG --libs "flexiblas >= 3.0.0" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes test "x$?" != "x0" && pkg_failed=yes
else else
pkg_failed=yes pkg_failed=yes
@@ -16269,9 +16269,9 @@ else @@ -17647,9 +17647,9 @@ else
_pkg_short_errors_supported=no _pkg_short_errors_supported=no
fi fi
if test $_pkg_short_errors_supported = yes; then if test $_pkg_short_errors_supported = yes; then
@ -45,27 +45,28 @@ diff -up configure.orig configure
fi fi
# Put the nasty error message in config.log where it belongs # Put the nasty error message in config.log where it belongs
echo "$OPENBLAS_PKG_ERRORS" >&5 echo "$OPENBLAS_PKG_ERRORS" >&5
@@ -16299,16 +16299,16 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ @@ -17673,17 +17673,17 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
#ifdef __cplusplus /* end confdefs.h. */
extern "C"
#endif namespace conftest {
-char openblas_get_config (); - extern "C" int openblas_get_config ();
+char flexiblas_get_version (); + extern "C" int flexiblas_get_version ();
}
int int
main () main (void)
{ {
-return openblas_get_config (); -return conftest::openblas_get_config ();
+return flexiblas_get_version (); +return conftest::flexiblas_get_version ();
; ;
return 0; return 0;
} }
_ACEOF _ACEOF
-for ac_lib in '' openblas cblas blas; do -for ac_lib in '' openblas cblas blas
+for ac_lib in '' flexiblas cblas blas; do +for ac_lib in '' flexiblas cblas blas
do
if test -z "$ac_lib"; then if test -z "$ac_lib"; then
ac_res="none required" ac_res="none required"
else @@ -17740,22 +17740,20 @@ else $as_nop
@@ -16358,22 +16358,22 @@ else
/* end confdefs.h. */ /* end confdefs.h. */
#include <stdio.h> #include <stdio.h>
@ -73,102 +74,7 @@ diff -up configure.orig configure
+ void flexiblas_get_version(void); + void flexiblas_get_version(void);
int version[3]; int version[3];
int int
main () main (void)
{
version[0] = version[1] = version[2] = 0;
/*printf("%s", openblas_get_config());*/
- if (sscanf(openblas_get_config(), "OpenBLAS %d.%d.%d",
- version, version+1, version+2) < 1)
- return 1;
+ flexiblas_get_version(&version[0], &version[1], &version[2]);
+
+
if ( 10000 * version[0]
+ 100 * version[1]
+ version[2]
- < 10000 * 0
- + 100 * 2
- + 20)
+ < 10000 * 3
+ + 100 * 0
+ + 0)
return 1;
;
return 0;
@@ -16426,7 +16426,7 @@ return cblas_dgemm ();
return 0;
}
_ACEOF
-for ac_lib in '' openblas cblas blas; do
+for ac_lib in '' flexiblas cblas blas; do
if test -z "$ac_lib"; then
ac_res="none required"
else
@@ -16490,7 +16490,7 @@ return dgeqrf ();
return 0;
}
_ACEOF
-for ac_lib in '' openblas lapack; do
+for ac_lib in '' flexiblas lapack; do
if test -z "$ac_lib"; then
ac_res="none required"
else
@@ -16554,7 +16554,7 @@ return dgeqrf_ ();
return 0;
}
_ACEOF
-for ac_lib in '' openblas lapack; do
+for ac_lib in '' flexiblas lapack; do
if test -z "$ac_lib"; then
ac_res="none required"
else
@@ -16618,7 +16618,7 @@ return DGEQRF ();
return 0;
}
_ACEOF
-for ac_lib in '' openblas lapack; do
+for ac_lib in '' flexiblas lapack; do
if test -z "$ac_lib"; then
ac_res="none required"
else
@@ -16682,7 +16682,7 @@ return DGEQRF_ ();
return 0;
}
_ACEOF
-for ac_lib in '' openblas lapack; do
+for ac_lib in '' flexiblas lapack; do
if test -z "$ac_lib"; then
ac_res="none required"
else
@@ -16770,16 +16770,16 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
#ifdef __cplusplus
extern "C"
#endif
-char openblas_get_config ();
+char flexiblas_get_version ();
int
main ()
{
-return openblas_get_config ();
+return flexiblas_get_version ();
;
return 0;
}
_ACEOF
-for ac_lib in '' openblas cblas blas; do
+for ac_lib in '' flexiblas cblas blas; do
if test -z "$ac_lib"; then
ac_res="none required"
else
@@ -16829,22 +16829,22 @@ else
/* end confdefs.h. */
#include <stdio.h>
- char *openblas_get_config(void);
+ void flexiblas_get_version(void);
int version[3];
int
main ()
{ {
version[0] = version[1] = version[2] = 0; version[0] = version[1] = version[2] = 0;
/*printf("%s", openblas_get_config());*/ /*printf("%s", openblas_get_config());*/
@ -176,8 +82,6 @@ diff -up configure.orig configure
- version, version+1, version+2) < 1) - version, version+1, version+2) < 1)
- return 1; - return 1;
+ flexiblas_get_version(&version[0], &version[1], &version[2]); + flexiblas_get_version(&version[0], &version[1], &version[2]);
+
+
if ( 10000 * version[0] if ( 10000 * version[0]
+ 100 * version[1] + 100 * version[1]
+ version[2] + version[2]
@ -190,80 +94,174 @@ diff -up configure.orig configure
return 1; return 1;
; ;
return 0; return 0;
@@ -16897,7 +16897,7 @@ return cblas_dgemm (); @@ -17806,7 +17804,7 @@ return conftest::cblas_dgemm ();
return 0; return 0;
} }
_ACEOF _ACEOF
-for ac_lib in '' openblas cblas blas; do -for ac_lib in '' openblas cblas blas
+for ac_lib in '' flexiblas cblas blas; do +for ac_lib in '' flexiblas cblas blas
do
if test -z "$ac_lib"; then if test -z "$ac_lib"; then
ac_res="none required" ac_res="none required"
else @@ -17873,7 +17871,7 @@ return conftest::dgeqrf ();
@@ -16961,7 +16961,7 @@ return dgeqrf ();
return 0; return 0;
} }
_ACEOF _ACEOF
-for ac_lib in '' openblas lapack; do -for ac_lib in '' openblas lapack
+for ac_lib in '' flexiblas lapack; do +for ac_lib in '' flexiblas lapack
do
if test -z "$ac_lib"; then if test -z "$ac_lib"; then
ac_res="none required" ac_res="none required"
else @@ -17940,7 +17938,7 @@ return conftest::dgeqrf_ ();
@@ -17025,7 +17025,7 @@ return dgeqrf_ ();
return 0; return 0;
} }
_ACEOF _ACEOF
-for ac_lib in '' openblas lapack; do -for ac_lib in '' openblas lapack
+for ac_lib in '' flexiblas lapack; do +for ac_lib in '' flexiblas lapack
do
if test -z "$ac_lib"; then if test -z "$ac_lib"; then
ac_res="none required" ac_res="none required"
else @@ -18007,7 +18005,7 @@ return conftest::DGEQRF ();
@@ -17089,7 +17089,7 @@ return DGEQRF ();
return 0; return 0;
} }
_ACEOF _ACEOF
-for ac_lib in '' openblas lapack; do -for ac_lib in '' openblas lapack
+for ac_lib in '' flexiblas lapack; do +for ac_lib in '' flexiblas lapack
do
if test -z "$ac_lib"; then if test -z "$ac_lib"; then
ac_res="none required" ac_res="none required"
else @@ -18074,7 +18072,7 @@ return conftest::DGEQRF_ ();
@@ -17153,7 +17153,7 @@ return DGEQRF_ ();
return 0; return 0;
} }
_ACEOF _ACEOF
-for ac_lib in '' openblas lapack; do -for ac_lib in '' openblas lapack
+for ac_lib in '' flexiblas lapack; do +for ac_lib in '' flexiblas lapack
do
if test -z "$ac_lib"; then if test -z "$ac_lib"; then
ac_res="none required" ac_res="none required"
else @@ -18165,17 +18163,17 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
@@ -17228,12 +17228,12 @@ if test -n "$OPENBLASPCDIR"; then /* end confdefs.h. */
namespace conftest {
- extern "C" int openblas_get_config ();
+ extern "C" int flexiblas_get_version ();
}
int
main (void)
{
-return conftest::openblas_get_config ();
+return conftest::flexiblas_get_version ();
;
return 0;
}
_ACEOF
-for ac_lib in '' openblas cblas blas
+for ac_lib in '' flexiblas cblas blas
do
if test -z "$ac_lib"; then
ac_res="none required"
@@ -18232,22 +18230,20 @@ else $as_nop
/* end confdefs.h. */
#include <stdio.h>
- char *openblas_get_config(void);
+ void flexiblas_get_version(void);
int version[3];
int
main (void)
{
version[0] = version[1] = version[2] = 0;
/*printf("%s", openblas_get_config());*/
- if (sscanf(openblas_get_config(), "OpenBLAS %d.%d.%d",
- version, version+1, version+2) < 1)
- return 1;
+ flexiblas_get_version(&version[0], &version[1], &version[2]);
if ( 10000 * version[0]
+ 100 * version[1]
+ version[2]
- < 10000 * 0
- + 100 * 2
- + 20)
+ < 10000 * 3
+ + 100 * 0
+ + 0)
return 1;
;
return 0;
@@ -18298,7 +18294,7 @@ return conftest::cblas_dgemm ();
return 0;
}
_ACEOF
-for ac_lib in '' openblas cblas blas
+for ac_lib in '' flexiblas cblas blas
do
if test -z "$ac_lib"; then
ac_res="none required"
@@ -18365,7 +18361,7 @@ return conftest::dgeqrf ();
return 0;
}
_ACEOF
-for ac_lib in '' openblas lapack
+for ac_lib in '' flexiblas lapack
do
if test -z "$ac_lib"; then
ac_res="none required"
@@ -18432,7 +18428,7 @@ return conftest::dgeqrf_ ();
return 0;
}
_ACEOF
-for ac_lib in '' openblas lapack
+for ac_lib in '' flexiblas lapack
do
if test -z "$ac_lib"; then
ac_res="none required"
@@ -18499,7 +18495,7 @@ return conftest::DGEQRF ();
return 0;
}
_ACEOF
-for ac_lib in '' openblas lapack
+for ac_lib in '' flexiblas lapack
do
if test -z "$ac_lib"; then
ac_res="none required"
@@ -18566,7 +18562,7 @@ return conftest::DGEQRF_ ();
return 0;
}
_ACEOF
-for ac_lib in '' openblas lapack
+for ac_lib in '' flexiblas lapack
do
if test -z "$ac_lib"; then
ac_res="none required"
@@ -18648,12 +18644,12 @@ if test -n "$OPENBLASPCDIR"; then
pkg_cv_OPENBLASPCDIR="$OPENBLASPCDIR" pkg_cv_OPENBLASPCDIR="$OPENBLASPCDIR"
elif test -n "$PKG_CONFIG"; then elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \ if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openblas\""; } >&5 - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openblas\""; } >&5
- ($PKG_CONFIG --exists --print-errors "openblas") 2>&5 - ($PKG_CONFIG --exists --print-errors "openblas") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"flexiblas\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"flexiblas\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "flexiblas") 2>&5 + ($PKG_CONFIG --exists --print-errors "flexiblas") 2>&5
ac_status=$? ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then test $ac_status = 0; }; then
- pkg_cv_OPENBLASPCDIR=`$PKG_CONFIG --variable="pcfiledir" "openblas" 2>/dev/null` - pkg_cv_OPENBLASPCDIR=`$PKG_CONFIG --variable="pcfiledir" "openblas" 2>/dev/null`
+ pkg_cv_OPENBLASPCDIR=`$PKG_CONFIG --variable="pcfiledir" "flexiblas" 2>/dev/null` + pkg_cv_OPENBLASPCDIR=`$PKG_CONFIG --variable="pcfiledir" "flexiblas" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes test "x$?" != "x0" && pkg_failed=yes
else else
pkg_failed=yes pkg_failed=yes
@@ -17448,7 +17448,7 @@ fi @@ -18876,7 +18872,7 @@ fi
if test x$sage_spkg_install_openblas != xyes; then : then :
- SAGE_OPENBLAS_PC_COMMAND="\$(LN) -sf \"$OPENBLASPCDIR/openblas.pc\" \"\$(@)\"" - SAGE_OPENBLAS_PC_COMMAND="\$(LN) -sf \"$OPENBLASPCDIR/openblas.pc\" \"\$(@)\""
+ SAGE_OPENBLAS_PC_COMMAND="\$(LN) -sf \"$OPENBLASPCDIR/flexiblas.pc\" \"\$(@)\"" + SAGE_OPENBLAS_PC_COMMAND="\$(LN) -sf \"$OPENBLASPCDIR/flexiblas.pc\" \"\$(@)\""
if test x$sage_install_blas_pc = xyes; then : if test x$sage_install_blas_pc = xyes
diff -up src/sage/env.py.orig src/sage/env.py diff -up src/sage/env.py.orig src/sage/env.py
--- src/sage/env.py.orig 2022-03-04 16:23:09.566306142 -0700 --- src/sage/env.py.orig 2023-01-15 17:21:15.296585738 -0700
+++ src/sage/env.py 2022-03-04 16:30:36.953830625 -0700 +++ src/sage/env.py 2023-01-15 17:22:34.106086752 -0700
@@ -221,7 +221,7 @@ FOURTITWO_PPI = var("FOURTITWO_PPI") @@ -222,7 +222,7 @@ FOURTITWO_PPI = var("FOURTITWO_PPI")
FOURTITWO_CIRCUITS = var("FOURTITWO_CIRCUITS") FOURTITWO_CIRCUITS = var("FOURTITWO_CIRCUITS")
FOURTITWO_GROEBNER = var("FOURTITWO_GROEBNER") FOURTITWO_GROEBNER = var("FOURTITWO_GROEBNER")
ARB_LIBRARY = var("ARB_LIBRARY", "arb") ARB_LIBRARY = var("ARB_LIBRARY", "arb")
@ -272,7 +270,7 @@ diff -up src/sage/env.py.orig src/sage/env.py
ECL_CONFIG = var("ECL_CONFIG", "ecl-config") ECL_CONFIG = var("ECL_CONFIG", "ecl-config")
NTL_INCDIR = var("NTL_INCDIR") NTL_INCDIR = var("NTL_INCDIR")
NTL_LIBDIR = var("NTL_LIBDIR") NTL_LIBDIR = var("NTL_LIBDIR")
@@ -467,7 +467,7 @@ def cython_aliases(required_modules=None @@ -478,7 +478,7 @@ def cython_aliases(required_modules=None
for lib, required in itertools.chain(((lib, True) for lib in required_modules), for lib, required in itertools.chain(((lib, True) for lib in required_modules),
((lib, False) for lib in optional_modules)): ((lib, False) for lib in optional_modules)):
var = lib.upper().replace("-", "") + "_" var = lib.upper().replace("-", "") + "_"

View file

@ -1,14 +1,6 @@
--- build/pkgs/giac/spkg-configure.m4.orig 2022-05-15 16:11:10.000000000 -0600 diff -up build/pkgs/giac/spkg-configure.m4.orig build/pkgs/giac/spkg-configure.m4
+++ build/pkgs/giac/spkg-configure.m4 2023-01-11 11:45:33.450425286 -0700 --- build/pkgs/giac/spkg-configure.m4.orig 2022-09-19 16:38:18.000000000 -0600
@@ -2,7 +2,7 @@ SAGE_SPKG_CONFIGURE([giac], [ +++ build/pkgs/giac/spkg-configure.m4 2023-01-15 19:56:31.030581488 -0700
SAGE_SPKG_DEPCHECK([pari], [
dnl giac does not seem to reveal its patchlevel
m4_pushdef([GIAC_MIN_VERSION], [1.5.0])
- m4_pushdef([GIAC_MAX_VERSION], [1.7.999])
+ m4_pushdef([GIAC_MAX_VERSION], [1.9.999])
AC_CACHE_CHECK([for giac >= ]GIAC_MIN_VERSION[, <= ]GIAC_MAX_VERSION, [ac_cv_path_GIAC], [
AC_PATH_PROGS_FEATURE_CHECK([GIAC], [giac], [
giac_version=$($ac_path_GIAC --version 2> /dev/null | tail -1)
@@ -21,7 +21,7 @@ SAGE_SPKG_CONFIGURE([giac], [ @@ -21,7 +21,7 @@ SAGE_SPKG_CONFIGURE([giac], [
AC_CHECK_HEADER([giac/giac.h], [ AC_CHECK_HEADER([giac/giac.h], [
AC_SEARCH_LIBS([ConvertUTF16toUTF8], [giac], [ AC_SEARCH_LIBS([ConvertUTF16toUTF8], [giac], [
@ -16,42 +8,24 @@
- ], [sage_spkg_install_giac=yes]) - ], [sage_spkg_install_giac=yes])
+ ], [sage_spkg_install_giac=yes], [typedef unsigned char uchar;]) + ], [sage_spkg_install_giac=yes], [typedef unsigned char uchar;])
m4_popdef([GIAC_MIN_VERSION]) m4_popdef([GIAC_MIN_VERSION])
m4_popdef([GIAC_MAX_VERSION])
]) ])
]) diff -up configure.orig configure
--- configure.orig 2022-05-15 16:12:35.000000000 -0600 --- configure.orig 2023-01-15 19:55:21.828822178 -0700
+++ configure 2023-01-11 12:07:02.062263416 -0700 +++ configure 2023-01-15 19:58:12.425759949 -0700
@@ -24488,8 +24488,8 @@ $as_echo "no" >&6; } @@ -26479,7 +26479,8 @@ printf "%s\n" "$ac_cv_path_GIAC" >&6; }
then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for giac >= 1.5.0, <= 1.7.999" >&5
-$as_echo_n "checking for giac >= 1.5.0, <= 1.7.999... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for giac >= 1.5.0, <= 1.9.999" >&5
+$as_echo_n "checking for giac >= 1.5.0, <= 1.9.999... " >&6; }
if ${ac_cv_path_GIAC+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -24562,7 +24562,7 @@ x$ax_compare_version_B" | sed 's/^ *//'
-e 's/[^0-9]//g'`
- ax_compare_version_B=`echo "1.7.999" | sed -e 's/\([0-9]*\)/Z\1Z/g' \
+ ax_compare_version_B=`echo "1.9.999" | sed -e 's/\([0-9]*\)/Z\1Z/g' \
-e 's/Z\([0-9]\)Z/Z0\1Z/g' \
-e 's/Z\([0-9][0-9]\)Z/Z0\1Z/g' \
-e 's/Z\([0-9][0-9][0-9]\)Z/Z0\1Z/g' \
@@ -24606,7 +24606,8 @@ $as_echo "$ac_cv_path_GIAC" >&6; }
if test -z "$ac_cv_path_GIAC"; then :
sage_spkg_install_giac=yes sage_spkg_install_giac=yes
fi fi
- ac_fn_cxx_check_header_mongrel "$LINENO" "giac/giac.h" "ac_cv_header_giac_giac_h" "$ac_includes_default" - ac_fn_cxx_check_header_compile "$LINENO" "giac/giac.h" "ac_cv_header_giac_giac_h" "$ac_includes_default"
+ ac_fn_cxx_check_header_mongrel "$LINENO" "giac/giac.h" "ac_cv_header_giac_giac_h" "typedef unsigned char uchar; + ac_fn_cxx_check_header_compile "$LINENO" "giac/giac.h" "ac_cv_header_giac_giac_h" "typedef unsigned char uchar;
+$ac_includes_default" +$ac_includes_default"
if test "x$ac_cv_header_giac_giac_h" = xyes; then : if test "x$ac_cv_header_giac_giac_h" = xyes
then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing ConvertUTF16toUTF8" >&5 diff -up src/sage/libs/giac/giac.pxd.orig src/sage/libs/giac/giac.pxd
--- src/sage/libs/giac/giac.pxd.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/libs/giac/giac.pxd.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/libs/giac/giac.pxd 2023-01-11 13:45:10.696009927 -0700 +++ src/sage/libs/giac/giac.pxd 2023-01-15 19:55:21.830822142 -0700
@@ -12,6 +12,11 @@ @@ -12,6 +12,11 @@
from sage.libs.gmp.mpz cimport mpz_t, mpz_set from sage.libs.gmp.mpz cimport mpz_t, mpz_set
from libcpp.string cimport string from libcpp.string cimport string
@ -64,8 +38,9 @@
cdef extern from "giac/giac.h" namespace "giac": cdef extern from "giac/giac.h" namespace "giac":
cdef cppclass context: cdef cppclass context:
context() context()
--- src/sage/libs/giac/misc.h.orig 2022-05-15 16:11:11.000000000 -0600 diff -up src/sage/libs/giac/misc.h.orig src/sage/libs/giac/misc.h
+++ src/sage/libs/giac/misc.h 2023-01-11 11:13:01.163906686 -0700 --- src/sage/libs/giac/misc.h.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/libs/giac/misc.h 2023-01-15 19:55:21.830822142 -0700
@@ -1,5 +1,6 @@ @@ -1,5 +1,6 @@
#ifndef GIACPYMISC_H #ifndef GIACPYMISC_H
#define GIACPYMISC_H #define GIACPYMISC_H
@ -73,8 +48,9 @@
#include <giac/giac.h> #include <giac/giac.h>
#include <fstream> #include <fstream>
--- src/sage/symbolic/ginac/mpoly-giac.cpp.orig 2022-05-15 16:11:11.000000000 -0600 diff -up src/sage/symbolic/ginac/mpoly-giac.cpp.orig src/sage/symbolic/ginac/mpoly-giac.cpp
+++ src/sage/symbolic/ginac/mpoly-giac.cpp 2023-01-11 11:13:57.739878881 -0700 --- src/sage/symbolic/ginac/mpoly-giac.cpp.orig 2022-09-19 16:38:19.000000000 -0600
+++ src/sage/symbolic/ginac/mpoly-giac.cpp 2023-01-15 19:55:21.831822125 -0700
@@ -44,6 +44,7 @@ @@ -44,6 +44,7 @@
#include "function.h" #include "function.h"
#include "utils.h" #include "utils.h"
@ -83,9 +59,10 @@
#include <giac/global.h> #include <giac/global.h>
#include <giac/gausspol.h> #include <giac/gausspol.h>
--- src/sage/symbolic/ginac/numeric.cpp.orig 2022-05-15 16:11:11.000000000 -0600 diff -up src/sage/symbolic/ginac/numeric.cpp.orig src/sage/symbolic/ginac/numeric.cpp
+++ src/sage/symbolic/ginac/numeric.cpp 2023-01-11 11:14:43.876040741 -0700 --- src/sage/symbolic/ginac/numeric.cpp.orig 2023-01-15 19:52:42.820659135 -0700
@@ -78,6 +78,7 @@ +++ src/sage/symbolic/ginac/numeric.cpp 2023-01-15 19:55:21.831822125 -0700
@@ -77,6 +77,7 @@
#undef _POSIX_C_SOURCE #undef _POSIX_C_SOURCE
#undef _XOPEN_SOURCE #undef _XOPEN_SOURCE

View file

@ -1,22 +0,0 @@
Fix this warning:
sage/matrix/matrix_rational_dense.cpp: In function __pyx_f_4sage_4libs_3gmp_9randomize_mpq_randomize_entry_recip_uniform_nonzero(__mpq_struct*):
sage/matrix/matrix_rational_dense.cpp:28763:27: warning: infinite recursion detected [-Winfinite-recursion]
28763 | static CYTHON_INLINE void __pyx_f_4sage_4libs_3gmp_9randomize_mpq_randomize_entry_recip_uniform_nonzero(__mpq_struct *__pyx_v_x) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sage/matrix/matrix_rational_dense.cpp:28775:80: note: recursive call
28775 | __pyx_f_4sage_4libs_3gmp_9randomize_mpq_randomize_entry_recip_uniform_nonzero(__pyx_v_x);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
diff -up src/sage/libs/gmp/randomize.pxd.orig src/sage/libs/gmp/randomize.pxd
--- src/sage/libs/gmp/randomize.pxd.orig 2022-01-30 06:41:50.000000000 -0700
+++ src/sage/libs/gmp/randomize.pxd 2022-03-06 12:36:38.591777518 -0700
@@ -51,6 +51,6 @@ cdef inline void mpq_randomize_entry_rec
mpq_canonicalize(x)
cdef inline void mpq_randomize_entry_recip_uniform_nonzero(mpq_t x):
- mpq_randomize_entry_recip_uniform_nonzero(x)
+ mpq_randomize_entry_recip_uniform(x)
while mpq_sgn(x) == 0:
- mpq_randomize_entry_recip_uniform_nonzero(x)
+ mpq_randomize_entry_recip_uniform(x)

View file

@ -1,7 +1,7 @@
diff -up src/sage/docs/conf.py.orig src/sage/docs/conf.py diff -up src/sage_docbuild/conf.py.orig src/sage_docbuild/conf.py
--- src/sage/docs/conf.py.orig 2020-10-24 11:37:59.000000000 -0600 --- src/sage_docbuild/conf.py.orig 2022-09-19 16:38:19.000000000 -0600
+++ src/sage/docs/conf.py 2020-10-30 16:41:06.481017695 -0600 +++ src/sage_docbuild/conf.py 2023-01-15 19:50:03.796496416 -0700
@@ -189,9 +189,8 @@ def set_intersphinx_mappings(app, config @@ -209,9 +209,8 @@ def set_intersphinx_mappings(app, config
app.config.intersphinx_mapping = { app.config.intersphinx_mapping = {
'python': ('https://docs.python.org/', 'python': ('https://docs.python.org/',

View file

@ -1,16 +1,16 @@
diff -up src/sage/interfaces/jmoldata.py.orig src/sage/interfaces/jmoldata.py diff -up src/sage/interfaces/jmoldata.py.orig src/sage/interfaces/jmoldata.py
--- src/sage/interfaces/jmoldata.py.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/interfaces/jmoldata.py.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/interfaces/jmoldata.py 2022-07-06 11:03:43.155375965 -0600 +++ src/sage/interfaces/jmoldata.py 2023-01-15 17:05:52.942389170 -0700
@@ -148,8 +148,6 @@ class JmolData(SageObject): @@ -153,8 +153,6 @@ class JmolData(SageObject):
sage: print(os.path.exists(testfile)) # optional -- java
True True
sage: archive.close()
""" """
- # Set up paths, file names and scripts - # Set up paths, file names and scripts
- jmolpath = os.path.join(JMOL_DIR, "JmolData.jar") - jmolpath = os.path.join(JMOL_DIR, "JmolData.jar")
target_native = targetfile target_native = targetfile
if sys.platform == 'cygwin': if sys.platform == 'cygwin':
@@ -171,12 +169,14 @@ class JmolData(SageObject): @@ -176,12 +174,14 @@ class JmolData(SageObject):
with open(scratchout, 'w') as jout: with open(scratchout, 'w') as jout:
# Now call the java application and write the file. # Now call the java application and write the file.
env = dict(os.environ) env = dict(os.environ)

View file

@ -1,6 +1,6 @@
diff -up src/doc/en/thematic_tutorials/lie/weyl_groups.rst.orig src/doc/en/thematic_tutorials/lie/weyl_groups.rst diff -up src/doc/en/thematic_tutorials/lie/weyl_groups.rst.orig src/doc/en/thematic_tutorials/lie/weyl_groups.rst
--- src/doc/en/thematic_tutorials/lie/weyl_groups.rst.orig 2022-05-15 16:11:11.000000000 -0600 --- src/doc/en/thematic_tutorials/lie/weyl_groups.rst.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/doc/en/thematic_tutorials/lie/weyl_groups.rst 2022-09-14 15:23:59.397522485 -0600 +++ src/doc/en/thematic_tutorials/lie/weyl_groups.rst 2023-01-15 17:13:38.581179558 -0700
@@ -139,12 +139,12 @@ string, which you can print:: @@ -139,12 +139,12 @@ string, which you can print::
X.1 1 1 1 1 1 1 1 1 1 1 1 1 1 X.1 1 1 1 1 1 1 1 1 1 1 1 1 1
X.2 1 -1 1 1 -1 1 1 -1 -1 -1 1 1 1 X.2 1 -1 1 1 -1 1 1 -1 -1 -1 1 1 1
@ -20,22 +20,10 @@ diff -up src/doc/en/thematic_tutorials/lie/weyl_groups.rst.orig src/doc/en/thema
X.10 4 -2 . -1 . . . 2 . . 1 . -4 X.10 4 -2 . -1 . . . 2 . . 1 . -4
X.11 4 2 . -1 . . . -2 . . 1 . -4 X.11 4 2 . -1 . . . -2 . . 1 . -4
X.12 6 . -2 . . -2 -2 . . . . 2 6 X.12 6 . -2 . . -2 -2 . . . . 2 6
diff -up src/sage/coding/codecan/autgroup_can_label.pyx.orig src/sage/coding/codecan/autgroup_can_label.pyx
--- src/sage/coding/codecan/autgroup_can_label.pyx.orig 2022-05-15 16:11:11.000000000 -0600
+++ src/sage/coding/codecan/autgroup_can_label.pyx 2022-09-14 15:25:12.653773783 -0600
@@ -76,7 +76,7 @@ columns do share the same coloring::
[[1],
[2],
[3, 5, 4],
- [6, 19, 16, 9, 21, 10, 8, 15, 14, 11, 20, 13, 12, 7, 17, 18]]
+ [6, 19, 16, 21, 9, 10, 15, 8, 20, 11, 14, 13, 7, 12, 18, 17]]
We can also restrict the group action to linear isometries::
diff -up src/sage/coding/linear_code.py.orig src/sage/coding/linear_code.py diff -up src/sage/coding/linear_code.py.orig src/sage/coding/linear_code.py
--- src/sage/coding/linear_code.py.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/coding/linear_code.py.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/coding/linear_code.py 2022-09-14 15:30:11.231797910 -0600 +++ src/sage/coding/linear_code.py 2023-01-15 17:13:38.582179539 -0700
@@ -465,7 +465,10 @@ class AbstractLinearCode(AbstractLinearC @@ -466,7 +466,10 @@ class AbstractLinearCode(AbstractLinearC
0 0
sage: C = codes.HammingCode(GF(4, 'z'), 3) sage: C = codes.HammingCode(GF(4, 'z'), 3)
sage: C.automorphism_group_gens() sage: C.automorphism_group_gens()
@ -47,7 +35,7 @@ diff -up src/sage/coding/linear_code.py.orig src/sage/coding/linear_code.py
Defn: z |--> z + 1), Defn: z |--> z + 1),
((z + 1, 1, 1, z, z + 1, z, z, z + 1, z + 1, z + 1, 1, z + 1, z, z, 1, z + 1, 1, z, z + 1, z + 1, z); (1,18,6,19,2,9,17,10,13,14,21,11,4,5,12)(3,20,7,16,8), Ring endomorphism of Finite Field in z of size 2^2 ((z + 1, 1, 1, z, z + 1, z, z, z + 1, z + 1, z + 1, 1, z + 1, z, z, 1, z + 1, 1, z, z + 1, z + 1, z); (1,18,6,19,2,9,17,10,13,14,21,11,4,5,12)(3,20,7,16,8), Ring endomorphism of Finite Field in z of size 2^2
Defn: z |--> z), Defn: z |--> z),
@@ -473,19 +476,20 @@ class AbstractLinearCode(AbstractLinearC @@ -474,19 +477,20 @@ class AbstractLinearCode(AbstractLinearC
Defn: z |--> z)], Defn: z |--> z)],
362880) 362880)
sage: C.automorphism_group_gens(equivalence="linear") sage: C.automorphism_group_gens(equivalence="linear")
@ -73,7 +61,7 @@ diff -up src/sage/coding/linear_code.py.orig src/sage/coding/linear_code.py
Defn: z |--> z), Defn: z |--> z),
((1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1); (2,13)(3,14)(4,20)(5,11)(8,18)(9,19)(10,15)(16,21), Ring endomorphism of Finite Field in z of size 2^2 ((1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1); (2,13)(3,14)(4,20)(5,11)(8,18)(9,19)(10,15)(16,21), Ring endomorphism of Finite Field in z of size 2^2
Defn: z |--> z)], Defn: z |--> z)],
@@ -691,10 +695,10 @@ class AbstractLinearCode(AbstractLinearC @@ -692,10 +696,10 @@ class AbstractLinearCode(AbstractLinearC
sage: C_iso == aut_group_can_label.get_canonical_form() sage: C_iso == aut_group_can_label.get_canonical_form()
True True
sage: aut_group_can_label.get_autom_gens() sage: aut_group_can_label.get_autom_gens()
@ -88,8 +76,8 @@ diff -up src/sage/coding/linear_code.py.orig src/sage/coding/linear_code.py
Defn: z |--> z)] Defn: z |--> z)]
""" """
diff -up src/sage/combinat/root_system/hecke_algebra_representation.py.orig src/sage/combinat/root_system/hecke_algebra_representation.py diff -up src/sage/combinat/root_system/hecke_algebra_representation.py.orig src/sage/combinat/root_system/hecke_algebra_representation.py
--- src/sage/combinat/root_system/hecke_algebra_representation.py.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/combinat/root_system/hecke_algebra_representation.py.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/combinat/root_system/hecke_algebra_representation.py 2022-09-14 15:30:46.462918766 -0600 +++ src/sage/combinat/root_system/hecke_algebra_representation.py 2023-01-15 17:13:38.583179521 -0700
@@ -355,7 +355,7 @@ class HeckeAlgebraRepresentation(WithEqu @@ -355,7 +355,7 @@ class HeckeAlgebraRepresentation(WithEqu
sage: q1, q2 = K.gens() sage: q1, q2 = K.gens()
sage: KW = W.algebra(K) sage: KW = W.algebra(K)
@ -100,8 +88,8 @@ diff -up src/sage/combinat/root_system/hecke_algebra_representation.py.orig src/
sage: T = KW.demazure_lusztig_operators(q1,q2) sage: T = KW.demazure_lusztig_operators(q1,q2)
sage: T12 = T.Tw( (1,2) ) sage: T12 = T.Tw( (1,2) )
diff -up src/sage/combinat/symmetric_group_algebra.py.orig src/sage/combinat/symmetric_group_algebra.py diff -up src/sage/combinat/symmetric_group_algebra.py.orig src/sage/combinat/symmetric_group_algebra.py
--- src/sage/combinat/symmetric_group_algebra.py.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/combinat/symmetric_group_algebra.py.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/combinat/symmetric_group_algebra.py 2022-09-14 15:35:42.552934349 -0600 +++ src/sage/combinat/symmetric_group_algebra.py 2023-01-15 17:13:38.583179521 -0700
@@ -101,7 +101,7 @@ def SymmetricGroupAlgebra(R, W, category @@ -101,7 +101,7 @@ def SymmetricGroupAlgebra(R, W, category
sage: SGA.group() sage: SGA.group()
Weyl Group of type ['A', 3] (as a matrix group acting on the ambient space) Weyl Group of type ['A', 3] (as a matrix group acting on the ambient space)
@ -112,8 +100,8 @@ diff -up src/sage/combinat/symmetric_group_algebra.py.orig src/sage/combinat/sym
The preferred way to construct the symmetric group algebra is to The preferred way to construct the symmetric group algebra is to
go through the usual ``algebra`` method:: go through the usual ``algebra`` method::
diff -up src/sage/groups/abelian_gps/abelian_group_gap.py.orig src/sage/groups/abelian_gps/abelian_group_gap.py diff -up src/sage/groups/abelian_gps/abelian_group_gap.py.orig src/sage/groups/abelian_gps/abelian_group_gap.py
--- src/sage/groups/abelian_gps/abelian_group_gap.py.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/groups/abelian_gps/abelian_group_gap.py.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/groups/abelian_gps/abelian_group_gap.py 2022-09-14 15:23:05.702338312 -0600 +++ src/sage/groups/abelian_gps/abelian_group_gap.py 2023-01-15 17:13:38.583179521 -0700
@@ -338,7 +338,7 @@ class AbelianGroup_gap(UniqueRepresentat @@ -338,7 +338,7 @@ class AbelianGroup_gap(UniqueRepresentat
if isinstance(x, AbelianGroupElement_gap): if isinstance(x, AbelianGroupElement_gap):
try: try:
@ -133,10 +121,10 @@ diff -up src/sage/groups/abelian_gps/abelian_group_gap.py.orig src/sage/groups/a
return Hom(phi) return Hom(phi)
diff -up src/sage/groups/finitely_presented.py.orig src/sage/groups/finitely_presented.py diff -up src/sage/groups/finitely_presented.py.orig src/sage/groups/finitely_presented.py
--- src/sage/groups/finitely_presented.py.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/groups/finitely_presented.py.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/groups/finitely_presented.py 2022-09-14 15:36:48.057159029 -0600 +++ src/sage/groups/finitely_presented.py 2023-01-15 17:13:38.584179501 -0700
@@ -596,9 +596,9 @@ class RewritingSystem(object): @@ -596,9 +596,9 @@ class RewritingSystem():
sage: k=G.rewriting_system() sage: k = G.rewriting_system()
sage: k.gap() sage: k.gap()
Knuth Bendix Rewriting System for Monoid( [ a, A, b, B ] ) with rules Knuth Bendix Rewriting System for Monoid( [ a, A, b, B ] ) with rules
- [ [ a^2, <identity ...> ], [ a*A, <identity ...> ], - [ [ a^2, <identity ...> ], [ a*A, <identity ...> ],
@ -149,8 +137,8 @@ diff -up src/sage/groups/finitely_presented.py.orig src/sage/groups/finitely_pre
return self._gap return self._gap
diff -up src/sage/groups/fqf_orthogonal.py.orig src/sage/groups/fqf_orthogonal.py diff -up src/sage/groups/fqf_orthogonal.py.orig src/sage/groups/fqf_orthogonal.py
--- src/sage/groups/fqf_orthogonal.py.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/groups/fqf_orthogonal.py.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/groups/fqf_orthogonal.py 2022-09-14 15:37:12.377242440 -0600 +++ src/sage/groups/fqf_orthogonal.py 2023-01-15 17:13:38.584179501 -0700
@@ -143,7 +143,7 @@ class FqfOrthogonalGroup(AbelianGroupAut @@ -143,7 +143,7 @@ class FqfOrthogonalGroup(AbelianGroupAut
[2/3 0 0] [2/3 0 0]
[ 0 2/3 0] [ 0 2/3 0]
@ -161,8 +149,8 @@ diff -up src/sage/groups/fqf_orthogonal.py.orig src/sage/groups/fqf_orthogonal.p
sage: T = TorsionQuadraticForm(q) sage: T = TorsionQuadraticForm(q)
sage: T.orthogonal_group().order() sage: T.orthogonal_group().order()
diff -up src/sage/groups/libgap_wrapper.pyx.orig src/sage/groups/libgap_wrapper.pyx diff -up src/sage/groups/libgap_wrapper.pyx.orig src/sage/groups/libgap_wrapper.pyx
--- src/sage/groups/libgap_wrapper.pyx.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/groups/libgap_wrapper.pyx.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/groups/libgap_wrapper.pyx 2022-09-14 15:37:50.457373037 -0600 +++ src/sage/groups/libgap_wrapper.pyx 2023-01-15 17:13:38.584179501 -0700
@@ -25,7 +25,7 @@ Note how we call the constructor of both @@ -25,7 +25,7 @@ Note how we call the constructor of both
its output via LibGAP:: its output via LibGAP::
@ -191,8 +179,8 @@ diff -up src/sage/groups/libgap_wrapper.pyx.orig src/sage/groups/libgap_wrapper.
(f1,) (f1,)
""" """
diff -up src/sage/groups/perm_gps/partn_ref2/refinement_generic.pyx.orig src/sage/groups/perm_gps/partn_ref2/refinement_generic.pyx diff -up src/sage/groups/perm_gps/partn_ref2/refinement_generic.pyx.orig src/sage/groups/perm_gps/partn_ref2/refinement_generic.pyx
--- src/sage/groups/perm_gps/partn_ref2/refinement_generic.pyx.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/groups/perm_gps/partn_ref2/refinement_generic.pyx.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/groups/perm_gps/partn_ref2/refinement_generic.pyx 2022-09-14 15:39:54.849811749 -0600 +++ src/sage/groups/perm_gps/partn_ref2/refinement_generic.pyx 2023-01-15 17:13:38.584179501 -0700
@@ -427,7 +427,7 @@ cdef class LabelledBranching: @@ -427,7 +427,7 @@ cdef class LabelledBranching:
sage: from sage.groups.perm_gps.partn_ref2.refinement_generic import LabelledBranching sage: from sage.groups.perm_gps.partn_ref2.refinement_generic import LabelledBranching
sage: L = LabelledBranching(3) sage: L = LabelledBranching(3)
@ -203,10 +191,10 @@ diff -up src/sage/groups/perm_gps/partn_ref2/refinement_generic.pyx.orig src/sag
sage: L.small_generating_set() sage: L.small_generating_set()
[(1,2,3)] [(1,2,3)]
diff -up src/sage/groups/perm_gps/permgroup.py.orig src/sage/groups/perm_gps/permgroup.py diff -up src/sage/groups/perm_gps/permgroup.py.orig src/sage/groups/perm_gps/permgroup.py
--- src/sage/groups/perm_gps/permgroup.py.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/groups/perm_gps/permgroup.py.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/groups/perm_gps/permgroup.py 2022-09-14 16:03:50.495931767 -0600 +++ src/sage/groups/perm_gps/permgroup.py 2023-01-15 17:13:38.585179483 -0700
@@ -875,7 +875,7 @@ class PermutationGroup_generic(FiniteGro @@ -927,7 +927,7 @@ class PermutationGroup_generic(FiniteGro
sage: f=PG._coerce_map_from_(MG) sage: f = PG._coerce_map_from_(MG)
sage: mg = MG.an_element() sage: mg = MG.an_element()
sage: p = f(mg); p sage: p = f(mg); p
- (2,33,32,23,31,55)(3,49,38,44,40,28)(4,17,59,62,58,46)(5,21,47,20,43,8)(6,53,50)(7,37,12,57,14,29)(9,41,56,34,64,10)(11,25,19)(13,61,26,51,22,15)(16,45,36)(18,27,35,48,52,54)(24,63,42)(30,39,60) - (2,33,32,23,31,55)(3,49,38,44,40,28)(4,17,59,62,58,46)(5,21,47,20,43,8)(6,53,50)(7,37,12,57,14,29)(9,41,56,34,64,10)(11,25,19)(13,61,26,51,22,15)(16,45,36)(18,27,35,48,52,54)(24,63,42)(30,39,60)
@ -214,7 +202,7 @@ diff -up src/sage/groups/perm_gps/permgroup.py.orig src/sage/groups/perm_gps/per
sage: PG(p._gap_()) == p sage: PG(p._gap_()) == p
True True
@@ -921,12 +921,12 @@ class PermutationGroup_generic(FiniteGro @@ -973,12 +973,12 @@ class PermutationGroup_generic(FiniteGro
sage: P = G.as_permutation_group(algorithm='smaller', seed=5) sage: P = G.as_permutation_group(algorithm='smaller', seed=5)
sage: P1 = G.as_permutation_group() sage: P1 = G.as_permutation_group()
sage: P == P1 sage: P == P1
@ -230,7 +218,7 @@ diff -up src/sage/groups/perm_gps/permgroup.py.orig src/sage/groups/perm_gps/per
Another check for :trac:`5583`:: Another check for :trac:`5583`::
@@ -4291,7 +4291,7 @@ class PermutationGroup_generic(FiniteGro @@ -4375,7 +4375,7 @@ class PermutationGroup_generic(FiniteGro
sage: G = PermutationGroup([[(1,2,3,4,5)],[(1,2)]]) #S_5 on [1..5] sage: G = PermutationGroup([[(1,2,3,4,5)],[(1,2)]]) #S_5 on [1..5]
sage: G.is_transitive([1,4,5]) sage: G.is_transitive([1,4,5])
@ -239,7 +227,7 @@ diff -up src/sage/groups/perm_gps/permgroup.py.orig src/sage/groups/perm_gps/per
sage: G.is_transitive([2..6]) sage: G.is_transitive([2..6])
False False
sage: G.is_transitive(G.non_fixed_points()) sage: G.is_transitive(G.non_fixed_points())
@@ -4355,7 +4355,7 @@ class PermutationGroup_generic(FiniteGro @@ -4440,7 +4440,7 @@ class PermutationGroup_generic(FiniteGro
sage: G.is_primitive([1..4]) sage: G.is_primitive([1..4])
False False
sage: G.is_primitive([1,2,3]) sage: G.is_primitive([1,2,3])
@ -249,9 +237,9 @@ diff -up src/sage/groups/perm_gps/permgroup.py.orig src/sage/groups/perm_gps/per
sage: G.is_primitive(G.non_fixed_points()) sage: G.is_primitive(G.non_fixed_points())
True True
diff -up src/sage/interfaces/gap.py.orig src/sage/interfaces/gap.py diff -up src/sage/interfaces/gap.py.orig src/sage/interfaces/gap.py
--- src/sage/interfaces/gap.py.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/interfaces/gap.py.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/interfaces/gap.py 2022-09-14 15:21:29.734019419 -0600 +++ src/sage/interfaces/gap.py 2023-01-15 17:13:38.586179464 -0700
@@ -1490,6 +1490,8 @@ def gap_reset_workspace(max_workspace_si @@ -1512,6 +1512,8 @@ def gap_reset_workspace(max_workspace_si
""" """
# Create new workspace with filename WORKSPACE # Create new workspace with filename WORKSPACE
g = Gap(use_workspace_cache=False, max_workspace_size=None) g = Gap(use_workspace_cache=False, max_workspace_size=None)
@ -261,8 +249,8 @@ diff -up src/sage/interfaces/gap.py.orig src/sage/interfaces/gap.py
from sage.tests.gap_packages import all_installed_packages from sage.tests.gap_packages import all_installed_packages
for pkg in all_installed_packages(gap=g): for pkg in all_installed_packages(gap=g):
diff -up src/sage/libs/gap/element.pxd.orig src/sage/libs/gap/element.pxd diff -up src/sage/libs/gap/element.pxd.orig src/sage/libs/gap/element.pxd
--- src/sage/libs/gap/element.pxd.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/libs/gap/element.pxd.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/libs/gap/element.pxd 2022-09-27 18:35:39.449724078 -0600 +++ src/sage/libs/gap/element.pxd 2023-01-15 17:13:38.586179464 -0700
@@ -29,9 +29,9 @@ cdef GapElement_Boolean make_GapElement_ @@ -29,9 +29,9 @@ cdef GapElement_Boolean make_GapElement_
cdef GapElement_Function make_GapElement_Function(parent, Obj obj) cdef GapElement_Function make_GapElement_Function(parent, Obj obj)
cdef GapElement_Permutation make_GapElement_Permutation(parent, Obj obj) cdef GapElement_Permutation make_GapElement_Permutation(parent, Obj obj)
@ -277,8 +265,8 @@ diff -up src/sage/libs/gap/element.pxd.orig src/sage/libs/gap/element.pxd
cdef class GapElement(RingElement): cdef class GapElement(RingElement):
diff -up src/sage/libs/gap/element.pyx.orig src/sage/libs/gap/element.pyx diff -up src/sage/libs/gap/element.pyx.orig src/sage/libs/gap/element.pyx
--- src/sage/libs/gap/element.pyx.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/libs/gap/element.pyx.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/libs/gap/element.pyx 2022-09-27 18:46:41.755240259 -0600 +++ src/sage/libs/gap/element.pyx 2023-01-15 17:13:38.586179464 -0700
@@ -120,7 +120,7 @@ cdef Obj make_gap_matrix(sage_list, gap_ @@ -120,7 +120,7 @@ cdef Obj make_gap_matrix(sage_list, gap_
return l.value return l.value
@ -477,8 +465,8 @@ diff -up src/sage/libs/gap/element.pyx.orig src/sage/libs/gap/element.pyx
if isinstance(i, tuple): if isinstance(i, tuple):
diff -up src/sage/libs/gap/gap_includes.pxd.orig src/sage/libs/gap/gap_includes.pxd diff -up src/sage/libs/gap/gap_includes.pxd.orig src/sage/libs/gap/gap_includes.pxd
--- src/sage/libs/gap/gap_includes.pxd.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/libs/gap/gap_includes.pxd.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/libs/gap/gap_includes.pxd 2022-09-14 15:19:47.996693822 -0600 +++ src/sage/libs/gap/gap_includes.pxd 2023-01-15 17:13:38.587179445 -0700
@@ -13,8 +13,8 @@ from libc.stdint cimport uintptr_t, uint @@ -13,8 +13,8 @@ from libc.stdint cimport uintptr_t, uint
cdef extern from "gap/system.h" nogil: cdef extern from "gap/system.h" nogil:
@ -609,9 +597,9 @@ diff -up src/sage/libs/gap/gap_includes.pxd.orig src/sage/libs/gap/gap_includes.
+ Obj NEW_STRING(Int len) + Obj NEW_STRING(Int len)
+ Obj MakeStringWithLen(const char *buf, size_t len) + Obj MakeStringWithLen(const char *buf, size_t len)
diff -up src/sage/libs/gap/libgap.pyx.orig src/sage/libs/gap/libgap.pyx diff -up src/sage/libs/gap/libgap.pyx.orig src/sage/libs/gap/libgap.pyx
--- src/sage/libs/gap/libgap.pyx.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/libs/gap/libgap.pyx.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/libs/gap/libgap.pyx 2022-09-14 15:43:04.473558811 -0600 +++ src/sage/libs/gap/libgap.pyx 2023-01-15 17:13:38.587179445 -0700
@@ -691,7 +691,7 @@ class Gap(Parent): @@ -695,7 +695,7 @@ class Gap(Parent):
sage: libgap.List sage: libgap.List
<Gap function "List"> <Gap function "List">
sage: libgap.GlobalRandomSource sage: libgap.GlobalRandomSource
@ -621,9 +609,9 @@ diff -up src/sage/libs/gap/libgap.pyx.orig src/sage/libs/gap/libgap.pyx
if name in dir(self.__class__): if name in dir(self.__class__):
return getattr(self.__class__, name) return getattr(self.__class__, name)
diff -up src/sage/libs/gap/util.pyx.orig src/sage/libs/gap/util.pyx diff -up src/sage/libs/gap/util.pyx.orig src/sage/libs/gap/util.pyx
--- src/sage/libs/gap/util.pyx.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/libs/gap/util.pyx.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/libs/gap/util.pyx 2022-09-14 16:00:31.367311730 -0600 +++ src/sage/libs/gap/util.pyx 2023-01-15 17:13:38.587179445 -0700
@@ -353,15 +353,9 @@ cdef Obj gap_eval(str gap_string) except @@ -362,15 +362,9 @@ cdef Obj gap_eval(str gap_string) except
GAPError: Error, Variable: 'Complex' must have a value GAPError: Error, Variable: 'Complex' must have a value
Syntax error: ; expected in stream:1 Syntax error: ; expected in stream:1
Complex Field with 53 bits of precision;; Complex Field with 53 bits of precision;;
@ -640,7 +628,7 @@ diff -up src/sage/libs/gap/util.pyx.orig src/sage/libs/gap/util.pyx
Error, Variable: 'precision' must have a value Error, Variable: 'precision' must have a value
Test that on a subsequent attempt we get the same message (no garbage was Test that on a subsequent attempt we get the same message (no garbage was
@@ -379,7 +373,7 @@ cdef Obj gap_eval(str gap_string) except @@ -388,7 +382,7 @@ cdef Obj gap_eval(str gap_string) except
""" """
initialize() initialize()
cdef Obj result cdef Obj result
@ -650,8 +638,8 @@ diff -up src/sage/libs/gap/util.pyx.orig src/sage/libs/gap/util.pyx
# Careful: We need to keep a reference to the bytes object here # Careful: We need to keep a reference to the bytes object here
# so that Cython doesn't deallocate it before GAP is done with # so that Cython doesn't deallocate it before GAP is done with
diff -up src/sage/tests/gap_packages.py.orig src/sage/tests/gap_packages.py diff -up src/sage/tests/gap_packages.py.orig src/sage/tests/gap_packages.py
--- src/sage/tests/gap_packages.py.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/tests/gap_packages.py.orig 2022-09-19 16:38:19.000000000 -0600
+++ src/sage/tests/gap_packages.py 2022-09-14 16:00:53.429380443 -0600 +++ src/sage/tests/gap_packages.py 2023-01-15 17:13:38.587179445 -0700
@@ -103,7 +103,7 @@ def all_installed_packages(ignore_dot_ga @@ -103,7 +103,7 @@ def all_installed_packages(ignore_dot_ga
sage: from sage.tests.gap_packages import all_installed_packages sage: from sage.tests.gap_packages import all_installed_packages

View file

@ -1,16 +1,16 @@
diff -up src/sage/interfaces/maxima.py.orig src/sage/interfaces/maxima.py diff -up src/sage/interfaces/maxima.py.orig src/sage/interfaces/maxima.py
--- src/sage/interfaces/maxima.py.orig 2020-10-24 11:37:59.000000000 -0600 --- src/sage/interfaces/maxima.py.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/interfaces/maxima.py 2020-10-30 13:59:17.007281872 -0600 +++ src/sage/interfaces/maxima.py 2023-01-15 17:05:26.283962150 -0700
@@ -546,7 +546,7 @@ class Maxima(MaximaAbstract, Expect): @@ -568,7 +568,7 @@ class Maxima(MaximaAbstract, Expect):
Expect.__init__(self, Expect.__init__(self,
name = 'maxima', name='maxima',
prompt = r'\(\%i[0-9]+\) ', prompt=r'\(\%i[0-9]+\) ',
- command = '{0} -p {1}'.format(MAXIMA, shlex.quote(STARTUP)), - command='{0} -p {1}'.format(MAXIMA, shlex.quote(STARTUP)),
+ command = '{0} --disable-readline -p {1}'.format(MAXIMA, shlex.quote(STARTUP)), + command='{0} --disable-readline -p {1}'.format(MAXIMA, shlex.quote(STARTUP)),
env = {'TMPDIR': str(ECL_TMP)}, script_subdirectory=script_subdirectory,
script_subdirectory = script_subdirectory, restart_on_ctrlc=False,
restart_on_ctrlc = False, verbose_start=False,
@@ -615,7 +615,8 @@ class Maxima(MaximaAbstract, Expect): @@ -636,7 +636,8 @@ class Maxima(MaximaAbstract, Expect):
# Remove limit on the max heapsize (since otherwise it defaults # Remove limit on the max heapsize (since otherwise it defaults
# to 256MB with ECL). # to 256MB with ECL).
@ -21,8 +21,8 @@ diff -up src/sage/interfaces/maxima.py.orig src/sage/interfaces/maxima.py
# set random seed # set random seed
diff -up src/sage/interfaces/sage-maxima.lisp.orig src/sage/interfaces/sage-maxima.lisp diff -up src/sage/interfaces/sage-maxima.lisp.orig src/sage/interfaces/sage-maxima.lisp
--- src/sage/interfaces/sage-maxima.lisp.orig 2020-10-24 11:37:59.000000000 -0600 --- src/sage/interfaces/sage-maxima.lisp.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/interfaces/sage-maxima.lisp 2020-10-30 13:58:16.806383103 -0600 +++ src/sage/interfaces/sage-maxima.lisp 2023-01-15 17:04:33.551095508 -0700
@@ -4,3 +4,8 @@ @@ -4,3 +4,8 @@
(setf *prompt-prefix* "<sage-display>") (setf *prompt-prefix* "<sage-display>")

View file

@ -1,6 +1,6 @@
diff -up src/sage/cpython/cython_metaclass.h.orig src/sage/cpython/cython_metaclass.h diff -up src/sage/cpython/cython_metaclass.h.orig src/sage/cpython/cython_metaclass.h
--- src/sage/cpython/cython_metaclass.h.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/cpython/cython_metaclass.h.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/cpython/cython_metaclass.h 2022-06-29 11:07:37.296150769 -0600 +++ src/sage/cpython/cython_metaclass.h 2023-01-15 19:52:42.818659170 -0700
@@ -66,7 +66,7 @@ static CYTHON_INLINE int Sage_PyType_Rea @@ -66,7 +66,7 @@ static CYTHON_INLINE int Sage_PyType_Rea
} }
@ -11,8 +11,8 @@ diff -up src/sage/cpython/cython_metaclass.h.orig src/sage/cpython/cython_metacl
} }
else else
diff -up src/sage/cpython/dict_del_by_value.pyx.orig src/sage/cpython/dict_del_by_value.pyx diff -up src/sage/cpython/dict_del_by_value.pyx.orig src/sage/cpython/dict_del_by_value.pyx
--- src/sage/cpython/dict_del_by_value.pyx.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/cpython/dict_del_by_value.pyx.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/cpython/dict_del_by_value.pyx 2022-06-30 12:06:01.148346330 -0600 +++ src/sage/cpython/dict_del_by_value.pyx 2023-01-15 19:52:42.819659153 -0700
@@ -25,7 +25,7 @@ from weakref import KeyedRef @@ -25,7 +25,7 @@ from weakref import KeyedRef
from cpython.list cimport PyList_New from cpython.list cimport PyList_New
from cpython cimport Py_XINCREF, Py_XDECREF from cpython cimport Py_XINCREF, Py_XDECREF
@ -250,8 +250,8 @@ diff -up src/sage/cpython/dict_del_by_value.pyx.orig src/sage/cpython/dict_del_b
def test_del_dictitem_by_exact_value(D, value, h): def test_del_dictitem_by_exact_value(D, value, h):
""" """
diff -up src/sage/libs/gmp/pylong.pyx.orig src/sage/libs/gmp/pylong.pyx diff -up src/sage/libs/gmp/pylong.pyx.orig src/sage/libs/gmp/pylong.pyx
--- src/sage/libs/gmp/pylong.pyx.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/libs/gmp/pylong.pyx.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/libs/gmp/pylong.pyx 2022-06-29 12:44:27.983218616 -0600 +++ src/sage/libs/gmp/pylong.pyx 2023-01-15 19:52:42.819659153 -0700
@@ -33,6 +33,7 @@ from .mpz cimport * @@ -33,6 +33,7 @@ from .mpz cimport *
cdef extern from *: cdef extern from *:
@ -274,8 +274,8 @@ diff -up src/sage/libs/gmp/pylong.pyx.orig src/sage/libs/gmp/pylong.pyx
diff -up src/sage/misc/decorators.py.orig src/sage/misc/decorators.py diff -up src/sage/misc/decorators.py.orig src/sage/misc/decorators.py
--- src/sage/misc/decorators.py.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/misc/decorators.py.orig 2022-09-19 16:38:19.000000000 -0600
+++ src/sage/misc/decorators.py 2022-06-29 14:02:56.995436952 -0600 +++ src/sage/misc/decorators.py 2023-01-15 19:52:42.819659153 -0700
@@ -31,8 +31,7 @@ from functools import (partial, update_w @@ -31,8 +31,7 @@ from functools import (partial, update_w
from copy import copy from copy import copy
@ -287,17 +287,16 @@ diff -up src/sage/misc/decorators.py.orig src/sage/misc/decorators.py
def sage_wraps(wrapped, assigned=WRAPPER_ASSIGNMENTS, updated=WRAPPER_UPDATES): def sage_wraps(wrapped, assigned=WRAPPER_ASSIGNMENTS, updated=WRAPPER_UPDATES):
diff -up src/sage/misc/sageinspect.py.orig src/sage/misc/sageinspect.py diff -up src/sage/misc/sageinspect.py.orig src/sage/misc/sageinspect.py
--- src/sage/misc/sageinspect.py.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/misc/sageinspect.py.orig 2023-01-15 17:07:04.838843913 -0700
+++ src/sage/misc/sageinspect.py 2022-06-29 14:07:56.804147321 -0600 +++ src/sage/misc/sageinspect.py 2023-01-15 19:53:47.194510597 -0700
@@ -119,6 +119,7 @@ import functools @@ -119,12 +119,15 @@ import functools
import os import os
import tokenize import tokenize
import re import re
+from collections import namedtuple +from collections import namedtuple
from sage.env import SAGE_LIB
try: try:
@@ -126,6 +127,8 @@ try: import importlib.machinery as import_machinery
except ImportError: except ImportError:
pass pass
@ -306,7 +305,7 @@ diff -up src/sage/misc/sageinspect.py.orig src/sage/misc/sageinspect.py
def is_function_or_cython_function(obj): def is_function_or_cython_function(obj):
""" """
@@ -348,7 +351,7 @@ def _extract_embedded_signature(docstrin @@ -359,7 +362,7 @@ def _extract_embedded_signature(docstrin
docstring = L[1] if len(L) > 1 else '' # Remove first line, keep the rest docstring = L[1] if len(L) > 1 else '' # Remove first line, keep the rest
def_string = "def " + name + signature + ": pass" def_string = "def " + name + signature + ": pass"
try: try:
@ -315,7 +314,7 @@ diff -up src/sage/misc/sageinspect.py.orig src/sage/misc/sageinspect.py
except SyntaxError: except SyntaxError:
docstring = os.linesep.join(L) docstring = os.linesep.join(L)
return docstring, None return docstring, None
@@ -1092,7 +1095,7 @@ def _sage_getargspec_from_ast(source): @@ -1100,7 +1103,7 @@ def _sage_getargspec_from_ast(source):
OUTPUT: OUTPUT:
@ -324,7 +323,7 @@ diff -up src/sage/misc/sageinspect.py.orig src/sage/misc/sageinspect.py
EXAMPLES:: EXAMPLES::
@@ -1124,8 +1127,7 @@ def _sage_getargspec_from_ast(source): @@ -1132,8 +1135,7 @@ def _sage_getargspec_from_ast(source):
vararg = getattr(ast_args.vararg, 'arg', None) vararg = getattr(ast_args.vararg, 'arg', None)
kwarg = getattr(ast_args.kwarg, 'arg', None) kwarg = getattr(ast_args.kwarg, 'arg', None)
@ -334,7 +333,7 @@ diff -up src/sage/misc/sageinspect.py.orig src/sage/misc/sageinspect.py
def _sage_getargspec_cython(source): def _sage_getargspec_cython(source):
@@ -1141,7 +1143,7 @@ def _sage_getargspec_cython(source): @@ -1149,7 +1151,7 @@ def _sage_getargspec_cython(source):
OUTPUT: OUTPUT:
@ -343,7 +342,7 @@ diff -up src/sage/misc/sageinspect.py.orig src/sage/misc/sageinspect.py
EXAMPLES:: EXAMPLES::
@@ -1605,11 +1607,11 @@ def sage_getargspec(obj): @@ -1659,11 +1661,11 @@ def sage_getargspec(obj):
return sage_getargspec(obj.__call__) return sage_getargspec(obj.__call__)
if isinstance(obj, (lazy_attribute, AbstractMethod)): if isinstance(obj, (lazy_attribute, AbstractMethod)):
source = sage_getsource(obj) source = sage_getsource(obj)
@ -357,7 +356,7 @@ diff -up src/sage/misc/sageinspect.py.orig src/sage/misc/sageinspect.py
except (AttributeError, TypeError): except (AttributeError, TypeError):
pass pass
# If we are lucky, the function signature is embedded in the docstring. # If we are lucky, the function signature is embedded in the docstring.
@@ -1625,7 +1627,7 @@ def sage_getargspec(obj): @@ -1679,7 +1681,7 @@ def sage_getargspec(obj):
# Note that this may give a wrong result for the constants! # Note that this may give a wrong result for the constants!
try: try:
args, varargs, varkw = inspect.getargs(obj.__code__) args, varargs, varkw = inspect.getargs(obj.__code__)
@ -366,7 +365,7 @@ diff -up src/sage/misc/sageinspect.py.orig src/sage/misc/sageinspect.py
except (TypeError, AttributeError): except (TypeError, AttributeError):
pass pass
if isclassinstance(obj): if isclassinstance(obj):
@@ -1660,7 +1662,7 @@ def sage_getargspec(obj): @@ -1714,7 +1716,7 @@ def sage_getargspec(obj):
except TypeError: # happens for Python builtins except TypeError: # happens for Python builtins
source = '' source = ''
if source: if source:
@ -375,7 +374,7 @@ diff -up src/sage/misc/sageinspect.py.orig src/sage/misc/sageinspect.py
else: else:
func_obj = obj func_obj = obj
@@ -1673,7 +1675,7 @@ def sage_getargspec(obj): @@ -1727,7 +1729,7 @@ def sage_getargspec(obj):
except TypeError: # arg is not a code object except TypeError: # arg is not a code object
# The above "hopefully" was wishful thinking: # The above "hopefully" was wishful thinking:
try: try:
@ -384,7 +383,7 @@ diff -up src/sage/misc/sageinspect.py.orig src/sage/misc/sageinspect.py
except TypeError: # This happens for Python builtins except TypeError: # This happens for Python builtins
# The best we can do is to return a generic argspec # The best we can do is to return a generic argspec
args = [] args = []
@@ -1683,7 +1685,7 @@ def sage_getargspec(obj): @@ -1737,7 +1739,7 @@ def sage_getargspec(obj):
defaults = func_obj.__defaults__ defaults = func_obj.__defaults__
except AttributeError: except AttributeError:
defaults = None defaults = None
@ -393,7 +392,7 @@ diff -up src/sage/misc/sageinspect.py.orig src/sage/misc/sageinspect.py
def formatannotation(annotation, base_module=None): def formatannotation(annotation, base_module=None):
@@ -1754,19 +1756,7 @@ def sage_formatargspec(args, varargs=Non @@ -1808,19 +1810,7 @@ def sage_formatargspec(args, varargs=Non
:func:`sage_getargspec`. Since :func:`sage_getargspec` works for :func:`sage_getargspec`. Since :func:`sage_getargspec` works for
Cython functions while Python's inspect module does not, it makes Cython functions while Python's inspect module does not, it makes
sense to keep this function for formatting instances of sense to keep this function for formatting instances of
@ -415,8 +414,8 @@ diff -up src/sage/misc/sageinspect.py.orig src/sage/misc/sageinspect.py
def formatargandannotation(arg): def formatargandannotation(arg):
result = formatarg(arg) result = formatarg(arg)
diff -up src/sage/symbolic/ginac/numeric.cpp.orig src/sage/symbolic/ginac/numeric.cpp diff -up src/sage/symbolic/ginac/numeric.cpp.orig src/sage/symbolic/ginac/numeric.cpp
--- src/sage/symbolic/ginac/numeric.cpp.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/symbolic/ginac/numeric.cpp.orig 2022-09-19 16:38:19.000000000 -0600
+++ src/sage/symbolic/ginac/numeric.cpp 2022-06-24 14:58:32.506790725 -0600 +++ src/sage/symbolic/ginac/numeric.cpp 2023-01-15 19:52:42.820659135 -0700
@@ -52,7 +52,6 @@ @@ -52,7 +52,6 @@
#define register #define register
#define PY_SSIZE_T_CLEAN #define PY_SSIZE_T_CLEAN

View file

@ -1,6 +1,6 @@
diff -up src/sage/cpython/debugimpl.c.orig src/sage/cpython/debugimpl.c diff -up src/sage/cpython/debugimpl.c.orig src/sage/cpython/debugimpl.c
--- src/sage/cpython/debugimpl.c.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/cpython/debugimpl.c.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/cpython/debugimpl.c 2022-06-01 10:53:46.037463665 -0600 +++ src/sage/cpython/debugimpl.c 2023-01-15 17:07:04.836843956 -0700
@@ -148,6 +148,7 @@ static void _type_debug(PyTypeObject* tp @@ -148,6 +148,7 @@ static void _type_debug(PyTypeObject* tp
printf(" tp_basicsize: %ld\n", (long)tp->tp_basicsize); printf(" tp_basicsize: %ld\n", (long)tp->tp_basicsize);
printf(" tp_itemsize: %ld\n", (long)tp->tp_itemsize); printf(" tp_itemsize: %ld\n", (long)tp->tp_itemsize);
@ -18,8 +18,8 @@ diff -up src/sage/cpython/debugimpl.c.orig src/sage/cpython/debugimpl.c
attr_pointer_meth(tp_call, "__call__"); attr_pointer_meth(tp_call, "__call__");
attr_pointer_meth(tp_str, "__str__"); attr_pointer_meth(tp_str, "__str__");
diff -up src/sage/cpython/debug.pyx.orig src/sage/cpython/debug.pyx diff -up src/sage/cpython/debug.pyx.orig src/sage/cpython/debug.pyx
--- src/sage/cpython/debug.pyx.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/cpython/debug.pyx.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/cpython/debug.pyx 2022-06-01 10:53:46.037463665 -0600 +++ src/sage/cpython/debug.pyx 2023-01-15 17:07:04.836843956 -0700
@@ -231,6 +231,7 @@ def type_debug(cls): @@ -231,6 +231,7 @@ def type_debug(cls):
tp_basicsize: 16 tp_basicsize: 16
tp_itemsize: 0 tp_itemsize: 0
@ -37,9 +37,9 @@ diff -up src/sage/cpython/debug.pyx.orig src/sage/cpython/debug.pyx
tp_call (__call__): NULL tp_call (__call__): NULL
tp_str (__str__): 0x7fc57d757020 tp_str (__str__): 0x7fc57d757020
diff -up src/sage/geometry/triangulation/point_configuration.py.orig src/sage/geometry/triangulation/point_configuration.py diff -up src/sage/geometry/triangulation/point_configuration.py.orig src/sage/geometry/triangulation/point_configuration.py
--- src/sage/geometry/triangulation/point_configuration.py.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/geometry/triangulation/point_configuration.py.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/geometry/triangulation/point_configuration.py 2022-06-01 10:53:46.038463669 -0600 +++ src/sage/geometry/triangulation/point_configuration.py 2023-01-15 17:07:04.837843935 -0700
@@ -618,11 +618,11 @@ class PointConfiguration(UniqueRepresent @@ -617,11 +617,11 @@ class PointConfiguration(UniqueRepresent
['{{0,1,2,4},{1,2,3,4}}'] ['{{0,1,2,4},{1,2,3,4}}']
""" """
timeout = 600 timeout = 600
@ -54,21 +54,21 @@ diff -up src/sage/geometry/triangulation/point_configuration.py.orig src/sage/ge
if verbose: if verbose:
print("#### TOPCOM input ####") print("#### TOPCOM input ####")
diff -up src/sage/interfaces/frobby.py.orig src/sage/interfaces/frobby.py diff -up src/sage/interfaces/frobby.py.orig src/sage/interfaces/frobby.py
--- src/sage/interfaces/frobby.py.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/interfaces/frobby.py.orig 2023-01-15 17:07:04.837843935 -0700
+++ src/sage/interfaces/frobby.py 2022-06-01 10:53:46.038463669 -0600 +++ src/sage/interfaces/frobby.py 2023-01-15 17:07:49.392886328 -0700
@@ -78,7 +78,7 @@ class Frobby: @@ -78,7 +78,7 @@ class Frobby:
print("Frobby command: ", repr(command)) print("Frobby command: ", repr(command))
print("Frobby input:\n", input) print("Frobby input:\n", input)
- process = Popen(command, stdin = PIPE, stdout = PIPE, stderr = PIPE) - process = Popen(command, stdin=PIPE, stdout=PIPE, stderr=PIPE)
+ process = Popen(command, stdin = PIPE, stdout = PIPE, stderr = PIPE, encoding='utf-8') + process = Popen(command, stdin=PIPE, stdout=PIPE, stderr=PIPE, encoding='utf-8')
if input: if input:
frinput = str_to_bytes(input) frinput = str_to_bytes(input)
else: else:
diff -up src/sage/interfaces/gfan.py.orig src/sage/interfaces/gfan.py diff -up src/sage/interfaces/gfan.py.orig src/sage/interfaces/gfan.py
--- src/sage/interfaces/gfan.py.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/interfaces/gfan.py.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/interfaces/gfan.py 2022-06-01 10:56:40.784198738 -0600 +++ src/sage/interfaces/gfan.py 2023-01-15 17:07:04.837843935 -0700
@@ -109,7 +109,7 @@ class Gfan(object): @@ -109,7 +109,7 @@ class Gfan():
print("gfan input:\n%s" % input) print("gfan input:\n%s" % input)
gfan_processes = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE, gfan_processes = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE,
@ -78,27 +78,27 @@ diff -up src/sage/interfaces/gfan.py.orig src/sage/interfaces/gfan.py
# sometimes, gfan outputs stuff to stderr even though everything is fine # sometimes, gfan outputs stuff to stderr even though everything is fine
diff -up src/sage/interfaces/latte.py.orig src/sage/interfaces/latte.py diff -up src/sage/interfaces/latte.py.orig src/sage/interfaces/latte.py
--- src/sage/interfaces/latte.py.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/interfaces/latte.py.orig 2023-01-15 17:07:04.837843935 -0700
+++ src/sage/interfaces/latte.py 2022-06-01 10:53:46.039463674 -0600 +++ src/sage/interfaces/latte.py 2023-01-15 17:09:27.127907740 -0700
@@ -159,6 +159,7 @@ def count(arg, ehrhart_polynomial=False, @@ -161,6 +161,7 @@ def count(arg, ehrhart_polynomial=False,
latte_proc = Popen(args, latte_proc = Popen(args,
stdin=PIPE, stdout=PIPE, stdin=PIPE, stdout=PIPE,
stderr=(None if verbose else PIPE), stderr=(None if verbose else PIPE),
+ encoding='utf-8', + encoding='utf-8',
cwd=str(SAGE_TMP)) cwd=tempd.name)
ans, err = latte_proc.communicate(arg) ans, err = latte_proc.communicate(arg)
@@ -379,6 +380,7 @@ def integrate(arg, polynomial=None, algo @@ -393,6 +394,7 @@ def integrate(arg, polynomial=None, algo
latte_proc = Popen(args, latte_proc = Popen(args,
stdin=PIPE, stdout=PIPE, stdin=PIPE, stdout=PIPE,
stderr=(None if verbose else PIPE), stderr=(None if verbose else PIPE),
+ encoding='utf-8', + encoding='utf-8',
cwd=str(SAGE_TMP)) cwd=tempd.name)
ans, err = latte_proc.communicate(arg) ans, err = latte_proc.communicate(arg)
diff -up src/sage/interfaces/sagespawn.pyx.orig src/sage/interfaces/sagespawn.pyx diff -up src/sage/interfaces/sagespawn.pyx.orig src/sage/interfaces/sagespawn.pyx
--- src/sage/interfaces/sagespawn.pyx.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/interfaces/sagespawn.pyx.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/interfaces/sagespawn.pyx 2022-06-01 10:53:46.039463674 -0600 +++ src/sage/interfaces/sagespawn.pyx 2023-01-15 17:07:04.838843913 -0700
@@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
""" """
Sage wrapper around pexpect's ``spawn`` class and Sage wrapper around pexpect's ``spawn`` class and
@ -147,8 +147,8 @@ diff -up src/sage/interfaces/sagespawn.pyx.orig src/sage/interfaces/sagespawn.py
pass pass
self.fileobj.close() self.fileobj.close()
diff -up src/sage/libs/coxeter3/coxeter.pyx.orig src/sage/libs/coxeter3/coxeter.pyx diff -up src/sage/libs/coxeter3/coxeter.pyx.orig src/sage/libs/coxeter3/coxeter.pyx
--- src/sage/libs/coxeter3/coxeter.pyx.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/libs/coxeter3/coxeter.pyx.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/libs/coxeter3/coxeter.pyx 2022-06-01 10:53:46.039463674 -0600 +++ src/sage/libs/coxeter3/coxeter.pyx 2023-01-15 17:07:04.838843913 -0700
@@ -37,7 +37,7 @@ cdef class String: @@ -37,7 +37,7 @@ cdef class String:
EXAMPLES:: EXAMPLES::
@ -282,9 +282,9 @@ diff -up src/sage/libs/coxeter3/coxeter.pyx.orig src/sage/libs/coxeter3/coxeter.
if rank == 0: if rank == 0:
raise NotImplementedError("Coxeter group of type ['A',0] using Coxeter 3 not yet implemented") raise NotImplementedError("Coxeter group of type ['A',0] using Coxeter 3 not yet implemented")
diff -up src/sage/misc/sageinspect.py.orig src/sage/misc/sageinspect.py diff -up src/sage/misc/sageinspect.py.orig src/sage/misc/sageinspect.py
--- src/sage/misc/sageinspect.py.orig 2022-06-01 10:29:22.938310306 -0600 --- src/sage/misc/sageinspect.py.orig 2023-01-15 16:40:43.609846146 -0700
+++ src/sage/misc/sageinspect.py 2022-06-01 10:53:46.040463678 -0600 +++ src/sage/misc/sageinspect.py 2023-01-15 17:07:04.838843913 -0700
@@ -505,12 +505,9 @@ class SageArgSpecVisitor(ast.NodeVisitor @@ -516,12 +516,9 @@ class SageArgSpecVisitor(ast.NodeVisitor
""" """
return node.id return node.id
@ -300,7 +300,7 @@ diff -up src/sage/misc/sageinspect.py.orig src/sage/misc/sageinspect.py
INPUT: INPUT:
@@ -524,7 +521,7 @@ class SageArgSpecVisitor(ast.NodeVisitor @@ -535,7 +532,7 @@ class SageArgSpecVisitor(ast.NodeVisitor
sage: import ast, sage.misc.sageinspect as sms sage: import ast, sage.misc.sageinspect as sms
sage: visitor = sms.SageArgSpecVisitor() sage: visitor = sms.SageArgSpecVisitor()
@ -310,8 +310,8 @@ diff -up src/sage/misc/sageinspect.py.orig src/sage/misc/sageinspect.py
[True, False, None] [True, False, None]
sage: [type(vis(n)) for n in ['True', 'False', 'None']] sage: [type(vis(n)) for n in ['True', 'False', 'None']]
diff -up src/sage/plot/plot3d/plot3d.py.orig src/sage/plot/plot3d/plot3d.py diff -up src/sage/plot/plot3d/plot3d.py.orig src/sage/plot/plot3d/plot3d.py
--- src/sage/plot/plot3d/plot3d.py.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/plot/plot3d/plot3d.py.orig 2022-09-19 16:38:19.000000000 -0600
+++ src/sage/plot/plot3d/plot3d.py 2022-06-01 10:53:46.040463678 -0600 +++ src/sage/plot/plot3d/plot3d.py 2023-01-15 17:07:04.839843892 -0700
@@ -219,6 +219,7 @@ from .shapes import arrow3d @@ -219,6 +219,7 @@ from .shapes import arrow3d
from .base import Graphics3dGroup from .base import Graphics3dGroup
from sage.plot.colors import rainbow from sage.plot.colors import rainbow
@ -320,7 +320,7 @@ diff -up src/sage/plot/plot3d/plot3d.py.orig src/sage/plot/plot3d/plot3d.py
from sage.functions.trig import cos, sin from sage.functions.trig import cos, sin
from sage.misc.sageinspect import sage_getargspec, is_function_or_cython_function from sage.misc.sageinspect import sage_getargspec, is_function_or_cython_function
@@ -255,7 +256,7 @@ class _Coordinates(object): @@ -255,7 +256,7 @@ class _Coordinates():
sage: arb((x+z,y*z,z), z, (x,y)) sage: arb((x+z,y*z,z), z, (x,y))
Arbitrary Coordinates coordinate transform (z in terms of x, y) Arbitrary Coordinates coordinate transform (z in terms of x, y)
""" """
@ -329,22 +329,10 @@ diff -up src/sage/plot/plot3d/plot3d.py.orig src/sage/plot/plot3d/plot3d.py
if set(all_vars) != set(indep_vars + [dep_var]): if set(all_vars) != set(indep_vars + [dep_var]):
raise ValueError('variables were specified incorrectly for this coordinate system; incorrect variables were %s'%list(set(all_vars).symmetric_difference(set(indep_vars+[dep_var])))) raise ValueError('variables were specified incorrectly for this coordinate system; incorrect variables were %s'%list(set(all_vars).symmetric_difference(set(indep_vars+[dep_var]))))
self.dep_var = dep_var self.dep_var = dep_var
diff -up src/sage/rings/integer.pyx.orig src/sage/rings/integer.pyx
--- src/sage/rings/integer.pyx.orig 2022-05-15 16:11:11.000000000 -0600
+++ src/sage/rings/integer.pyx 2022-06-01 10:53:46.041463682 -0600
@@ -7069,7 +7069,7 @@ cdef int mpz_set_str_python(mpz_ptr z, c
x += 1 # Strip spaces
# Disallow a sign here
- if x[0] == '-' or x[0] == '+':
+ if x[0] == c'-' or x[0] == c'+':
x = "" # Force an error below
assert base >= 2
diff -up src/sage/rings/polynomial/pbori/pbori.pyx.orig src/sage/rings/polynomial/pbori/pbori.pyx diff -up src/sage/rings/polynomial/pbori/pbori.pyx.orig src/sage/rings/polynomial/pbori/pbori.pyx
--- src/sage/rings/polynomial/pbori/pbori.pyx.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/rings/polynomial/pbori/pbori.pyx.orig 2022-09-19 16:38:19.000000000 -0600
+++ src/sage/rings/polynomial/pbori/pbori.pyx 2022-06-01 10:53:46.042463686 -0600 +++ src/sage/rings/polynomial/pbori/pbori.pyx 2023-01-15 17:09:50.193474022 -0700
@@ -4730,8 +4730,7 @@ cdef class PolynomialConstruct: @@ -4729,8 +4729,7 @@ cdef class PolynomialConstruct:
# So, it is just a conversion. [Simon King] # So, it is just a conversion. [Simon King]
return (<BooleanPolynomialRing>ring)._element_constructor_(x) return (<BooleanPolynomialRing>ring)._element_constructor_(x)
@ -354,49 +342,10 @@ diff -up src/sage/rings/polynomial/pbori/pbori.pyx.orig src/sage/rings/polynomia
cdef class MonomialConstruct: cdef class MonomialConstruct:
diff -up src/sage/rings/real_mpfi.pyx.orig src/sage/rings/real_mpfi.pyx
--- src/sage/rings/real_mpfi.pyx.orig 2022-06-01 10:29:27.588329956 -0600
+++ src/sage/rings/real_mpfi.pyx 2022-06-01 10:53:46.043463690 -0600
@@ -1943,12 +1943,12 @@ cdef class RealIntervalFieldElement(Ring
cdef long digits
digits = strlen(lower_s)
- if lower_s[0] == '-':
+ if lower_s[0] == c'-':
digits -= 1
lower_expo -= digits
digits = strlen(upper_s)
- if upper_s[0] == '-':
+ if upper_s[0] == c'-':
digits -= 1
upper_expo -= digits
@@ -2117,7 +2117,7 @@ cdef class RealIntervalFieldElement(Ring
raise MemoryError("Unable to allocate memory for the mantissa of an interval")
mpz_get_str(tmp_cstr, base, lower_mpz)
digits = strlen(tmp_cstr)
- if tmp_cstr[0] == '-':
+ if tmp_cstr[0] == c'-':
digits -= 1
mant_string = bytes_to_str(tmp_cstr+1)
sign_string = bytes_to_str(b'-')
diff -up src/sage/rings/real_mpfr.pyx.orig src/sage/rings/real_mpfr.pyx
--- src/sage/rings/real_mpfr.pyx.orig 2022-05-15 16:11:11.000000000 -0600
+++ src/sage/rings/real_mpfr.pyx 2022-06-01 10:53:46.043463690 -0600
@@ -2092,7 +2092,7 @@ cdef class RealNumber(sage.structure.ele
if s is NULL:
raise RuntimeError("unable to convert an mpfr number to a string")
# t contains just digits (no sign, decimal point or exponent)
- if s[0] == '-':
+ if s[0] == c'-':
sgn = "-"
t = char_to_str(s + 1)
else:
diff -up src/sage/structure/sage_object.pyx.orig src/sage/structure/sage_object.pyx diff -up src/sage/structure/sage_object.pyx.orig src/sage/structure/sage_object.pyx
--- src/sage/structure/sage_object.pyx.orig 2022-05-15 16:11:11.000000000 -0600 --- src/sage/structure/sage_object.pyx.orig 2022-09-19 16:38:19.000000000 -0600
+++ src/sage/structure/sage_object.pyx 2022-06-01 10:53:46.044463695 -0600 +++ src/sage/structure/sage_object.pyx 2023-01-15 17:09:50.195473985 -0700
@@ -691,7 +691,7 @@ cdef class SageObject: @@ -694,7 +694,7 @@ cdef class SageObject:
try: try:
s = self._interface_init_(I) s = self._interface_init_(I)
except Exception: except Exception:
@ -405,24 +354,3 @@ diff -up src/sage/structure/sage_object.pyx.orig src/sage/structure/sage_object.
X = I(s) X = I(s)
if c: if c:
try: try:
diff -up src/sage/symbolic/expression.pyx.orig src/sage/symbolic/expression.pyx
--- src/sage/symbolic/expression.pyx.orig 2022-06-01 10:29:28.934335645 -0600
+++ src/sage/symbolic/expression.pyx 2022-06-01 10:53:46.045463699 -0600
@@ -14072,7 +14072,7 @@ cdef class hold_class:
sage: SR(2)^5
32
"""
- g_set_state('hold', True)
+ g_set_state(b'hold', True)
def __exit__(self, *args):
"""
@@ -14085,7 +14085,7 @@ cdef class hold_class:
sage: SR(2)^5
32
"""
- g_set_state('hold', False)
+ g_set_state(b'hold', False)
def start(self):
"""

View file

@ -1,6 +1,6 @@
diff -up src/sage/interfaces/qepcad.py.orig src/sage/interfaces/qepcad.py diff -up src/sage/interfaces/qepcad.py.orig src/sage/interfaces/qepcad.py
--- src/sage/interfaces/qepcad.py.orig 2022-01-30 06:41:50.000000000 -0700 --- src/sage/interfaces/qepcad.py.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/sage/interfaces/qepcad.py 2022-03-04 16:29:29.109754141 -0700 +++ src/sage/interfaces/qepcad.py 2023-01-15 17:22:00.958717226 -0700
@@ -530,7 +530,7 @@ TESTS: @@ -530,7 +530,7 @@ TESTS:
Check the qepcad configuration file:: Check the qepcad configuration file::
@ -27,7 +27,7 @@ diff -up src/sage/interfaces/qepcad.py.orig src/sage/interfaces/qepcad.py
def _qepcad_atoms(formula): def _qepcad_atoms(formula):
r""" r"""
Return the atoms of a qepcad quantifier-free formula, as a set of strings. Return the atoms of a qepcad quantifier-free formula, as a set of strings.
@@ -649,17 +650,17 @@ def _qepcad_cmd(memcells=None): @@ -651,17 +652,17 @@ def _qepcad_cmd(memcells=None):
sage: from sage.interfaces.qepcad import _qepcad_cmd sage: from sage.interfaces.qepcad import _qepcad_cmd
sage: s = _qepcad_cmd() sage: s = _qepcad_cmd()
@ -48,12 +48,12 @@ diff -up src/sage/interfaces/qepcad.py.orig src/sage/interfaces/qepcad.py
_command_info_cache = None _command_info_cache = None
@@ -684,7 +685,7 @@ def _update_command_info(): @@ -686,7 +687,7 @@ def _update_command_info():
cache = {} cache = {}
- with open(os.path.join(SAGE_LOCAL, 'share/qepcad', 'qepcad.help')) as help: - with open(os.path.join(SAGE_LOCAL, 'share/qepcad', 'qepcad.help')) as help:
+ with open(os.path.join(QEPCAD_LOCAL, 'bin', 'qepcad.help')) as help: + with open(os.path.join(QEPCAD_LOCAL, 'bin', 'qepcad.help')) as help:
assert(help.readline().strip() == '@') assert help.readline().strip() == '@'
while True: while True:

View file

@ -1,15 +1,15 @@
diff -up src/bin/sage.orig src/bin/sage diff -up src/bin/sage.orig src/bin/sage
--- src/bin/sage.orig 2022-05-15 16:11:11.000000000 -0600 --- src/bin/sage.orig 2022-09-19 16:38:18.000000000 -0600
+++ src/bin/sage 2022-06-01 10:49:26.133371574 -0600 +++ src/bin/sage 2023-01-15 17:02:57.680034236 -0700
@@ -109,7 +109,6 @@ usage() { @@ -131,7 +131,6 @@ usage() {
echo " --gap [...] -- run Sage's Gap with given arguments" echo " --gap [...] -- run Sage's Gap with given arguments"
command -v gp &>/dev/null && \
echo " --gp [...] -- run Sage's PARI/GP calculator with given arguments" echo " --gp [...] -- run Sage's PARI/GP calculator with given arguments"
echo " -h -- print this help message"
- echo " --pip [...] -- invoke pip, the Python package manager" - echo " --pip [...] -- invoke pip, the Python package manager"
command -v maxima &>/dev/null && \
echo " --maxima [...] -- run Sage's Maxima with given arguments" echo " --maxima [...] -- run Sage's Maxima with given arguments"
echo " --mwrank [...] -- run Sage's mwrank with given arguments" command -v mwrank &>/dev/null && \
echo " --notebook=[...] -- start the Sage notebook (valid options are" @@ -178,60 +177,6 @@ if [ -f "${SELF}-env-config" ]; then
@@ -160,60 +159,6 @@ if [ -f "${SELF}-env-config" ]; then
fi fi
##################################################################### #####################################################################
@ -61,7 +61,7 @@ diff -up src/bin/sage.orig src/bin/sage
- exec "$SAGE_ROOT/build/bin/sage-site" "$@" - exec "$SAGE_ROOT/build/bin/sage-site" "$@"
- # fallthrough if there is no sage-site script - # fallthrough if there is no sage-site script
- fi - fi
- echo "Error: unknown option: $1" - echo >&2 "Error: unknown option: $1"
- exit 1 - exit 1
- ;; - ;;
-esac -esac
@ -70,7 +70,7 @@ diff -up src/bin/sage.orig src/bin/sage
# Report information about the Sage environment # Report information about the Sage environment
##################################################################### #####################################################################
@@ -264,18 +209,6 @@ fi @@ -282,18 +227,6 @@ fi
# Prepare for running Sage, either interactively or non-interactively. # Prepare for running Sage, either interactively or non-interactively.
sage_setup() { sage_setup() {
@ -89,16 +89,16 @@ diff -up src/bin/sage.orig src/bin/sage
if [ ! -d "$IPYTHONDIR" ]; then if [ ! -d "$IPYTHONDIR" ]; then
# make sure that $DOT_SAGE exists so that ipython will happily # make sure that $DOT_SAGE exists so that ipython will happily
# create its config directories there. If DOT_SAGE doesn't # create its config directories there. If DOT_SAGE doesn't
@@ -323,8 +256,6 @@ usage_advanced() { @@ -338,8 +271,6 @@ usage_advanced() {
echo " --nodotsage -- run Sage without using the user's" echo " --nodotsage -- run Sage without using the user's"
echo " .sage directory: create and use a temporary" echo " .sage directory: create and use a temporary"
echo " .sage directory instead." echo " .sage directory instead."
- echo " --gthread, --qthread, --q4thread, --wthread, --pylab" - echo " --gthread, --qthread, --q4thread, --wthread, --pylab"
- echo " -- pass the option through to IPython" - echo " -- pass the option through to IPython"
echo " --simple-prompt -- pass the option through to IPython: use" echo " --simple-prompt -- pass the option through to IPython: use"
echo " this option with sage-shell mode in emacs" echo " this option with sage-shell mode in emacs"
if [ -n "$SAGE_SRC" -a -d "$SAGE_SRC" ]; then echo " --gdb -- run Sage under the control of gdb"
@@ -358,18 +289,9 @@ usage_advanced() { @@ -369,18 +300,9 @@ usage_advanced() {
echo " environment (not Sage), passing additional" echo " environment (not Sage), passing additional"
echo " additional options to IPython" echo " additional options to IPython"
echo " --jupyter [...] -- run Sage's Jupyter with given arguments" echo " --jupyter [...] -- run Sage's Jupyter with given arguments"
@ -117,7 +117,7 @@ diff -up src/bin/sage.orig src/bin/sage
echo " --python [...], --python3 [...]" echo " --python [...], --python3 [...]"
echo " -- run the Python 3 interpreter" echo " -- run the Python 3 interpreter"
echo " -R [...] -- run Sage's R with the given arguments" echo " -R [...] -- run Sage's R with the given arguments"
@@ -620,11 +542,6 @@ if [ "$1" = '-lisp' -o "$1" = '--lisp' ] @@ -656,11 +578,6 @@ if [ "$1" = '-lisp' -o "$1" = '--lisp' ]
exec ecl "$@" exec ecl "$@"
fi fi
@ -129,7 +129,7 @@ diff -up src/bin/sage.orig src/bin/sage
if [ "$1" = '-maxima' -o "$1" = '--maxima' ]; then if [ "$1" = '-maxima' -o "$1" = '--maxima' ]; then
shift shift
maxima_cmd=$(sage-config MAXIMA 2>/dev/null) maxima_cmd=$(sage-config MAXIMA 2>/dev/null)
@@ -649,11 +566,6 @@ if [ "$1" = '-R' -o "$1" = '--R' ]; then @@ -685,11 +602,6 @@ if [ "$1" = '-R' -o "$1" = '--R' ]; then
exec R "$@" exec R "$@"
fi fi
@ -141,7 +141,7 @@ diff -up src/bin/sage.orig src/bin/sage
##################################################################### #####################################################################
# sage --sh and sage --buildsh # sage --sh and sage --buildsh
##################################################################### #####################################################################
@@ -820,10 +732,6 @@ fi @@ -856,10 +768,6 @@ fi
# build_sage, sage -b, sage -br, etc. could be moved to # build_sage, sage -b, sage -br, etc. could be moved to
# build/bin/sage-site. See #29111. # build/bin/sage-site. See #29111.
@ -152,7 +152,7 @@ diff -up src/bin/sage.orig src/bin/sage
if [[ "$1" =~ ^--notebook=.* || "$1" =~ ^-n=.* || "$1" =~ ^-notebook=.* ]] ; then if [[ "$1" =~ ^--notebook=.* || "$1" =~ ^-n=.* || "$1" =~ ^-notebook=.* ]] ; then
sage-cleaner &>/dev/null & sage-cleaner &>/dev/null &
exec sage-notebook "$@" exec sage-notebook "$@"
@@ -834,13 +742,6 @@ if [ "$1" = "-notebook" -o "$1" = '--not @@ -870,13 +778,6 @@ if [ "$1" = "-notebook" -o "$1" = '--not
exec sage-notebook "$@" exec sage-notebook "$@"
fi fi
@ -166,7 +166,7 @@ diff -up src/bin/sage.orig src/bin/sage
if [ -n "$SAGE_SRC" -a -d "$SAGE_SRC" ]; then if [ -n "$SAGE_SRC" -a -d "$SAGE_SRC" ]; then
# Source inspection facilities, supported on sage-the-distribution and on distributions # Source inspection facilities, supported on sage-the-distribution and on distributions
# that package the Sage sources. # that package the Sage sources.
@@ -857,46 +758,18 @@ if [ -n "$SAGE_SRC" -a -d "$SAGE_SRC" ]; @@ -893,46 +794,18 @@ if [ -n "$SAGE_SRC" -a -d "$SAGE_SRC" ];
fi fi
fi fi
@ -214,7 +214,7 @@ diff -up src/bin/sage.orig src/bin/sage
if [ "$1" = '-tp' -o "$1" = '-btp' ]; then if [ "$1" = '-tp' -o "$1" = '-btp' ]; then
shift shift
exec-runtests -p "$@" exec-runtests -p "$@"
@@ -906,34 +779,11 @@ if [ "$1" = '-t' -o "$1" = '-bt' -o "$1" @@ -942,34 +815,11 @@ if [ "$1" = '-t' -o "$1" = '-bt' -o "$1"
fi fi
fi fi
@ -249,7 +249,7 @@ diff -up src/bin/sage.orig src/bin/sage
if [ "$1" = '-startuptime' -o "$1" = '--startuptime' ]; then if [ "$1" = '-startuptime' -o "$1" = '--startuptime' ]; then
exec sage-startuptime.py "$@" exec sage-startuptime.py "$@"
fi fi
@@ -989,11 +839,6 @@ if [ "$1" = '-installed' -o "$1" = "--in @@ -1056,11 +906,6 @@ if [ "$1" = '-installed' -o "$1" = "--in
exec sage-list-packages all --installed-only $@ exec sage-list-packages all --installed-only $@
fi fi
@ -261,7 +261,7 @@ diff -up src/bin/sage.orig src/bin/sage
##################################################################### #####################################################################
# Debugging tools # Debugging tools
##################################################################### #####################################################################
@@ -1037,12 +882,6 @@ if [ "$1" = '-callgrind' -o "$1" = "--ca @@ -1110,12 +955,6 @@ if [ "$1" = '-callgrind' -o "$1" = "--ca
exec sage-callgrind "$@" exec sage-callgrind "$@"
fi fi

View file

@ -1,11 +0,0 @@
--- src/sage_docbuild/ext/sage_autodoc.py.orig 2022-05-15 16:11:11.000000000 -0600
+++ src/sage_docbuild/ext/sage_autodoc.py 2023-01-11 14:36:08.471075423 -0700
@@ -35,7 +35,7 @@ from docutils.statemachine import ViewLi
import sphinx
from sphinx.ext.autodoc import mock, ObjectMember
-from sphinx.ext.autodoc.importer import import_object, get_object_members, get_module_members
+from sphinx.ext.autodoc.importer import import_object, get_object_members
from sphinx.locale import _, __
from sphinx.pycode import ModuleAnalyzer
from sphinx.errors import PycodeError

View file

@ -1,19 +0,0 @@
diff -up src/sage/graphs/graph_decompositions/cutwidth.pyx.orig src/sage/graphs/graph_decompositions/cutwidth.pyx
--- src/sage/graphs/graph_decompositions/cutwidth.pyx.orig 2022-01-30 06:41:50.000000000 -0700
+++ src/sage/graphs/graph_decompositions/cutwidth.pyx 2022-03-06 17:04:36.234711622 -0700
@@ -522,12 +522,12 @@ def cutwidth_dyn(G, lower_bound=0):
if exists(g, neighborhoods, 0, 0, i, k) <= k:
order = find_order(g, neighborhoods, k)
return k, [g.int_to_vertices[i] for i in order]
+
+ order = find_order(g, neighborhoods, k)
+ return k, [g.int_to_vertices[i] for i in order]
finally:
sig_free(neighborhoods)
- order = find_order(g, neighborhoods, k)
- return k, [g.int_to_vertices[i] for i in order]
-
cdef inline int exists(FastDigraph g, uint8_t* neighborhoods, int S, int cost_S, int v, int k):
r"""
Check whether an ordering with the given cost `k` exists, and updates data

View file

@ -40,33 +40,33 @@
%global elliptic_curves_pkg elliptic_curves-0.8.1 %global elliptic_curves_pkg elliptic_curves-0.8.1
%global graphs_pkg graphs-20210214 %global graphs_pkg graphs-20210214
%if %{with bundled_ipython} %if %{with bundled_ipython}
%global ipython_ver 7.29.0 %global ipython_ver 8.4.0
%global ipython_pkg ipython-%{ipython_ver} %global ipython_pkg ipython-%{ipython_ver}
%global prompt_toolkit_ver 3.0.22 %global prompt_toolkit_ver 3.0.24
%global prompt_tookit_pkg prompt_toolkit-%{prompt_toolkit_ver} %global prompt_tookit_pkg prompt_toolkit-%{prompt_toolkit_ver}
%endif %endif
%if %{with bundled_jupyter_jsmol} %if %{with bundled_jupyter_jsmol}
%global jupyter_jsmol_ver 0.2.4 %global jupyter_jsmol_ver 2022.1.0
%global jupyter_jsmol_pkg jupyter_jsmol-%{jupyter_jsmol_ver} %global jupyter_jsmol_pkg jupyter_jsmol-%{jupyter_jsmol_ver}
%endif %endif
%if %{with bundled_memory_allocator} %if %{with bundled_memory_allocator}
%global memory_allocator_ver 0.1.1 %global memory_allocator_ver 0.1.3
%global memory_allocator_pkg memory_allocator-%{memory_allocator_ver} %global memory_allocator_pkg memory_allocator-%{memory_allocator_ver}
%endif %endif
%if %{with bundled_pexpect} %if %{with bundled_pexpect}
%global pexpect_pkg pexpect-4.8.0 %global pexpect_pkg pexpect-4.8.0
%endif %endif
%global polytopes_db_pkg polytopes_db-20170220 %global polytopes_db_pkg polytopes_db-20170220
%global sagetex_pkg sagetex-3.5 %global sagetex_pkg sagetex-3.6.1
%global Sphinx_pkg Sphinx-4.4.0 %global Sphinx_pkg Sphinx-4.4.0
%global singular_pkg singular-4.2.1p3 %global singular_pkg singular-4.3.1p1
%if %{with bundled_threejs} %if %{with bundled_threejs}
%global threejs_ver r122 %global threejs_ver r122
%global threejs_pkg threejs-sage-%{threejs_ver} %global threejs_pkg threejs-sage-%{threejs_ver}
%endif %endif
# Spkg equivalents of required rpms; we pretend they are installed as spkgs. # Spkg equivalents of required rpms; we pretend they are installed as spkgs.
%global SAGE_REQUIRED_PKGS 4ti2-1.6.9 bliss-0.77 CoCoALib-0.99800 coxeter3-3.1 cryptominisat-5.8.0 database_cremona_ellcurve-%{cremona_ver} gap_packages-4.11.1 libsirocco-2.1.0 lrslib-072 mcqd-1.0.0 meataxe-1.0 primecount-7.3 qepcad-B.1.74 saclib-2.2.8 surf-1.0.6-gcc6 tdlib-0.9.2 %global SAGE_REQUIRED_PKGS 4ti2-1.6.9 bliss-0.77 CoCoALib-0.99800 coxeter3-3.1 cryptominisat-5.8.0 database_cremona_ellcurve-%{cremona_ver} gap_packages-4.11.1 libsirocco-2.1.0 lrslib-072 mcqd-1.0.0 meataxe-1.0.1 qepcad-B.1.74 saclib-2.2.8 tdlib-0.9.2
%ifarch %{ix86} x86_64 %ifarch %{ix86} x86_64
%global SAGE_REQUIRED_PKGS %{SAGE_REQUIRED_PKGS} fes-0.2 %global SAGE_REQUIRED_PKGS %{SAGE_REQUIRED_PKGS} fes-0.2
@ -83,8 +83,8 @@
Name: sagemath Name: sagemath
Summary: A free open-source mathematics software system Summary: A free open-source mathematics software system
Version: 9.6 Version: 9.7
Release: 8%{?dist} Release: 1%{?dist}
# The file ${SAGE_ROOT}/COPYING.txt is the upstream license breakdown file. # The file ${SAGE_ROOT}/COPYING.txt is the upstream license breakdown file.
# Note that many of the components listed in that file are not built in, but # Note that many of the components listed in that file are not built in, but
# are used as external libraries, and therefore do not affect the License tag. # are used as external libraries, and therefore do not affect the License tag.
@ -96,10 +96,10 @@ Source0: http://files.sagemath.org/src/sage-%{version}.tar.gz
Source1: https://github.com/JohnCremona/ecdata/archive/%{cremona_ver}/cremona-%{cremona_ver}.tar.gz Source1: https://github.com/JohnCremona/ecdata/archive/%{cremona_ver}/cremona-%{cremona_ver}.tar.gz
Source2: gprc.expect Source2: gprc.expect
Source3: org.sagemath.sage.metainfo.xml Source3: org.sagemath.sage.metainfo.xml
# Follow maxima's ExclusiveArch, except exclude 32-bit ARM. The source RPM is # Follow maxima's ExclusiveArch. The source RPM is now about 2GB in size. The
# now about 2GB in size. The 32-bit ARM builders run out of memory trying to # 32-bit ARM builders run out of memory trying to create the SRPM and also
# create the SRPM and also trying to unpack the SRPM before starting a build. # trying to unpack the SRPM before starting a build. The i386 builders
# The i386 builders sometimes fail as well, so exclude all 32-bit platforms. # sometimes fail as well, so exclude all 32-bit platforms.
ExclusiveArch: aarch64 x86_64 ExclusiveArch: aarch64 x86_64
# Fix stray escapes in python strings # Fix stray escapes in python strings
@ -174,21 +174,12 @@ Patch19: %{name}-tdlib.patch
# Use local objects.inv for intersphinx since no network on koji builders # Use local objects.inv for intersphinx since no network on koji builders
Patch20: %{name}-intersphinx.patch Patch20: %{name}-intersphinx.patch
# Fix a typo that leads to infinite recursion
Patch21: %{name}-infinite-recursion.patch
# Fix a use-after-free bug
Patch22: %{name}-use-after-free.patch
# Adapt to changes in python 3.11 # Adapt to changes in python 3.11
Patch23: %{name}-python3.11.patch Patch21: %{name}-python3.11.patch
# Adapt to changes in sphinx
Patch24: %{name}-sphinx.patch
# Temporary workaround for https://bugzilla.redhat.com/show_bug.cgi?id=2160197 # Temporary workaround for https://bugzilla.redhat.com/show_bug.cgi?id=2160197
# Remove this when that bug is fixed # Remove this when that bug is fixed
Patch25: %{name}-giac.patch Patch22: %{name}-giac.patch
BuildRequires: 4ti2 BuildRequires: 4ti2
BuildRequires: 4ti2-devel BuildRequires: 4ti2-devel
@ -280,6 +271,7 @@ BuildRequires: glpk-devel
BuildRequires: glpk-utils BuildRequires: glpk-utils
BuildRequires: gmp-ecm BuildRequires: gmp-ecm
BuildRequires: gmp-ecm-devel BuildRequires: gmp-ecm-devel
BuildRequires: gnupg2
BuildRequires: gp2c BuildRequires: gp2c
BuildRequires: ImageMagick BuildRequires: ImageMagick
BuildRequires: iml-devel BuildRequires: iml-devel
@ -305,6 +297,7 @@ BuildRequires: mpfi-devel
BuildRequires: nauty BuildRequires: nauty
BuildRequires: ninja-build BuildRequires: ninja-build
BuildRequires: ntl-devel BuildRequires: ntl-devel
BuildRequires: openssh
BuildRequires: openssl BuildRequires: openssl
BuildRequires: palp BuildRequires: palp
BuildRequires: pandoc BuildRequires: pandoc
@ -364,6 +357,7 @@ BuildRequires: python3-tdlib-devel
BuildRequires: python3-tkinter BuildRequires: python3-tkinter
BuildRequires: pythran BuildRequires: pythran
BuildRequires: %{py3_dist argon2-cffi} BuildRequires: %{py3_dist argon2-cffi}
BuildRequires: %{py3_dist asttokens}
%if %{with bundled_ipython} %if %{with bundled_ipython}
BuildRequires: %{py3_dist backcall} BuildRequires: %{py3_dist backcall}
%endif %endif
@ -375,11 +369,16 @@ BuildRequires: %{py3_dist colorlog}
BuildRequires: %{py3_dist cppy} BuildRequires: %{py3_dist cppy}
BuildRequires: %{py3_dist cvxopt} BuildRequires: %{py3_dist cvxopt}
BuildRequires: %{py3_dist cython} BuildRequires: %{py3_dist cython}
BuildRequires: %{py3_dist deprecation}
BuildRequires: %{py3_dist docutils} BuildRequires: %{py3_dist docutils}
BuildRequires: %{py3_dist editables}
BuildRequires: %{py3_dist executing}
BuildRequires: %{py3_dist flit-core} BuildRequires: %{py3_dist flit-core}
BuildRequires: %{py3_dist fpylll} BuildRequires: %{py3_dist fpylll}
BuildRequires: %{py3_dist furo}
BuildRequires: %{py3_dist gast} BuildRequires: %{py3_dist gast}
BuildRequires: %{py3_dist gmpy2} BuildRequires: %{py3_dist gmpy2}
BuildRequires: %{py3_dist hatchling}
%if %{with sphinx_hack} %if %{with sphinx_hack}
BuildRequires: %{py3_dist html5lib} BuildRequires: %{py3_dist html5lib}
BuildRequires: %{py3_dist imagesize} BuildRequires: %{py3_dist imagesize}
@ -394,6 +393,7 @@ BuildRequires: %{py3_dist ipywidgets}
%if %{with bundled_ipython} %if %{with bundled_ipython}
BuildRequires: %{py3_dist jedi} BuildRequires: %{py3_dist jedi}
%endif %endif
BuildRequires: %{py3_dist jupyter-packaging}
BuildRequires: %{py3_dist jupyter-sphinx} BuildRequires: %{py3_dist jupyter-sphinx}
BuildRequires: %{py3_dist jupyterlab-pygments} BuildRequires: %{py3_dist jupyterlab-pygments}
BuildRequires: %{py3_dist kiwisolver} BuildRequires: %{py3_dist kiwisolver}
@ -421,11 +421,16 @@ BuildRequires: %{py3_dist pkgconfig}
BuildRequires: %{py3_dist platformdirs} BuildRequires: %{py3_dist platformdirs}
BuildRequires: %{py3_dist pluggy} BuildRequires: %{py3_dist pluggy}
BuildRequires: %{py3_dist ply} BuildRequires: %{py3_dist ply}
BuildRequires: %{py3_dist poetry-core}
BuildRequires: %{py3_dist primecountpy} BuildRequires: %{py3_dist primecountpy}
BuildRequires: %{py3_dist ptyprocess} BuildRequires: %{py3_dist ptyprocess}
BuildRequires: %{py3_dist pure-eval}
BuildRequires: %{py3_dist py} BuildRequires: %{py3_dist py}
BuildRequires: %{py3_dist pycryptosat} BuildRequires: %{py3_dist pycryptosat}
BuildRequires: %{py3_dist pyopenssl} BuildRequires: %{py3_dist pyopenssl}
BuildRequires: %{py3_dist pytz}
BuildRequires: %{py3_dist pytzdata}
BuildRequires: %{py3_dist pytz-deprecation-shim}
%if %{with bundled_ipython} %if %{with bundled_ipython}
BuildRequires: %{py3_dist pyzmq} BuildRequires: %{py3_dist pyzmq}
%endif %endif
@ -441,8 +446,12 @@ BuildRequires: %{py3_dist simplegeneric}
BuildRequires: %{py3_dist six} BuildRequires: %{py3_dist six}
BuildRequires: %{py3_dist soupsieve} BuildRequires: %{py3_dist soupsieve}
BuildRequires: %{py3_dist sphinx} BuildRequires: %{py3_dist sphinx}
BuildRequires: %{py3_dist sphinx-basic-ng}
BuildRequires: %{py3_dist stack-data}
BuildRequires: %{py3_dist sympy} BuildRequires: %{py3_dist sympy}
BuildRequires: %{py3_dist tinycss2}
BuildRequires: %{py3_dist tomli} BuildRequires: %{py3_dist tomli}
BuildRequires: %{py3_dist tomlkit}
BuildRequires: %{py3_dist tox} BuildRequires: %{py3_dist tox}
BuildRequires: %{py3_dist typing-extensions} BuildRequires: %{py3_dist typing-extensions}
BuildRequires: %{py3_dist urllib3} BuildRequires: %{py3_dist urllib3}
@ -572,6 +581,7 @@ Requires: pari-gp
Requires: pari-nftables Requires: pari-nftables
Requires: pari-seadata Requires: pari-seadata
Requires: python3-tdlib Requires: python3-tdlib
Requires: %{py3_dist asttokens}
%if %{with bundled_ipython} %if %{with bundled_ipython}
Requires: %{py3_dist backcall} Requires: %{py3_dist backcall}
%endif %endif
@ -585,6 +595,7 @@ Requires: %{py3_dist cysignals}
Requires: %{py3_dist cvxopt} Requires: %{py3_dist cvxopt}
Requires: %{py3_dist cython} Requires: %{py3_dist cython}
Requires: %{py3_dist docutils} Requires: %{py3_dist docutils}
Requires: %{py3_dist executing}
Requires: %{py3_dist flit-core} Requires: %{py3_dist flit-core}
Requires: %{py3_dist fpylll} Requires: %{py3_dist fpylll}
Requires: %{py3_dist gast} Requires: %{py3_dist gast}
@ -622,7 +633,11 @@ Requires: %{py3_dist pickleshare}
Requires: %{py3_dist pplpy} Requires: %{py3_dist pplpy}
Requires: %{py3_dist primecountpy} Requires: %{py3_dist primecountpy}
Requires: %{py3_dist ptyprocess} Requires: %{py3_dist ptyprocess}
Requires: %{py3_dist pure-eval}
Requires: %{py3_dist pycryptosat} Requires: %{py3_dist pycryptosat}
Requires: %{py3_dist pytz}
Requires: %{py3_dist pytzdata}
Requires: %{py3_dist pytz-deprecation-shim}
%if %{with bundled_ipython} %if %{with bundled_ipython}
Requires: %{py3_dist pyzmq} Requires: %{py3_dist pyzmq}
%endif %endif
@ -633,7 +648,10 @@ Requires: %{py3_dist simplegeneric}
%endif %endif
Requires: %{py3_dist six} Requires: %{py3_dist six}
Requires: %{py3_dist sphinx} Requires: %{py3_dist sphinx}
Requires: %{py3_dist stack-data}
Requires: %{py3_dist sympy} Requires: %{py3_dist sympy}
Requires: %{py3_dist tinycss2}
Requires: %{py3_dist tomlkit}
Requires: %{py3_dist urllib3} Requires: %{py3_dist urllib3}
Requires: %{py3_dist zodb3} Requires: %{py3_dist zodb3}
Requires: qepcad-B Requires: qepcad-B
@ -860,6 +878,9 @@ Summary: Jupyter integration for sagemath
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: python-jupyter-filesystem Requires: python-jupyter-filesystem
Requires: %{py3_dist argon2-cffi} Requires: %{py3_dist argon2-cffi}
Requires: %{py3_dist deprecation}
Requires: %{py3_dist editables}
Requires: %{py3_dist hatchling}
Requires: %{py3_dist jupyter-sphinx} Requires: %{py3_dist jupyter-sphinx}
Requires: %{py3_dist jupyterlab-pygments} Requires: %{py3_dist jupyterlab-pygments}
Requires: %{py3_dist matplotlib-inline} Requires: %{py3_dist matplotlib-inline}
@ -1043,11 +1064,11 @@ sed -i 's/yum/rpm/' build/bin/sage-guess-package-system
# Allow use of python 3.11 # Allow use of python 3.11
sed -i 's/3\.11\.0/3.12.0/g' configure sed -i 's/3\.11\.0/3.12.0/g' configure
# Allow use of libfplll 5.4.2 # Allow use of libfplll 5.4.4
sed -i 's/5\.4\.1/5.4.2/g' configure sed -i 's/5\.4\.2/5.4.4/g' configure
# Allow use of eclib 20221012 # Allow use of eclib 20221012
sed -i 's/20210625/20221012/g' configure sed -i 's/20220621/20221012/g' configure
# Do not build with -march=native # Do not build with -march=native
sed -i 's/CFLAGS_MARCH="-march=native"/CFLAGS_MARCH=""/' configure sed -i 's/CFLAGS_MARCH="-march=native"/CFLAGS_MARCH=""/' configure
@ -2048,6 +2069,7 @@ end
#------------------------------------------------------------------------ #------------------------------------------------------------------------
%files sagetex %files sagetex
# GPL-2.0-or-later # GPL-2.0-or-later
%{_bindir}/sagetex*
%{python3_sitearch}/sagetex* %{python3_sitearch}/sagetex*
%{python3_sitearch}/__pycache__/sagetex* %{python3_sitearch}/__pycache__/sagetex*
%{_texmf}/tex/latex/sagetex/ %{_texmf}/tex/latex/sagetex/
@ -2055,6 +2077,10 @@ end
######################################################################## ########################################################################
%changelog %changelog
* Tue Jan 17 2023 Jerry James <loganjerry@gmail.com> - 9.7-1
- Version 9.7
- Drop upstreamed patches: -infinite-recursion, -use-after-free, -sphinx
* Thu Jan 12 2023 Jerry James <loganjerry@gmail.com> - 9.6-8 * Thu Jan 12 2023 Jerry James <loganjerry@gmail.com> - 9.6-8
- Update for split GAP tree - Update for split GAP tree
- Add patch for FTBFS with latest giac (see bz 2160197) - Add patch for FTBFS with latest giac (see bz 2160197)

View file

@ -1,2 +1,2 @@
SHA512 (cremona-2019-10-29.tar.gz) = 32fbb828f26f87191e39123762cfbd796aac9abf346f0dc981e8e3f390435b22d281be3031ea92ae7e18f4ce41af8054784ca0d550a08f17b05c54ca08b4c9c8 SHA512 (cremona-2019-10-29.tar.gz) = 32fbb828f26f87191e39123762cfbd796aac9abf346f0dc981e8e3f390435b22d281be3031ea92ae7e18f4ce41af8054784ca0d550a08f17b05c54ca08b4c9c8
SHA512 (sage-9.6.tar.gz) = 65cd228a7173d0edf5ad865766e966f1c85be3c39baf81dc1a507bcaef4eaaa7b5f3ac98ecd5c68a9823167ff91201f71e9968c46b83f9a708721f9b4fcbef32 SHA512 (sage-9.7.tar.gz) = 65c21713063dc2b9d632c44e31a5a9f3417f3d8367a9f082569b11c7f456f38ceb774821b9e879b45edd3a08f844d9b432962111d032f5d90ac5efd21f716924