Date: Sunday, February 12, 2023 @ 09:59:08
Author: arojas
Revision: 1399982
archrelease: copy trunk to community-testing-x86_64
Added:
sagemath/repos/community-testing-x86_64/
sagemath/repos/community-testing-x86_64/PKGBUILD
(from rev 1399981, sagemath/trunk/PKGBUILD)
sagemath/repos/community-testing-x86_64/latte-count.patch
(from rev 1399981, sagemath/trunk/latte-count.patch)
sagemath/repos/community-testing-x86_64/sagemath-bliss-0.77.patch
(from rev 1399981, sagemath/trunk/sagemath-bliss-0.77.patch)
sagemath/repos/community-testing-x86_64/sagemath-gap-4.12.patch
(from rev 1399981, sagemath/trunk/sagemath-gap-4.12.patch)
sagemath/repos/community-testing-x86_64/sagemath-linbox-1.7.patch
(from rev 1399981, sagemath/trunk/sagemath-linbox-1.7.patch)
sagemath/repos/community-testing-x86_64/sagemath-numpy-1.24.patch
(from rev 1399981, sagemath/trunk/sagemath-numpy-1.24.patch)
sagemath/repos/community-testing-x86_64/sagemath-optional-packages.patch
(from rev 1399981, sagemath/trunk/sagemath-optional-packages.patch)
sagemath/repos/community-testing-x86_64/sagemath-singular-4.3.1.p3.patch
(from rev 1399981, sagemath/trunk/sagemath-singular-4.3.1.p3.patch)
sagemath/repos/community-testing-x86_64/sagemath-tachyon-0.99.patch
(from rev 1399981, sagemath/trunk/sagemath-tachyon-0.99.patch)
sagemath/repos/community-testing-x86_64/sagemath-tdlib-0.9.patch
(from rev 1399981, sagemath/trunk/sagemath-tdlib-0.9.patch)
sagemath/repos/community-testing-x86_64/test-optional.patch
(from rev 1399981, sagemath/trunk/test-optional.patch)
----------------------------------+
PKGBUILD | 134 +++++++++++
latte-count.patch | 14 +
sagemath-bliss-0.77.patch | 176 +++++++++++++++
sagemath-gap-4.12.patch | 415 +++++++++++++++++++++++++++++++++++++
sagemath-linbox-1.7.patch | 58 +++++
sagemath-numpy-1.24.patch | 58 +++++
sagemath-optional-packages.patch | 14 +
sagemath-singular-4.3.1.p3.patch | 201 +++++++++++++++++
sagemath-tachyon-0.99.patch | 78 ++++++
sagemath-tdlib-0.9.patch | 28 ++
test-optional.patch | 17 +
11 files changed, 1193 insertions(+)
Copied: sagemath/repos/community-testing-x86_64/PKGBUILD (from rev 1399981,
sagemath/trunk/PKGBUILD)
===================================================================
--- community-testing-x86_64/PKGBUILD (rev 0)
+++ community-testing-x86_64/PKGBUILD 2023-02-12 09:59:08 UTC (rev 1399982)
@@ -0,0 +1,134 @@
+# Maintainer: Antonio Rojas <[email protected]>
+# Contributor: Evgeniy Alekseev <arcanis.arch at gmail dot com>
+# Contributor: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Contributor: Thomas Dziedzic <gostrc at gmail dot com>
+# Contributor: Osman Ugus <ugus11 at yahoo dot com>
+# Contributor: Stefan Husmann <stefan-husmann at t-online dot de>
+
+pkgname=sagemath
+pkgver=9.8
+pkgrel=1
+pkgdesc='Open Source Mathematics Software, free alternative to Magma, Maple,
Mathematica, and Matlab'
+arch=(x86_64)
+url='http://www.sagemath.org'
+license=(GPL)
+depends=(palp brial cliquer maxima-fas gfan sympow nauty python-rpy2
python-fpylll python-cypari2
+ python-matplotlib python-scipy python-sympy python-networkx python-pplpy
python-sphinx python-ipywidgets python-memory-allocator
+ gap flintqs lcalc lrcalc arb eclib gd python-cvxopt singular linbox m4rie
pari-galdata pari-seadata-small planarity rankwidth tachyon
+ sage-data-combinatorial_designs sage-data-elliptic_curves sage-data-graphs
sage-data-polytopes_db sage-data-conway_polynomials
+ iml giac libhomfly libbraiding symmetrica threejs-sage python-primecountpy)
+optdepends=('cython: to compile cython code'
+ 'python-pkgconfig: to compile cython code'
+ 'jmol: alternative 3D plot engine'
+ 'jupyter-jsmol: alternative 3D plot engine in the Jupyter notebook'
+ 'sagemath-doc: HTML documentation'
+ 'python-igraph: igraph backend for graph theory'
+ 'bliss: bliss backend for graph theory'
+ 'sage-numerical-backends-coin: COIN mixed integer linear programming backend'
+ 'python-pyscipopt: SCIP mixed integer linear programming backend'
+ 'coin-or-csdp: for computing Lovász theta-function of graphs'
+ 'buckygen: for generating fullerene graphs'
+ 'plantri: for generating some classes of graphs'
+ 'benzene: for generating fusenes and benzenoids'
+ 'ffmpeg: to export animations to video'
+ 'imagemagick: to show animations'
+ 'coxeter: Coxeter groups implementation'
+ 'rubiks: Rubiks cube algorithms'
+ 'lrs: Algorithms for linear reverse search used in game theory and for
computing volume of polytopes'
+ 'python-pynormaliz: Normaliz backend for polyhedral computations'
+ 'latte-integrale: integral point count in polyhedra'
+ 'python-jupymake: polymake backend for polyhedral computations'
+ 'shared_meataxe: faster matrix arithmetic over finite fields'
+ 'openblas: faster linear algebra'
+ 'sirocco: for computing the fundamental group of the complement of a plane
curve'
+ 'dot2tex: for displaying some diagrams'
+ 'cryptominisat5: SAT solver'
+ 'python-pycosat: picosat SAT solver'
+ 'python-pip: to install optional packages with sage -pip'
+ 'sage-notebook-exporter: convert flask notebooks to Jupyter'
+ 'python-database-knotinfo: interface to the KnotInfo and LinkInfo databases'
+ 'python-phitigra: graph editor'
+ 'topcom: to compute triangulations of point configurations'
+ 'python-database-cubic-hecke: cubic Hecke algebras'
+ 'msolve: polynomial system solving via msolve')
+makedepends=(cython boost python-jinja sirocco mcqd coxeter bliss tdlib
python-pkgconfig shared_meataxe)
+conflicts=(sagemath-jupyter)
+replaces=(sagemath-jupyter)
+source=(https://github.com/sagemath/sage/archive/$pkgver/$pkgname-$pkgver.tar.gz
+ sagemath-optional-packages.patch
+ latte-count.patch
+ test-optional.patch
+ sagemath-linbox-1.7.patch
+ sagemath-bliss-0.77.patch
+ sagemath-tachyon-0.99.patch
+ sagemath-gap-4.12.patch
+ sagemath-tdlib-0.9.patch
+ sagemath-singular-4.3.1.p3.patch
+ sagemath-numpy-1.24.patch)
+sha256sums=('2aff28bd1d18c2d526581f5298acb8336f5b92db5675a7403dec8eaf9a86bc4c'
+ '8a5b935d2fd8815489713db6497e9d44aefd61e8553e8cd4acc2cb1adf625ccc'
+ 'bd188af45ce31579b82407adee8e9bf6033a996f7ea6e328fabca526f31c08ba'
+ '4484bd38b273e7fcc3d54bcd38e1ed3cdade12f3e9dc79235b011ef69e17c10c'
+ 'fbc87b62c73d20aa12fced28f5d68dc2b3ec7cc9123be424226321195bf2b3b4'
+ '1a578528bab7be3970954fdfa033afa69fe753da1bab3f41693b0e05e3c849cd'
+ 'dfdc071e96dcd12b7e7e05953039f3d67aebb757f459c5e29a413ffac6354a9e'
+ '43dda8c7a8f9331155bdb831cdeb419953ddcb9b72d71d7c1f84f22530e753da'
+ '56a83abecf2ff5a500442adc7a50abbb70006037dd39c39dcdb04b3ca9fb51e2'
+ '4d0d59361e6002157cb7dd87807bb902b70756321d1805efb22556f607c3a62a'
+ '800b2704c73b7d48602b69edb9f128a20ef5e1ad6860779bd3ef25583464e6f9')
+
+prepare(){
+ cd sage-$pkgver
+
+# Upstream patches
+# Fix build with linbox 1.7 https://trac.sagemath.org/ticket/32959
+ patch -p1 -i ../sagemath-linbox-1.7.patch
+# Fix build with bliss 0.77 https://trac.sagemath.org/ticket/33010
+ patch -p1 -i ../sagemath-bliss-0.77.patch
+# Fix tests with tachyon 0.99 https://trac.sagemath.org/ticket/23712
+ patch -p1 -i ../sagemath-tachyon-0.99.patch
+# Port to GAP 4.12 https://trac.sagemath.org/ticket/34391
+ patch -p1 -i ../sagemath-gap-4.12.patch
+# Fix tests with numpy 1.24 https://trac.sagemath.org/ticket/34816
+ patch -p1 -i ../sagemath-numpy-1.24.patch
+
+# Arch-specific patches
+# assume all optional packages are installed
+ patch -p1 -i ../sagemath-optional-packages.patch
+# don't list optional packages when running tests
+ patch -p1 -i ../test-optional.patch
+# use correct latte-count binary name
+ patch -p1 -i ../latte-count.patch
+# update to tdlib 0.9 (Fedora)
+ patch -p1 -i ../sagemath-tdlib-0.9.patch
+# fix build with singular 4.3.1.p3
+ patch -p1 -i ../sagemath-singular-4.3.1.p3.patch
+
+ cd build/pkgs/sagelib
+ ./bootstrap
+}
+
+build() {
+ cd sage-$pkgver/pkgs/sagemath-standard
+
+ export SAGE_NUM_THREADS=10
+ export PYTHONPATH="$PWD"/../sage-setup
+ python setup.py build
+}
+
+package() {
+ cd sage-$pkgver/pkgs/sagemath-standard
+
+ python setup.py install --root="$pkgdir" --optimize=1
+
+# fix symlinks to assets
+ _pythonpath=`python -c "from sysconfig import get_path;
print(get_path('platlib'))"`
+ for _i in $(ls "$srcdir"/sage-$pkgver/src/sage/ext_data/notebook-ipython); do
+ rm "$pkgdir"/usr/share/jupyter/kernels/sagemath/$_i
+ ln -s $_pythonpath/sage/ext_data/notebook-ipython/$_i
"$pkgdir"/usr/share/jupyter/kernels/sagemath/
+ done
+
+# adjust threejs version
+ rm "$pkgdir"$_pythonpath/sage/ext_data/threejs/threejs-version.txt
+ ln -s /usr/share/threejs-sage/version
"$pkgdir"$_pythonpath/sage/ext_data/threejs/threejs-version.txt
+}
Copied: sagemath/repos/community-testing-x86_64/latte-count.patch (from rev
1399981, sagemath/trunk/latte-count.patch)
===================================================================
--- community-testing-x86_64/latte-count.patch (rev 0)
+++ community-testing-x86_64/latte-count.patch 2023-02-12 09:59:08 UTC (rev
1399982)
@@ -0,0 +1,14 @@
+diff --git a/src/sage/features/latte.py b/src/sage/features/latte.py
+index 63d227fd35..040a5cf1f9 100644
+--- a/src/sage/features/latte.py
++++ b/src/sage/features/latte.py
+@@ -21,7 +21,7 @@ from . import Executable, Feature, FeatureTestResult
+ sage: isinstance(Latte_count(), Latte_count)
+ True
+ """
+- Executable.__init__(self, "count", executable="count",
++ Executable.__init__(self, "latte-count", executable="latte-count",
+ spkg="latte_int",
+ url=LATTE_URL)
+
+
Copied: sagemath/repos/community-testing-x86_64/sagemath-bliss-0.77.patch (from
rev 1399981, sagemath/trunk/sagemath-bliss-0.77.patch)
===================================================================
--- community-testing-x86_64/sagemath-bliss-0.77.patch
(rev 0)
+++ community-testing-x86_64/sagemath-bliss-0.77.patch 2023-02-12 09:59:08 UTC
(rev 1399982)
@@ -0,0 +1,176 @@
+diff --git a/build/pkgs/bliss/checksums.ini b/build/pkgs/bliss/checksums.ini
+index e97d89587b..0c1ebf647b 100644
+--- a/build/pkgs/bliss/checksums.ini
++++ b/build/pkgs/bliss/checksums.ini
+@@ -1,4 +1,5 @@
+-tarball=bliss-VERSION.tar.gz
+-sha1=1da8f098046824fbfff4c64c337e28b2a082f74f
+-md5=452aea8737d3c4ad0d8ff39180be8004
+-cksum=2193930007
++tarball=bliss-VERSION.zip
++sha1=c91c9dcbc11d66ffbcf6415e09ebe793df37be2a
++md5=5707cbfd9fd00980571c64ab3584c505
++cksum=1626493724
++upstream_url=https://users.aalto.fi/~tjunttil/bliss/downloads/bliss-VERSION.zip
+diff --git a/build/pkgs/bliss/dependencies b/build/pkgs/bliss/dependencies
+index 4f00de2037..c225c495cc 100644
+--- a/build/pkgs/bliss/dependencies
++++ b/build/pkgs/bliss/dependencies
+@@ -1,4 +1,4 @@
+-# no dependencies
++| cmake
+
+ ----------
+ All lines of this file are ignored except the first.
+diff --git a/build/pkgs/bliss/package-version.txt
b/build/pkgs/bliss/package-version.txt
+index e93ee1376f..9e1e206c41 100644
+--- a/build/pkgs/bliss/package-version.txt
++++ b/build/pkgs/bliss/package-version.txt
+@@ -1 +1 @@
+-0.73+debian-1+sage-2016-08-02.p0
++0.77
+diff --git a/build/pkgs/bliss/spkg-install.in
b/build/pkgs/bliss/spkg-install.in
+index aaf4c3037b..4124a2338e 100644
+--- a/build/pkgs/bliss/spkg-install.in
++++ b/build/pkgs/bliss/spkg-install.in
+@@ -1,4 +1,4 @@
+ cd src
+-sdh_configure --disable-gmp
++sdh_cmake -DUSE_GMP=OFF -DCMAKE_VERBOSE_MAKEFILE=ON
+ sdh_make
+ sdh_make_install
+diff --git a/build/pkgs/bliss/spkg-src b/build/pkgs/bliss/spkg-src
+deleted file mode 100755
+index 90073233b7..0000000000
+--- a/build/pkgs/bliss/spkg-src
++++ /dev/null
+@@ -1,28 +0,0 @@
+-#!/bin/sh
+-#
+-# creates the tarball in the current dir, to be moved to ../../../upstream
+-#
+-# adapted from cliquer/spkg-src
+-
+-die () {
+- echo >&2 "$@"
+- exit 1
+-}
+-
+-rm -rf bliss/
+-git clone -b sage_package https://github.com/mkoeppe/bliss.git || die
"Failed to git clone"
+-cd bliss/
+-
+-VERSION=`autoconf --trace='AC_INIT:$2'`
+-libtoolize || die "Failed to autoreconf"
+-autoreconf -fi || die "Failed to autoreconf"
+-automake --add-missing --copy || die "automake failed"
+-./configure || die "configure failed"
+-
+-rm -f bliss-$VERSION.tar.gz
+-make dist || die "make dist failed"
+-mv bliss-$VERSION.tar.gz ../
+-cd ..
+-rm -rf bliss/
+-
+-
+diff --git a/src/sage/graphs/bliss.pyx b/src/sage/graphs/bliss.pyx
+index 921bc6a765..1f1f502558 100644
+--- a/src/sage/graphs/bliss.pyx
++++ b/src/sage/graphs/bliss.pyx
+@@ -47,22 +47,23 @@ cdef extern from "bliss/graph.hh" namespace "bliss":
+ cdef cppclass Graph(AbstractGraph):
+ Graph(const unsigned int)
+ void add_edge(const unsigned int, const unsigned int)
+- void find_automorphisms(Stats&, void (*)(void*, unsigned int,
+- const unsigned int*), void*)
+ void change_color(const unsigned int, const unsigned int)
+- const unsigned int* canonical_form(Stats&, void (*)(void*, unsigned
int,
+- const unsigned
int*), void*)
++ const unsigned int* canonical_form(Stats&)
++
++cdef extern from "bliss/digraph.hh" namespace "bliss":
+
+ cdef cppclass Digraph(AbstractGraph):
+ Digraph(const unsigned int)
+ void add_edge(const unsigned int, const unsigned int)
+- void find_automorphisms(Stats&, void (*)(void*, unsigned int,
+- const unsigned int*), void*)
+ void change_color(const unsigned int, const unsigned int)
+- const unsigned int* canonical_form(Stats&, void (*)(void*, unsigned
int,
+- const unsigned
int*), void*)
++ const unsigned int* canonical_form(Stats&)
+ unsigned int get_hash()
+
++cdef extern from "bliss_find_automorphisms.h":
++
++ void bliss_find_automorphisms(Graph*, void (*)(void*, unsigned int, const
unsigned int*), void*, Stats&)
++ void bliss_find_automorphisms(Digraph*, void (*)(void*, unsigned int,
const unsigned int*), void*, Stats&)
++
+
+ cdef int encoding_numbits(int n):
+ r"""
+@@ -125,9 +126,6 @@ cdef void add_gen(void *user_param, unsigned int n, const
unsigned int *aut):
+ sig_free(done)
+
+
+-cdef void empty_hook(void *user_param, unsigned int n, const unsigned int
*aut):
+- return
+-
+ #####################################################
+ # constructing bliss graphs from edge lists
+ #####################################################
+@@ -346,10 +344,10 @@ cdef canonical_form_from_edge_list(int Vnr, list Vout,
list Vin, int Lnr=1, list
+
+ if directed:
+ d = bliss_digraph_from_labelled_edges(Vnr, Lnr, Vout, Vin, labels,
partition)
+- aut = d.canonical_form(s, empty_hook, NULL)
++ aut = d.canonical_form(s)
+ else:
+ g = bliss_graph_from_labelled_edges(Vnr, Lnr, Vout, Vin, labels,
partition)
+- aut = g.canonical_form(s, empty_hook, NULL)
++ aut = g.canonical_form(s)
+
+ for i in range(len(Vout)):
+ x = Vout[i]
+@@ -643,11 +641,11 @@ cdef automorphism_group_gens_from_edge_list(int Vnr,
Vout, Vin, int Lnr=1, label
+
+ if directed:
+ d = bliss_digraph_from_labelled_edges(Vnr, Lnr, Vout, Vin, labels,
partition)
+- d.find_automorphisms(s, add_gen, <void*>data)
++ bliss_find_automorphisms(d, add_gen, <void*>data, s)
+ del d
+ else:
+ g = bliss_graph_from_labelled_edges(Vnr, Lnr, Vout, Vin, labels,
partition)
+- g.find_automorphisms(s, add_gen, <void*>data)
++ bliss_find_automorphisms(g, add_gen, <void*>data, s)
+ del g
+
+ return [[cyc for cyc in gen if cyc[0] is not None] for gen in gens]
+diff --git a/src/sage/graphs/bliss_find_automorphisms.h
b/src/sage/graphs/bliss_find_automorphisms.h
+new file mode 100644
+index 0000000000..a2c084a163
+--- /dev/null
++++ b/src/sage/graphs/bliss_find_automorphisms.h
+@@ -0,0 +1,22 @@
++#include <bliss/graph.hh>
++#include <bliss/digraph.hh>
++
++inline void bliss_find_automorphisms(bliss::Graph *graph, void (*hook)(void
*user_param, unsigned int n, const unsigned int *aut), void *hook_user_param,
bliss::Stats s)
++{
++ auto report_aut = [&](unsigned int n, const unsigned int *aut) -> void {
++ if(hook)
++ (*hook)(hook_user_param, n, aut);
++ };
++
++ graph->find_automorphisms(s, report_aut);
++}
++
++inline void bliss_find_automorphisms(bliss::Digraph *graph, void (*hook)(void
*user_param, unsigned int n, const unsigned int *aut), void *hook_user_param,
bliss::Stats s)
++{
++ auto report_aut = [&](unsigned int n, const unsigned int *aut) -> void {
++ if(hook)
++ (*hook)(hook_user_param, n, aut);
++ };
++
++ graph->find_automorphisms(s, report_aut);
++}
Copied: sagemath/repos/community-testing-x86_64/sagemath-gap-4.12.patch (from
rev 1399981, sagemath/trunk/sagemath-gap-4.12.patch)
===================================================================
--- community-testing-x86_64/sagemath-gap-4.12.patch
(rev 0)
+++ community-testing-x86_64/sagemath-gap-4.12.patch 2023-02-12 09:59:08 UTC
(rev 1399982)
@@ -0,0 +1,415 @@
+diff --git a/src/doc/en/thematic_tutorials/lie/weyl_groups.rst
b/src/doc/en/thematic_tutorials/lie/weyl_groups.rst
+index c917338e44..182e74aad2 100644
+--- a/src/doc/en/thematic_tutorials/lie/weyl_groups.rst
++++ b/src/doc/en/thematic_tutorials/lie/weyl_groups.rst
+@@ -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.2 1 -1 1 1 -1 1 1 -1 -1 -1 1 1 1
+ X.3 2 . 2 -1 . 2 2 . . . -1 2 2
+- X.4 3 -1 -1 . 1 -1 3 -1 1 -1 . -1 3
+- X.5 3 -1 -1 . 1 3 -1 -1 -1 1 . -1 3
+- X.6 3 1 -1 . -1 -1 3 1 -1 1 . -1 3
+- X.7 3 1 -1 . -1 3 -1 1 1 -1 . -1 3
+- X.8 3 -1 3 . -1 -1 -1 -1 1 1 . -1 3
+- X.9 3 1 3 . 1 -1 -1 1 -1 -1 . -1 3
++ X.4 3 -1 -1 . 1 3 -1 -1 -1 1 . -1 3
++ X.5 3 1 -1 . -1 3 -1 1 1 -1 . -1 3
++ X.6 3 -1 3 . -1 -1 -1 -1 1 1 . -1 3
++ X.7 3 -1 -1 . 1 -1 3 -1 1 -1 . -1 3
++ X.8 3 1 3 . 1 -1 -1 1 -1 -1 . -1 3
++ X.9 3 1 -1 . -1 -1 3 1 -1 1 . -1 3
+ X.10 4 -2 . -1 . . . 2 . . 1 . -4
+ X.11 4 2 . -1 . . . -2 . . 1 . -4
+ X.12 6 . -2 . . -2 -2 . . . . 2 6
+diff --git a/src/sage/coding/codecan/autgroup_can_label.pyx
b/src/sage/coding/codecan/autgroup_can_label.pyx
+index de5db985e0..c83b9264e4 100644
+--- a/src/sage/coding/codecan/autgroup_can_label.pyx
++++ b/src/sage/coding/codecan/autgroup_can_label.pyx
+@@ -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 --git a/src/sage/coding/linear_code.py b/src/sage/coding/linear_code.py
+index e8e32f82c9..9d45160f44 100644
+--- a/src/sage/coding/linear_code.py
++++ b/src/sage/coding/linear_code.py
+@@ -465,27 +465,27 @@ class AbstractLinearCode(AbstractLinearCodeNoMetric):
+ 0
+ sage: C = codes.HammingCode(GF(4, 'z'), 3)
+ sage: C.automorphism_group_gens()
+- ([((1, 1, 1, 1, 1, z + 1, z, z + 1, z, z, z, 1, 1, z + 1, z + 1,
z, z + 1, z, z + 1, z + 1, z + 1);
(1,14,6,7,4,10,11,19)(2,8,16,13,3,17,21,15)(9,12,18,20), Ring endomorphism of
Finite Field in z of size 2^2
++ ([((1, 1, 1, z, z + 1, 1, 1, 1, 1, z + 1, z, z, z + 1, z + 1, z +
1, 1, z + 1, z, z, 1, z);
(1,13,14,20)(2,21,8,18,7,16,19,15)(3,10,5,12,17,9,6,4), Ring endomorphism of
Finite Field in z of size 2^2
++ Defn: z |--> z + 1),
++ ((z, 1, z, z, z, z + 1, z, z, z, z, z, z, z + 1, z, z, z, z, z
+ 1, z, z, z); (1,11,5,12,3,19)(2,8)(6,18,13)(7,17,15)(9,10,14,16,20,21), Ring
endomorphism of Finite Field in z of size 2^2
+ 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
+- Defn: z |--> z),
+ ((z, z, z, z, z, z, z, z, z, z, z, z, z, z, z, z, z, z, z, z,
z); (), Ring endomorphism of Finite Field in z of size 2^2
+ Defn: z |--> z)],
+ 362880)
+ sage: C.automorphism_group_gens(equivalence="linear")
+- ([((z + 1, 1, z + 1, z + 1, z + 1, z, 1, z, 1, 1, 1, 1, z + 1, z
+ 1, z + 1, z, z, 1, z, z, z);
(1,15,2,8,16,18,3)(4,9,12,13,20,10,11)(5,21,14,6,7,19,17), Ring endomorphism of
Finite Field in z of size 2^2
++ ([((z, 1, z + 1, z + 1, 1, z + 1, z, 1, z + 1, z + 1, 1, z, 1, z
+ 1, z, 1, z, 1, z + 1, 1, 1);
(1,12,11,10,6,8,9,20,13,21,5,14,3,16,17,19,7,4,2,15,18), Ring endomorphism of
Finite Field in z of size 2^2
+ Defn: z |--> z),
+- ((z + 1, z + 1, z + 1, z + 1, z + 1, 1, z, 1, z, z, z, 1, z, 1,
1, 1, z + 1, z + 1, z + 1, 1, z);
(1,15,21,8,9)(2,18,5,3,11,16,7,10,19,13,12,4,17,6,20), Ring endomorphism of
Finite Field in z of size 2^2
++ ((z + 1, z + 1, z + 1, z, 1, 1, z, z, 1, z + 1, z, 1, 1, z, 1,
z + 1, z, z + 1, z + 1, 1, z);
(1,3,18,2,17,6,19)(4,15,13,20,7,14,16)(5,11,8,21,12,9,10), Ring endomorphism of
Finite Field in z of size 2^2
+ Defn: z |--> z),
+ ((z + 1, z + 1, z + 1, z + 1, z + 1, z + 1, z + 1, z + 1, z +
1, z + 1, z + 1, z + 1, z + 1, z + 1, z + 1, z + 1, z + 1, z + 1, z + 1, z + 1,
z + 1); (), Ring endomorphism of Finite Field in z of size 2^2
+ Defn: z |--> z)],
+ 181440)
+ sage: C.automorphism_group_gens(equivalence="permutational")
+- ([((1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1); (1,19)(3,17)(4,21)(5,20)(7,14)(9,12)(10,16)(11,15), 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); (1,11)(3,10)(4,9)(5,7)(12,21)(14,20)(15,19)(16,17), Ring endomorphism of
Finite Field in z of size 2^2
+ Defn: z |--> z),
+- ((1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1); (1,11)(3,10)(4,9)(5,7)(12,21)(14,20)(15,19)(16,17), 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,18)(3,19)(4,10)(5,16)(8,13)(9,14)(11,21)(15,20), Ring endomorphism of
Finite Field in z of size 2^2
+ Defn: z |--> z),
+- ((1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1); (1,17)(2,8)(3,14)(4,10)(7,12)(9,19)(13,18)(15,20), 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); (1,19)(3,17)(4,21)(5,20)(7,14)(9,12)(10,16)(11,15), Ring endomorphism of
Finite Field in z of size 2^2
+ 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
+ Defn: z |--> z)],
+@@ -691,10 +691,10 @@ class AbstractLinearCode(AbstractLinearCodeNoMetric):
+ sage: C_iso == aut_group_can_label.get_canonical_form()
+ True
+ sage: aut_group_can_label.get_autom_gens()
+- [((1, 1, 1, 1, 1, z + 1, z, z + 1, z, z, z, 1, 1, z + 1, z + 1,
z, z + 1, z, z + 1, z + 1, z + 1);
(1,14,6,7,4,10,11,19)(2,8,16,13,3,17,21,15)(9,12,18,20), Ring endomorphism of
Finite Field in z of size 2^2
++ [((1, 1, 1, z, z + 1, 1, 1, 1, 1, z + 1, z, z, z + 1, z + 1, z +
1, 1, z + 1, z, z, 1, z);
(1,13,14,20)(2,21,8,18,7,16,19,15)(3,10,5,12,17,9,6,4), Ring endomorphism of
Finite Field in z of size 2^2
++ Defn: z |--> z + 1),
++ ((z, 1, z, z, z, z + 1, z, z, z, z, z, z, z + 1, z, z, z, z, z +
1, z, z, z); (1,11,5,12,3,19)(2,8)(6,18,13)(7,17,15)(9,10,14,16,20,21), Ring
endomorphism of Finite Field in z of size 2^2
+ 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
+- Defn: z |--> z),
+ ((z, z, z, z, z, z, z, z, z, z, z, z, z, z, z, z, z, z, z, z,
z); (), Ring endomorphism of Finite Field in z of size 2^2
+ Defn: z |--> z)]
+ """
+diff --git a/src/sage/combinat/root_system/hecke_algebra_representation.py
b/src/sage/combinat/root_system/hecke_algebra_representation.py
+index bde2823421..bffcc85f6e 100644
+--- a/src/sage/combinat/root_system/hecke_algebra_representation.py
++++ b/src/sage/combinat/root_system/hecke_algebra_representation.py
+@@ -357,7 +357,7 @@ class HeckeAlgebraRepresentation(WithEqualityById,
SageObject):
+ sage: q1, q2 = K.gens()
+ sage: KW = W.algebra(K)
+ sage: x = KW.an_element(); x
+- 123 + 3*32 + 2*3 + e
++ 123 + 3*2312 + 2*31 + e
+
+ sage: T = KW.demazure_lusztig_operators(q1,q2)
+ sage: T12 = T.Tw( (1,2) )
+diff --git a/src/sage/combinat/symmetric_group_algebra.py
b/src/sage/combinat/symmetric_group_algebra.py
+index c3d67555a6..da953d2b01 100644
+--- a/src/sage/combinat/symmetric_group_algebra.py
++++ b/src/sage/combinat/symmetric_group_algebra.py
+@@ -101,7 +101,7 @@ def SymmetricGroupAlgebra(R, W, category=None):
+ sage: SGA.group()
+ Weyl Group of type ['A', 3] (as a matrix group acting on the ambient
space)
+ sage: SGA.an_element()
+- s1*s2*s3 + 3*s3*s2 + 2*s3 + 1
++ s1*s2*s3 + 3*s2*s3*s1*s2 + 2*s3*s1 + 1
+
+ The preferred way to construct the symmetric group algebra is to
+ go through the usual ``algebra`` method::
+diff --git a/src/sage/groups/abelian_gps/abelian_group_gap.py
b/src/sage/groups/abelian_gps/abelian_group_gap.py
+index a4b047113c..86090b4353 100644
+--- a/src/sage/groups/abelian_gps/abelian_group_gap.py
++++ b/src/sage/groups/abelian_gps/abelian_group_gap.py
+@@ -338,7 +338,7 @@ class AbelianGroup_gap(UniqueRepresentation,
GroupMixinLibGAP, ParentLibGAP, Abe
+ if isinstance(x, AbelianGroupElement_gap):
+ try:
+ if x in self._cover:
+- x = self.gap().NaturalHomomorphism().Image(x.gap())
++ x =
self._cover.gap().NaturalHomomorphismByNormalSubgroup(self._relations).Image(x.gap())
+ else:
+ x = x.gap()
+ except AttributeError:
+@@ -1043,7 +1043,7 @@ class AbelianGroupQuotient_gap(AbelianGroup_gap):
+ From: Abelian group with gap, generator orders (4,)
+ To: Quotient abelian group with generator orders (2,)
+ """
+- phi = self.gap().NaturalHomomorphism()
++ phi =
self._cover.gap().NaturalHomomorphismByNormalSubgroup(self._relations)
+ Hom = self._cover.Hom(self)
+ return Hom(phi)
+
+diff --git a/src/sage/groups/finitely_presented.py
b/src/sage/groups/finitely_presented.py
+index d953022d3d..ad339b8965 100644
+--- a/src/sage/groups/finitely_presented.py
++++ b/src/sage/groups/finitely_presented.py
+@@ -596,9 +596,9 @@ class RewritingSystem():
+ sage: k = G.rewriting_system()
+ sage: k.gap()
+ Knuth Bendix Rewriting System for Monoid( [ a, A, b, B ] ) with
rules
+- [ [ a^2, <identity ...> ], [ a*A, <identity ...> ],
+- [ A*a, <identity ...> ], [ b^2, <identity ...> ],
+- [ b*B, <identity ...> ], [ B*b, <identity ...> ] ]
++ [ [ a*A, <identity ...> ], [ A*a, <identity ...> ],
++ [ b*B, <identity ...> ], [ B*b, <identity ...> ],
++ [ a^2, <identity ...> ], [ b^2, <identity ...> ] ]
+ """
+ return self._gap
+
+diff --git a/src/sage/groups/fqf_orthogonal.py
b/src/sage/groups/fqf_orthogonal.py
+index 75de408912..dd7d84d960 100644
+--- a/src/sage/groups/fqf_orthogonal.py
++++ b/src/sage/groups/fqf_orthogonal.py
+@@ -143,7 +143,7 @@ class
FqfOrthogonalGroup(AbelianGroupAutomorphismGroup_subgroup):
+ [2/3 0 0]
+ [ 0 2/3 0]
+ [ 0 0 4/3]
+- generated by 2 elements
++ generated by 3 elements
+ sage: q = matrix.diagonal(QQ, [3/2, 1/4, 1/4])
+ sage: T = TorsionQuadraticForm(q)
+ sage: T.orthogonal_group().order()
+diff --git a/src/sage/groups/libgap_wrapper.pyx
b/src/sage/groups/libgap_wrapper.pyx
+index a76afc2ac9..9340c0d6c6 100644
+--- a/src/sage/groups/libgap_wrapper.pyx
++++ b/src/sage/groups/libgap_wrapper.pyx
+@@ -25,7 +25,7 @@ Note how we call the constructor of both superclasses to
initialize
+ its output via LibGAP::
+
+ sage: FooGroup()
+- <pc group of size 3 with 1 generators>
++ <pc group of size 3 with 1 generator>
+ sage: type(FooGroup().gap())
+ <class 'sage.libs.gap.element.GapElement'>
+
+@@ -106,7 +106,7 @@ class ParentLibGAP(SageObject):
+ ....: ParentLibGAP.__init__(self, lg)
+ ....: Group.__init__(self)
+ sage: FooGroup()
+- <pc group of size 3 with 1 generators>
++ <pc group of size 3 with 1 generator>
+ """
+
+ def __init__(self, libgap_parent, ambient=None):
+@@ -461,7 +461,7 @@ cdef class ElementLibGAP(MultiplicativeGroupElement):
+ ....: ParentLibGAP.__init__(self, lg)
+ ....: Group.__init__(self)
+ sage: FooGroup()
+- <pc group of size 3 with 1 generators>
++ <pc group of size 3 with 1 generator>
+ sage: FooGroup().gens()
+ (f1,)
+ """
+diff --git a/src/sage/groups/matrix_gps/finitely_generated.py
b/src/sage/groups/matrix_gps/finitely_generated.py
+index a6d3dc0251..63956ad5f1 100644
+--- a/src/sage/groups/matrix_gps/finitely_generated.py
++++ b/src/sage/groups/matrix_gps/finitely_generated.py
+@@ -563,9 +563,6 @@ class FinitelyGeneratedMatrixGroup_gap(MatrixGroup_gap):
+ 21499084800
+ sage: P = G.as_permutation_group()
+ sage: Psmaller = G.as_permutation_group(algorithm="smaller",
seed=6)
+- sage: P == Psmaller # see the note below
+- True
+- sage: Psmaller = G.as_permutation_group(algorithm="smaller")
+ sage: P == Psmaller
+ False
+ sage: P.cardinality()
+diff --git a/src/sage/groups/perm_gps/partn_ref2/refinement_generic.pyx
b/src/sage/groups/perm_gps/partn_ref2/refinement_generic.pyx
+index f2ccca042a..47d6862333 100644
+--- a/src/sage/groups/perm_gps/partn_ref2/refinement_generic.pyx
++++ b/src/sage/groups/perm_gps/partn_ref2/refinement_generic.pyx
+@@ -427,7 +427,7 @@ cdef class LabelledBranching:
+ sage: from sage.groups.perm_gps.partn_ref2.refinement_generic
import LabelledBranching
+ sage: L = LabelledBranching(3)
+ sage: L.small_generating_set()
+- []
++ [()]
+ sage: L.add_gen(libgap.eval('(1,2,3)'))
+ sage: L.small_generating_set()
+ [(1,2,3)]
+diff --git a/src/sage/groups/perm_gps/permgroup.py
b/src/sage/groups/perm_gps/permgroup.py
+index 7723ec2526..aa60cc6874 100644
+--- a/src/sage/groups/perm_gps/permgroup.py
++++ b/src/sage/groups/perm_gps/permgroup.py
+@@ -926,7 +926,7 @@ class PermutationGroup_generic(FiniteGroup):
+ sage: f = PG._coerce_map_from_(MG)
+ sage: mg = MG.an_element()
+ 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)
++
(1,2,6,19,35,33)(3,9,26,14,31,23)(4,13,5)(7,22,17)(8,24,12)(10,16,32,27,20,28)(11,30,18)(15,25,36,34,29,21)
+ sage: PG(p._gap_()) == p
+ True
+
+@@ -972,12 +972,12 @@ class PermutationGroup_generic(FiniteGroup):
+ sage: P = G.as_permutation_group(algorithm='smaller', seed=5)
+ sage: P1 = G.as_permutation_group()
+ sage: P == P1
+- False
++ True
+ sage: g1, g2, g3 = G.gens()
+ sage: P(g1*g2)
+- (1,3,7,12)(2,4,8,10)(5,11)(6,9)
++ (1,4,13,11)(2,5,14,18)(3,15,8,16)(6,7)(9,20,19,12)(10,17)
+ sage: P1(g1*g2)
+-
(2,29,25,68)(3,57,13,54)(4,11,72,37)(5,39,60,23)(6,64,75,63)(7,21,50,73)(8,46,38,32)(9,74,35,18)(10,44,49,48)(12,16,34,71)(14,79,27,40)(15,26)(17,62,59,76)(19,78,70,65)(20,22,58,51)(24,33,36,43)(28,81,80,52)(30,53,56,69)(31,61)(41,42,67,55)(45,77)(47,66)
++ (1,4,13,11)(2,5,14,18)(3,15,8,16)(6,7)(9,20,19,12)(10,17)
+
+ Another check for :trac:`5583`::
+
+@@ -1302,7 +1302,7 @@ class PermutationGroup_generic(FiniteGroup):
+ sage: G.gens_small() # random
+ [('b','c'), ('a','c','b')] ## (on 64-bit Linux)
+ [('a','b'), ('a','c','b')] ## (on Solaris)
+- sage: len(G.gens_small()) == 2
++ sage: len(G.gens_small()) == 2 # random
+ True
+ """
+ gens = self._libgap_().SmallGeneratingSet()
+@@ -4370,17 +4370,23 @@ class PermutationGroup_generic(FiniteGroup):
+
+ ::
+
+- sage: G = PermutationGroup([[(1,2,3,4,5)],[(1,2)]]) #S_5 on [1..5]
+- sage: G.is_transitive([1,4,5])
++ sage: G = PermutationGroup([[(1,2,3,4,5)],[(1,2)],[(6,7)]])
++ sage: G.is_transitive([1,2,3,4,5])
+ True
+- sage: G.is_transitive([2..6])
++ sage: G.is_transitive([1..7])
+ False
+ sage: G.is_transitive(G.non_fixed_points())
+- True
++ False
+ sage: H = PermutationGroup([[(1,2,3)],[(4,5,6)]])
+ sage: H.is_transitive(H.non_fixed_points())
+ False
+
++ If `G` does not act on the domain, it always returns ``False``::
++
++ sage: G = PermutationGroup([[(1,2,3,4,5)],[(1,2)]]) #S_5 on [1..5]
++ sage: G.is_transitive([1,4,5])
++ False
++
+ Note that this differs from the definition in GAP, where
+ ``IsTransitive`` returns whether the group is transitive on the
+ set of points moved by the group.
+@@ -4436,12 +4442,16 @@ class PermutationGroup_generic(FiniteGroup):
+ sage: G = PermutationGroup([[(1,2,3,4)],[(2,4)]])
+ sage: G.is_primitive([1..4])
+ False
+- sage: G.is_primitive([1,2,3])
+- True
+ sage: G = PermutationGroup([[(3,4,5,6)],[(3,4)]]) #S_4 on [3..6]
+ sage: G.is_primitive(G.non_fixed_points())
+ True
+
++ If `G` does not act on the domain, it always returns ``False``::
++
++ sage: G = PermutationGroup([[(1,2,3,4)],[(2,4)]])
++ sage: G.is_primitive([1,2,3])
++ False
++
+ """
+ #If the domain is not a subset of self.domain(), then the
+ #action isn't primitive.
+diff --git a/src/sage/interfaces/gap.py b/src/sage/interfaces/gap.py
+index ba175d4e34..d866cd3d60 100644
+--- a/src/sage/interfaces/gap.py
++++ b/src/sage/interfaces/gap.py
+@@ -1512,6 +1512,8 @@ def gap_reset_workspace(max_workspace_size=None,
verbose=False):
+ """
+ # Create new workspace with filename WORKSPACE
+ g = Gap(use_workspace_cache=False, max_workspace_size=None)
++ g.eval('ColorPrompt(false)')
++ g.eval('SetUserPreference("UseColorPrompt", false)')
+ g.eval('SetUserPreference("HistoryMaxLines", 30)')
+ from sage.tests.gap_packages import all_installed_packages
+ for pkg in all_installed_packages(gap=g):
+diff --git a/src/sage/libs/gap/element.pyx b/src/sage/libs/gap/element.pyx
+index be43c4c3ee..e2681165a2 100644
+--- a/src/sage/libs/gap/element.pyx
++++ b/src/sage/libs/gap/element.pyx
+@@ -130,6 +130,7 @@ cdef char *capture_stdout(Obj func, Obj obj):
+ """
+ cdef Obj s, stream, output_text_string
+ cdef UInt res
++ cdef TypOutputFile output
+ # The only way to get a string representation of an object that is truly
+ # consistent with how it would be represented at the GAP REPL is to call
+ # ViewObj on it. Unfortunately, ViewObj *prints* to the output stream,
+@@ -145,12 +146,12 @@ cdef char *capture_stdout(Obj func, Obj obj):
+ output_text_string = GAP_ValueGlobalVariable("OutputTextString")
+ stream = CALL_2ARGS(output_text_string, s, GAP_True)
+
+- if not OpenOutputStream(stream):
++ if not OpenOutputStream(&output, stream):
+ raise GAPError("failed to open output capture stream for "
+ "representing GAP object")
+
+ CALL_1ARGS(func, obj)
+- CloseOutput()
++ CloseOutput(&output)
+ return CSTR_STRING(s)
+ finally:
+ GAP_Leave()
+diff --git a/src/sage/libs/gap/gap_includes.pxd
b/src/sage/libs/gap/gap_includes.pxd
+index 5a9ab486f7..34035fe4e6 100644
+--- a/src/sage/libs/gap/gap_includes.pxd
++++ b/src/sage/libs/gap/gap_includes.pxd
+@@ -76,8 +76,10 @@ cdef extern from "gap/intobj.h" nogil:
+
+
+ cdef extern from "gap/io.h" nogil:
+- UInt OpenOutputStream(Obj stream)
+- UInt CloseOutput()
++ ctypedef struct TypOutputFile:
++ pass
++ UInt OpenOutputStream(TypOutputFile* output, Obj stream)
++ UInt CloseOutput(TypOutputFile* output)
+
+
+ cdef extern from "gap/libgap-api.h" nogil:
+diff --git a/src/sage/libs/gap/libgap.pyx b/src/sage/libs/gap/libgap.pyx
+index b1a64e5793..6a36613aa8 100644
+--- a/src/sage/libs/gap/libgap.pyx
++++ b/src/sage/libs/gap/libgap.pyx
+@@ -695,7 +695,7 @@ class Gap(Parent):
+ sage: libgap.List
+ <Gap function "List">
+ sage: libgap.GlobalRandomSource
+- <RandomSource in IsGlobalRandomSource>
++ <RandomSource in IsGAPRandomSource>
+ """
+ if name in dir(self.__class__):
+ return getattr(self.__class__, name)
+diff --git a/src/sage/libs/gap/util.pyx b/src/sage/libs/gap/util.pyx
+index 344ab88c42..635098767d 100644
+--- a/src/sage/libs/gap/util.pyx
++++ b/src/sage/libs/gap/util.pyx
+@@ -362,15 +362,9 @@ cdef Obj gap_eval(str gap_string) except? NULL:
+ GAPError: Error, Variable: 'Complex' must have a value
+ Syntax error: ; expected in stream:1
+ Complex Field with 53 bits of precision;;
+- ^^^^^^^^^^^^
++ ^^^^^
+ Error, Variable: 'with' must have a value
+- Syntax error: ; expected in stream:1
+- Complex Field with 53 bits of precision;;
+- ^^^^^^^^^^^^^^^^^^^^
+ Error, Variable: 'bits' must have a value
+- Syntax error: ; expected in stream:1
+- Complex Field with 53 bits of precision;;
+- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ Error, Variable: 'precision' must have a value
+
+ Test that on a subsequent attempt we get the same message (no garbage was
+diff --git a/src/sage/tests/gap_packages.py b/src/sage/tests/gap_packages.py
+index 2e4518ca22..c302b169b8 100644
+--- a/src/sage/tests/gap_packages.py
++++ b/src/sage/tests/gap_packages.py
+@@ -103,7 +103,7 @@ def all_installed_packages(ignore_dot_gap=False, gap=None):
+
+ sage: from sage.tests.gap_packages import all_installed_packages
+ sage: all_installed_packages()
+- (...'GAPDoc'...)
++ (...'gapdoc'...)
+ sage: all_installed_packages(ignore_dot_gap=True) ==
all_installed_packages(gap=gap, ignore_dot_gap=True)
+ True
+ """
Copied: sagemath/repos/community-testing-x86_64/sagemath-linbox-1.7.patch (from
rev 1399981, sagemath/trunk/sagemath-linbox-1.7.patch)
===================================================================
--- community-testing-x86_64/sagemath-linbox-1.7.patch
(rev 0)
+++ community-testing-x86_64/sagemath-linbox-1.7.patch 2023-02-12 09:59:08 UTC
(rev 1399982)
@@ -0,0 +1,58 @@
+diff --git a/src/sage/libs/linbox/conversion.pxd
b/src/sage/libs/linbox/conversion.pxd
+index 7794c9e..1753277 100644
+--- a/src/sage/libs/linbox/conversion.pxd
++++ b/src/sage/libs/linbox/conversion.pxd
+@@ -177,9 +177,8 @@ cdef inline Vector_integer_dense
new_sage_vector_integer_dense(P, DenseVector_in
+ - v -- linbox vector
+ """
+ cdef Vector_integer_dense res = P()
+- cdef cppvector[Integer] * vec = &v.refRep()
+ cdef size_t i
+ for i in range(<size_t> res._degree):
+- mpz_set(res._entries[i], vec[0][i].get_mpz_const())
++ mpz_set(res._entries[i], v.getEntry(i).get_mpz_const())
+
+ return res
+diff --git a/src/sage/libs/linbox/linbox.pxd b/src/sage/libs/linbox/linbox.pxd
+index 9112d15..dcc4829 100644
+--- a/src/sage/libs/linbox/linbox.pxd
++++ b/src/sage/libs/linbox/linbox.pxd
+@@ -32,7 +32,7 @@ cdef extern from "linbox/matrix/dense-matrix.h":
+ ctypedef Modular_double Field
+ ctypedef double Element
+ DenseMatrix_Modular_double(Field F, size_t m, size_t n)
+- DenseMatrix_Modular_double(Field F, Element*, size_t m, size_t n)
++ DenseMatrix_Modular_double(Field F, size_t m, size_t n, Element*)
+ void setEntry(size_t i, size_t j, Element& a)
+ Element &getEntry(size_t i, size_t j)
+
+@@ -42,7 +42,7 @@ cdef extern from "linbox/matrix/dense-matrix.h":
+ ctypedef Modular_float Field
+ ctypedef float Element
+ DenseMatrix_Modular_float(Field F, size_t m, size_t n)
+- DenseMatrix_Modular_float(Field F, Element*, size_t m, size_t n)
++ DenseMatrix_Modular_float(Field F, size_t m, size_t n, Element*)
+ void setEntry(size_t i, size_t j, Element& a)
+ Element &getEntry(size_t i, size_t j)
+
+@@ -101,7 +101,6 @@ cdef extern from "linbox/vector/vector.h":
+ DenseVector_integer (Field &F)
+ DenseVector_integer (Field &F, long& m)
+ DenseVector_integer (Field &F, cppvector[Integer]&)
+- cppvector[Element]& refRep()
+ size_t size()
+ void resize(size_t)
+ void resize(size_t n, const Element&)
+diff --git a/src/sage/matrix/matrix_modn_dense_template.pxi
b/src/sage/matrix/matrix_modn_dense_template.pxi
+index 010365d..3d60726 100644
+--- a/src/sage/matrix/matrix_modn_dense_template.pxi
++++ b/src/sage/matrix/matrix_modn_dense_template.pxi
+@@ -221,7 +221,7 @@ cdef inline linbox_echelonize_efd(celement modulus,
celement* entries, Py_ssize_
+ return 0,[]
+
+ cdef ModField *F = new ModField(<long>modulus)
+- cdef DenseMatrix *A = new DenseMatrix(F[0],
<ModField.Element*>entries,<Py_ssize_t>nrows, <Py_ssize_t>ncols)
++ cdef DenseMatrix *A = new DenseMatrix(F[0], <Py_ssize_t>nrows,
<Py_ssize_t>ncols, <ModField.Element*>entries)
+ cdef Py_ssize_t r = reducedRowEchelonize(A[0])
+ cdef Py_ssize_t i,j
+ for i in range(nrows):
Copied: sagemath/repos/community-testing-x86_64/sagemath-numpy-1.24.patch (from
rev 1399981, sagemath/trunk/sagemath-numpy-1.24.patch)
===================================================================
--- community-testing-x86_64/sagemath-numpy-1.24.patch
(rev 0)
+++ community-testing-x86_64/sagemath-numpy-1.24.patch 2023-02-12 09:59:08 UTC
(rev 1399982)
@@ -0,0 +1,58 @@
+diff --git a/src/sage/misc/persist.pyx b/src/sage/misc/persist.pyx
+index 3ac5f1cc2b0..cb1f327c199 100644
+--- a/src/sage/misc/persist.pyx
++++ b/src/sage/misc/persist.pyx
+@@ -157,7 +157,7 @@ def load(*filename, compress=True, verbose=True, **kwargs):
+ ....: _ = f.write(code)
+ sage: load(t)
+ sage: hello
+- <fortran object>
++ <fortran ...>
+ """
+ import sage.repl.load
+ if len(filename) != 1:
+diff --git a/src/sage/plot/complex_plot.pyx b/src/sage/plot/complex_plot.pyx
+index 6f0aeab87ae..b77c69b2f77 100644
+--- a/src/sage/plot/complex_plot.pyx
++++ b/src/sage/plot/complex_plot.pyx
+@@ -461,6 +461,8 @@ def complex_to_rgb(z_values, contoured=False, tiled=False,
+ rgb[i, j, 2] = b
+
+ sig_off()
++ nan_indices = np.isnan(rgb).any(-1) # Mask for undefined points
++ rgb[nan_indices] = 1 # Make nan_indices white
+ return rgb
+
+
+diff --git a/src/sage/plot/histogram.py b/src/sage/plot/histogram.py
+index 3bc2b76b58e..388c2d1391d 100644
+--- a/src/sage/plot/histogram.py
++++ b/src/sage/plot/histogram.py
+@@ -87,13 +87,8 @@ class Histogram(GraphicPrimitive):
+
+ TESTS::
+
+- sage: h = histogram([10,3,5], normed=True)[0]
+- doctest:warning...:
+- DeprecationWarning: the 'normed' option is deprecated. Use
'density' instead.
+- See https://trac.sagemath.org/25260 for details.
++ sage: h = histogram([10,3,5], density=True)[0]
+ sage: h.get_minmax_data()
+- doctest:warning ...
+- ...VisibleDeprecationWarning: Passing `normed=True` on
non-uniform bins has always been broken, and computes neither the probability
density function nor the probability mass function. The result is only correct
if the bins are uniform, when density=True will produce the same result anyway.
The argument will be removed in a future version of numpy.
+ {'xmax': 10.0, 'xmin': 3.0, 'ymax': 0.476190476190..., 'ymin': 0}
+ """
+ import numpy
+diff --git a/src/sage/repl/ipython_extension.py
b/src/sage/repl/ipython_extension.py
+index 798671aab42..cad6a47ca8b 100644
+--- a/src/sage/repl/ipython_extension.py
++++ b/src/sage/repl/ipython_extension.py
+@@ -405,7 +405,7 @@ class SageMagics(Magics):
+ ....: C END FILE FIB1.F
+ ....: ''')
+ sage: fib
+- <fortran object>
++ <fortran ...>
+ sage: from numpy import array
+ sage: a = array(range(10), dtype=float)
+ sage: fib(a, 10)
Copied:
sagemath/repos/community-testing-x86_64/sagemath-optional-packages.patch (from
rev 1399981, sagemath/trunk/sagemath-optional-packages.patch)
===================================================================
--- community-testing-x86_64/sagemath-optional-packages.patch
(rev 0)
+++ community-testing-x86_64/sagemath-optional-packages.patch 2023-02-12
09:59:08 UTC (rev 1399982)
@@ -0,0 +1,14 @@
+diff --git a/pkgs/sagemath-standard/setup.py b/pkgs/sagemath-standard/setup.py
+index 6744236593..a038006449 100755
+--- a/pkgs/sagemath-standard/setup.py
++++ b/pkgs/sagemath-standard/setup.py
+@@ -81,8 +81,7 @@ else:
+ optional_packages_with_extensions = ['mcqd', 'bliss', 'tdlib',
+ 'coxeter3', 'sirocco', 'meataxe']
+ distributions += ['sagemath-{}'.format(pkg)
+- for pkg in optional_packages_with_extensions
+- if is_package_installed_and_updated(pkg)]
++ for pkg in optional_packages_with_extensions]
+ log.warn('distributions = {0}'.format(distributions))
+ from sage_setup.find import find_python_sources, find_extra_files
+ python_packages, python_modules, cython_modules = find_python_sources(
Copied:
sagemath/repos/community-testing-x86_64/sagemath-singular-4.3.1.p3.patch (from
rev 1399981, sagemath/trunk/sagemath-singular-4.3.1.p3.patch)
===================================================================
--- community-testing-x86_64/sagemath-singular-4.3.1.p3.patch
(rev 0)
+++ community-testing-x86_64/sagemath-singular-4.3.1.p3.patch 2023-02-12
09:59:08 UTC (rev 1399982)
@@ -0,0 +1,201 @@
+diff --git a/build/pkgs/singular/checksums.ini
b/build/pkgs/singular/checksums.ini
+index 2e33a405d3..313463d2fe 100644
+--- a/build/pkgs/singular/checksums.ini
++++ b/build/pkgs/singular/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=singular-VERSION.tar.gz
+-sha1=6c2b622d3681e2de3d58d30c654d43d3e32b720c
+-md5=abb1e37c794472e7760655358ab66054
+-cksum=17455733
++sha1=28bb3ee97ef48d04dfa96de182fd93eebe08426c
++md5=fc0a4f5720dadba45a52ee94324ce00c
++cksum=1573851737
+
upstream_url=ftp://jim.mathematik.uni-kl.de/pub/Math/Singular/SOURCES/4-3-1/singular-VERSION.tar.gz
+diff --git a/build/pkgs/singular/package-version.txt
b/build/pkgs/singular/package-version.txt
+index 11300c77e7..66e2bede53 100644
+--- a/build/pkgs/singular/package-version.txt
++++ b/build/pkgs/singular/package-version.txt
+@@ -1 +1 @@
+-4.3.1p1
++4.3.1p3
+diff --git a/src/sage/libs/singular/decl.pxd b/src/sage/libs/singular/decl.pxd
+index 8e3ac314b6..747a6b1e2f 100644
+--- a/src/sage/libs/singular/decl.pxd
++++ b/src/sage/libs/singular/decl.pxd
+@@ -574,7 +574,7 @@ cdef extern from "singular/Singular/libsingular.h":
+
+ # gets a component out of a polynomial vector
+
+- poly *pTakeOutComp1(poly **, int)
++ poly *pTakeOutComp(poly **, int)
+
+ # deep copy p
+
+diff --git a/src/sage/libs/singular/singular.pyx
b/src/sage/libs/singular/singular.pyx
+index d8ea7b07f3..368ee09d50 100644
+--- a/src/sage/libs/singular/singular.pyx
++++ b/src/sage/libs/singular/singular.pyx
+@@ -1726,20 +1726,17 @@ cdef int overflow_check(unsigned long e, ring *_ring)
except -1:
+
+ Whether an overflow occurs or not partially depends
+ on the number of variables in the ring. See trac ticket
+- :trac:`11856`. With Singular 4, it is by default optimized
+- for at least 4 variables on 64-bit and 2 variables on 32-bit,
+- which in both cases makes a maximal default exponent of
+- 2^16-1.
++ :trac:`11856`.
+
+ EXAMPLES::
+
+ sage: P.<x,y> = QQ[]
+- sage: y^(2^16-1)
+- y^65535
+- sage: y^2^16
++ sage: y^(2^30)
++ y^1073741824
++ sage: y^2^32
+ Traceback (most recent call last):
+ ...
+- OverflowError: exponent overflow (65536)
++ OverflowError: exponent overflow (4294967296)
+ """
+ if unlikely(e > _ring.bitmask):
+ raise OverflowError("exponent overflow (%d)"%(e))
+diff --git a/src/sage/rings/polynomial/multi_polynomial_ideal.py
b/src/sage/rings/polynomial/multi_polynomial_ideal.py
+index 7dc058a22f..71494eddbc 100644
+--- a/src/sage/rings/polynomial/multi_polynomial_ideal.py
++++ b/src/sage/rings/polynomial/multi_polynomial_ideal.py
+@@ -60,7 +60,7 @@ We compute in a quotient of a polynomial ring over
`\ZZ/17\ZZ`::
+ Note that the result of a computation is not necessarily reduced::
+
+ sage: (a+b)^17
+- 256*a*b^16 + 256*b^17
++ a*b^16 + b^17
+ sage: S(17) == 0
+ True
+
+diff --git a/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
b/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
+index 4dad016b33..1003c45d97 100644
+--- a/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
++++ b/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
+@@ -193,7 +193,7 @@ from sage.libs.singular.decl cimport (
+ p_IsUnit, p_IsOne, p_Series, p_Head, idInit, fast_map_common_subexp,
id_Delete,
+ p_IsHomogeneous, p_Homogen, p_Totaldegree,pLDeg1_Totaldegree,
singclap_pdivide, singclap_factorize,
+ idLift, IDELEMS, On, Off, SW_USE_CHINREM_GCD, SW_USE_EZGCD,
+- p_LmIsConstant, pTakeOutComp1, singclap_gcd, pp_Mult_qq, p_GetMaxExp,
++ p_LmIsConstant, pTakeOutComp, singclap_gcd, pp_Mult_qq, p_GetMaxExp,
+ pLength, kNF, p_Neg, p_Minus_mm_Mult_qq, p_Plus_mm_Mult_qq,
+ pDiff, singclap_resultant, p_Normalize,
+ prCopyR, prCopyR_NoSort)
+@@ -1590,7 +1590,7 @@ cdef class
MPolynomialRing_libsingular(MPolynomialRing_base):
+ 9/4
+
+ sage: P.monomial_quotient(x,y) # Note the wrong result
+- x*y^65535*z^65535
++ x*y^1048575*z^1048575
+
+ sage: P.monomial_quotient(x,P(1))
+ x
+@@ -2250,7 +2250,7 @@ cdef class MPolynomial_libsingular(MPolynomial):
+ 9/4*x^2 - 1/4*y^2 - y - 1
+
+ sage: P.<x,y> = PolynomialRing(QQ,order='lex')
+- sage: (x^2^15) * x^2^15
++ sage: (x^2^32) * x^2^32
+ Traceback (most recent call last):
+ ...
+ OverflowError: exponent overflow (...)
+@@ -2374,7 +2374,7 @@ cdef class MPolynomial_libsingular(MPolynomial):
+ ValueError: not a 2nd power
+
+ sage: P.<x,y> = PolynomialRing(QQ,order='lex')
+- sage: (x+y^2^15)^10
++ sage: (x+y^2^32)^10
+ Traceback (most recent call last):
+ ....
+ OverflowError: exponent overflow (...)
+@@ -3455,16 +3455,16 @@ cdef class MPolynomial_libsingular(MPolynomial):
+ We are catching overflows::
+
+ sage: R.<x,y> = QQ[]
+- sage: n=100; f = x^n
++ sage: n=10000; f = x^n
+ sage: try:
+ ....: f.subs(x = x^n)
+ ....: print("no overflow")
+ ....: except OverflowError:
+ ....: print("overflow")
+- x^10000
++ x^100000000
+ no overflow
+
+- sage: n = 1000
++ sage: n = 100000
+ sage: try:
+ ....: f = x^n
+ ....: f.subs(x = x^n)
+@@ -4570,7 +4570,7 @@ cdef class MPolynomial_libsingular(MPolynomial):
+ l = []
+ for i from 0 <= i < IDELEMS(res):
+ for j from 1 <= j <= IDELEMS(_I):
+- l.append( new_MP(parent, pTakeOutComp1(&res.m[i], j)) )
++ l.append( new_MP(parent, pTakeOutComp(&res.m[i], 1)) )
+
+ id_Delete(&fI, r)
+ id_Delete(&_I, r)
+@@ -4638,7 +4638,7 @@ cdef class MPolynomial_libsingular(MPolynomial):
+
+ sage: f = 3*x
+ sage: f.reduce([2*x,y])
+- 3*x
++ x
+
+ The reduction is not canonical when ``I`` is not a Groebner
+ basis::
+diff --git a/src/sage/rings/polynomial/plural.pyx
b/src/sage/rings/polynomial/plural.pyx
+index 1c9f35e56b..587511c388 100644
+--- a/src/sage/rings/polynomial/plural.pyx
++++ b/src/sage/rings/polynomial/plural.pyx
+@@ -1619,10 +1619,10 @@ cdef class NCPolynomial_plural(RingElement):
+ sage: P = A.g_algebra(relations={y*x:-x*y + z}, order='lex')
+ sage: P.inject_variables()
+ Defining x, z, y
+- sage: (x^2^15) * x^2^15
++ sage: (x^2^31) * x^2^31
+ Traceback (most recent call last):
+ ...
+- OverflowError: exponent overflow (65536)
++ OverflowError: exponent overflow (2147483648)
+ """
+ # all currently implemented rings are commutative
+ cdef poly *_p
+@@ -1689,10 +1689,10 @@ cdef class NCPolynomial_plural(RingElement):
+ sage: P = A.g_algebra(relations={y*x:-x*y + z}, order='lex')
+ sage: P.inject_variables()
+ Defining x, z, y
+- sage: (x+y^2^15)^10
++ sage: (x+y^2^31)^10
+ Traceback (most recent call last):
+ ....
+- OverflowError: exponent overflow (327680)
++ OverflowError: exponent overflow (2147483648)
+ """
+ if type(exp) is not Integer:
+ try:
+diff --git a/src/sage/structure/element.pyx b/src/sage/structure/element.pyx
+index b5d83ef71b..f1dc37cad0 100644
+--- a/src/sage/structure/element.pyx
++++ b/src/sage/structure/element.pyx
+@@ -2704,10 +2704,10 @@ cdef class RingElement(ModuleElement):
+ with Singular 4::
+
+ sage: K.<x,y> = ZZ[]
+- sage: (x^12345)^54321
++ sage: (x^123456)^654321
+ Traceback (most recent call last):
+ ...
+- OverflowError: exponent overflow (670592745)
++ OverflowError: exponent overflow (80779853376)
+ """
+ return arith_generic_power(self, n)
+
Copied: sagemath/repos/community-testing-x86_64/sagemath-tachyon-0.99.patch
(from rev 1399981, sagemath/trunk/sagemath-tachyon-0.99.patch)
===================================================================
--- community-testing-x86_64/sagemath-tachyon-0.99.patch
(rev 0)
+++ community-testing-x86_64/sagemath-tachyon-0.99.patch 2023-02-12
09:59:08 UTC (rev 1399982)
@@ -0,0 +1,78 @@
+--- a/src/sage/interfaces/tachyon.py
++++ b/src/sage/interfaces/tachyon.py
+@@ -74,14 +74,14 @@ written in the sequence they are listed in the examples in
this section.
+ The ``PROJECTION`` keyword must be followed by one of the supported
+ camera projection mode identifiers ``PERSPECTIVE``, ``PERSPECTIVE_DOF``,
+ ``ORTHOGRAPHIC``, or ``FISHEYE``. The ``FISHEYE`` projection mode
+-requires two extra parameters ``FOCALLENGTH`` and ``APERTURE`` which
++requires two extra parameters ``FOCALDIST`` and ``APERTURE`` which
+ precede the regular camera options.
+
+ ::
+
+ Camera
+ projection perspective_dof
+- focallength 0.75
++ FOCALDIST 0.75
+ aperture 0.02
+ Zoom 0.666667
+ Aspectratio 1.000000
+--- a/src/sage/plot/plot3d/tachyon.py
++++ b/src/sage/plot/plot3d/tachyon.py
+@@ -92,7 +92,7 @@ angle, right angle)::
+ Finally there is the ``projection='perspective_dof'`` option. ::
+
+ sage: T = Tachyon(xres=800, antialiasing=4, raydepth=10,
+- ....: projection='perspective_dof', focallength='1.0', aperture='.0025')
++ ....: projection='perspective_dof', FOCALDIST='1.0', aperture='.0025')
+ sage: T.light((0,5,7), 1.0, (1,1,1))
+ sage: T.texture('t1', opacity=1, specular=.3)
+ sage: T.texture('t2', opacity=1, specular=.3, color=(0,0,1))
+@@ -186,7 +186,7 @@ class Tachyon(WithEqualityById, SageObject):
+ or ``'fisheye'``.
+ - ``frustum`` - (default ''), otherwise list of four numbers. Only
+ used with projection='fisheye'.
+- - ``focallength`` - (default ''), otherwise a number. Only used
++ - ``FOCALDIST`` - (default ''), otherwise a number. Only used
+ with projection='perspective_dof'.
+ - ``aperture`` - (default ''), otherwise a number. Only used
+ with projection='perspective_dof'.
+@@ -331,7 +331,7 @@ class Tachyon(WithEqualityById, SageObject):
+ Use of the ``projection='perspective_dof'`` option. This may not be
+ implemented correctly. ::
+
+- sage: T = Tachyon(xres=800,antialiasing=4, raydepth=10,
projection='perspective_dof', focallength='1.0', aperture='.0025')
++ sage: T = Tachyon(xres=800,antialiasing=4, raydepth=10,
projection='perspective_dof', FOCALDIST='1.0', aperture='.0025')
+ sage: T.light((0,5,7), 1.0, (1,1,1))
+ sage: T.texture('t1', opacity=1, specular=.3)
+ sage: T.texture('t2', opacity=1, specular=.3, color=(0,0,1))
+@@ -365,7 +365,7 @@ class Tachyon(WithEqualityById, SageObject):
+ look_at=[0, 0, 0],
+ viewdir=None,
+ projection='PERSPECTIVE',
+- focallength='',
++ FOCALDIST='',
+ aperture='',
+ frustum=''):
+ r"""
+@@ -391,7 +391,7 @@ class Tachyon(WithEqualityById, SageObject):
+ self._camera_position = (-3, 0, 0) # default value
+ self._updir = updir
+ self._projection = projection
+- self._focallength = focallength
++ self._FOCALDIST = FOCALDIST
+ self._aperture = aperture
+ self._frustum = frustum
+ self._objects = []
+@@ -624,9 +624,9 @@ class Tachyon(WithEqualityById, SageObject):
+ camera_out = r"""
+ camera
+ projection %s""" % (tostr(self._projection))
+- if self._focallength != '':
++ if self._FOCALDIST != '':
+ camera_out = camera_out + r"""
+- focallength %s""" % (float(self._focallength))
++ FOCALDIST %s""" % (float(self._FOCALDIST))
+ if self._aperture != '':
+ camera_out = camera_out + r"""
+ aperture %s""" % (float(self._aperture))
Copied: sagemath/repos/community-testing-x86_64/sagemath-tdlib-0.9.patch (from
rev 1399981, sagemath/trunk/sagemath-tdlib-0.9.patch)
===================================================================
--- community-testing-x86_64/sagemath-tdlib-0.9.patch
(rev 0)
+++ community-testing-x86_64/sagemath-tdlib-0.9.patch 2023-02-12 09:59:08 UTC
(rev 1399982)
@@ -0,0 +1,28 @@
+diff -up src/sage/graphs/graph_decompositions/sage_tdlib.cpp.orig
src/sage/graphs/graph_decompositions/sage_tdlib.cpp
+--- a/src/sage/graphs/graph_decompositions/sage_tdlib.cpp 2021-05-09
16:00:11.000000000 -0600
++++ b/src/sage/graphs/graph_decompositions/sage_tdlib.cpp 2021-06-16
08:33:47.325415307 -0600
+@@ -2,8 +2,8 @@
+ #include <map>
+
+ #include <boost/graph/adjacency_list.hpp>
+-#include "tdlib/TD_combinations.hpp"
+-#include "tdlib/TD_misc.hpp"
++#include <treedec/combinations.hpp>
++#include <treedec/misc.hpp>
+
+ #ifndef TD_STRUCT_VERTEX
+ #define TD_STRUCT_VERTEX
+@@ -16,13 +16,6 @@ struct Vertex{
+
+ typedef boost::adjacency_list<boost::setS, boost::vecS, boost::undirectedS,
Vertex> TD_graph_t;
+
+-struct bag{
+- std::set<unsigned int> bag;
+-};
+-
+-typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS,
bag> TD_tree_dec_t;
+-
+-
+ void make_tdlib_graph(TD_graph_t &G, std::vector<unsigned int> &V,
std::vector<unsigned int> &E){
+ unsigned int max = 0;
+ for(unsigned int i = 0; i < V.size(); i++)
Copied: sagemath/repos/community-testing-x86_64/test-optional.patch (from rev
1399981, sagemath/trunk/test-optional.patch)
===================================================================
--- community-testing-x86_64/test-optional.patch
(rev 0)
+++ community-testing-x86_64/test-optional.patch 2023-02-12 09:59:08 UTC
(rev 1399982)
@@ -0,0 +1,17 @@
+diff --git a/src/sage/doctest/control.py b/src/sage/doctest/control.py
+index 2d93841e50..937e20cd2e 100644
+--- a/src/sage/doctest/control.py
++++ b/src/sage/doctest/control.py
+@@ -414,10 +414,6 @@ class DocTestController(SageObject):
+ # that the package is actually installed).
+ if 'optional' in options.optional:
+ options.optional.discard('optional')
+- from sage.misc.package import list_packages
+- for pkg in list_packages('optional', local=True).values():
+- if pkg.is_installed() and pkg.installed_version ==
pkg.remote_version:
+- options.optional.add(pkg.name)
+
+ from sage.features import package_systems
+ options.optional.update(system.name
+
+