From 1879f0af5fcfaee8e6712c9811ea6d772a0ae931 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= Date: Thu, 18 Jul 2024 16:15:46 -0300 Subject: [PATCH 01/17] gap: fix doctests for gap 4.13.1 --- src/sage/combinat/matrices/latin.py | 2 +- src/sage/groups/cubic_braid.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/sage/combinat/matrices/latin.py b/src/sage/combinat/matrices/latin.py index 66952952854..29fbe2f960e 100644 --- a/src/sage/combinat/matrices/latin.py +++ b/src/sage/combinat/matrices/latin.py @@ -2443,7 +2443,7 @@ def p3_group_bitrade_generators(p): EXAMPLES:: sage: from sage.combinat.matrices.latin import * - sage: p3_group_bitrade_generators(3) + sage: p3_group_bitrade_generators(3) # random output ((2,6,7)(3,8,9), (1,2,3)(4,7,8)(5,6,9), (1,9,2)(3,7,4)(5,8,6), diff --git a/src/sage/groups/cubic_braid.py b/src/sage/groups/cubic_braid.py index d607435337a..e407b9d1326 100644 --- a/src/sage/groups/cubic_braid.py +++ b/src/sage/groups/cubic_braid.py @@ -284,7 +284,7 @@ def _richcmp_(self, other, op): EXAMPLES:: sage: CBG3 = CubicBraidGroup(3) - sage: sorted(CBG3) # indirect doctest + sage: sorted(CBG3) # indirect doctest, random output [(c0*c1^-1)^2, c0*c1^-1*c0, c0^-1*c1*c0^-1, c0^-1*c1^-1*c0, c1*c0^-1*c1, c0^-1*c1^-1*c0^-1, c0^-1*c1^-1, c1^-1*c0*c1^-1, c0*c1^-1*c0^-1, c0^-1*c1, c0^-1*c1*c0, c0*c1^-1, c1*c0^-1, From 414c7a25144bd34218afbc88a16d9188e95a8304 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= Date: Fri, 26 Apr 2024 18:31:37 -0300 Subject: [PATCH 02/17] gap: fix doctests for gap 4.13 In gap 4.13 there are some improvements, e.g. converting fp groups to permutation groups, computing abelianization of fp groups, which lead to different generators. This commit fixes doctests so they pass using gap 4.13. --- .../algebras/fusion_rings/fusion_double.py | 2 +- src/sage/categories/simplicial_sets.py | 26 +++++++++---------- src/sage/groups/finitely_presented.py | 22 ++++++++-------- src/sage/groups/perm_gps/permgroup_named.py | 18 ++++++------- 4 files changed, 33 insertions(+), 35 deletions(-) diff --git a/src/sage/algebras/fusion_rings/fusion_double.py b/src/sage/algebras/fusion_rings/fusion_double.py index 71277561331..3b681d75d3b 100644 --- a/src/sage/algebras/fusion_rings/fusion_double.py +++ b/src/sage/algebras/fusion_rings/fusion_double.py @@ -133,7 +133,7 @@ class FusionDouble(CombinatorialFreeModule): sage: G = SmallPermutationGroup(16,9) sage: F = FusionDouble(G, prefix='b', inject_variables=True) sage: b13^2 # long time (4s) - b0 + b2 + b4 + b15 + b16 + b17 + b18 + b24 + b26 + b27 + b0 + b3 + b4 """ @staticmethod def __classcall_private__(cls, G, prefix='s', inject_variables=False): diff --git a/src/sage/categories/simplicial_sets.py b/src/sage/categories/simplicial_sets.py index aabd3cdbb4f..14bebdcd080 100644 --- a/src/sage/categories/simplicial_sets.py +++ b/src/sage/categories/simplicial_sets.py @@ -591,9 +591,9 @@ def _canonical_twisting_operator(self): sage: X = simplicial_sets.Torus() sage: d = X._canonical_twisting_operator() sage: d - {(s_0 v_0, sigma_1): f3, (sigma_1, s_0 v_0): f2*f3^-1, (sigma_1, sigma_1): f2} + {(s_0 v_0, sigma_1): f2, (sigma_1, s_0 v_0): f1*f2^-1, (sigma_1, sigma_1): f1} sage: list(d.values())[0].parent() - Multivariate Laurent Polynomial Ring in f2, f3 over Integer Ring + Multivariate Laurent Polynomial Ring in f1, f2 over Integer Ring sage: Y = simplicial_sets.RealProjectiveSpace(2) sage: d2 = Y._canonical_twisting_operator() sage: d2 @@ -674,10 +674,10 @@ def twisted_chain_complex(self, twisting_operator=None, dimensions=None, augment sage: X = simplicial_sets.Torus() sage: C = X.twisted_chain_complex() sage: C.differential(1) - [ f3 - 1 f2*f3^-1 - 1 f2 - 1] + [ f2 - 1 f1*f2^-1 - 1 f1 - 1] sage: C.differential(2) - [ 1 f2*f3^-1] - [ f3 1] + [ 1 f1*f2^-1] + [ f2 1] [ -1 -1] sage: C.differential(3) [] @@ -844,29 +844,29 @@ def twisted_homology(self, n, reduced=False): sage: # needs sage.graphs sage: Y = simplicial_sets.Torus() sage: Y.twisted_homology(1) - Quotient module by Submodule of Ambient free module of rank 5 over the integral domain Multivariate Polynomial Ring in f2, f2inv, f3, f3inv over Integer Ring + Quotient module by Submodule of Ambient free module of rank 5 over the integral domain Multivariate Polynomial Ring in f1, f1inv, f2, f2inv over Integer Ring Generated by the rows of the matrix: [ 1 0 0 0 0] [ 0 1 0 0 0] [ 0 0 1 0 0] [ 0 0 0 1 0] [ 0 0 0 0 1] + [f1*f1inv - 1 0 0 0 0] + [ 0 f1*f1inv - 1 0 0 0] + [ 0 0 f1*f1inv - 1 0 0] + [ 0 0 0 f1*f1inv - 1 0] + [ 0 0 0 0 f1*f1inv - 1] [f2*f2inv - 1 0 0 0 0] [ 0 f2*f2inv - 1 0 0 0] [ 0 0 f2*f2inv - 1 0 0] [ 0 0 0 f2*f2inv - 1 0] [ 0 0 0 0 f2*f2inv - 1] - [f3*f3inv - 1 0 0 0 0] - [ 0 f3*f3inv - 1 0 0 0] - [ 0 0 f3*f3inv - 1 0 0] - [ 0 0 0 f3*f3inv - 1 0] - [ 0 0 0 0 f3*f3inv - 1] sage: Y.twisted_homology(2) - Quotient module by Submodule of Ambient free module of rank 0 over the integral domain Multivariate Polynomial Ring in f2, f2inv, f3, f3inv over Integer Ring + Quotient module by Submodule of Ambient free module of rank 0 over the integral domain Multivariate Polynomial Ring in f1, f1inv, f2, f2inv over Integer Ring Generated by the rows of the matrix: [] sage: Y.twisted_homology(1, reduced=True) - Quotient module by Submodule of Ambient free module of rank 5 over the integral domain Multivariate Polynomial Ring in f2, f2inv, f3, f3inv over Integer Ring + Quotient module by Submodule of Ambient free module of rank 5 over the integral domain Multivariate Polynomial Ring in f1, f1inv, f2, f2inv over Integer Ring Generated by the rows of the matrix: [1 0 0 0 0] [0 1 0 0 0] diff --git a/src/sage/groups/finitely_presented.py b/src/sage/groups/finitely_presented.py index 8eb469118d3..afda2dbb83c 100644 --- a/src/sage/groups/finitely_presented.py +++ b/src/sage/groups/finitely_presented.py @@ -1358,8 +1358,8 @@ def abelianization_map(self): sage: H = G.quotient([g1^2, g2*g1*g2^(-1)*g1^(-1), g1*g3^(-2), g0^4]) sage: H.abelianization_map() Group morphism: - From: Finitely presented group < g0, g1, g2, g3 | g1^2, g2*g1*g2^-1*g1^-1, g1*g3^-2, g0^4 > - To: Finitely presented group < f2, f3, f4 | f2^-1*f3^-1*f2*f3, f2^-1*f4^-1*f2*f4, f3^-1*f4^-1*f3*f4, f2^4, f3^4 > + From: Finitely presented group < g0, g1, g2, g3 | g1^2, g2*g1*g2^-1*g1^-1, g1*g3^-2, g0^4 > + To: Finitely presented group < f1, f2, f3 | f1^4, f2^-1*f1^-1*f2*f1, f2^4, f3^-1*f1^-1*f3*f1, f3^-1*f2^-1*f3*f2 > sage: g = FreeGroup(0) / [] sage: g.abelianization_map() Group endomorphism of Finitely presented group < | > @@ -1408,10 +1408,10 @@ def abelianization_to_algebra(self, ring=QQ): Defining g0, g1, g2, g3 sage: H = G.quotient([g1^2, g2*g1*g2^(-1)*g1^(-1), g1*g3^(-2), g0^4]) sage: H.abelianization_to_algebra() - (Finitely presented group < f2, f3, f4 | f2^-1*f3^-1*f2*f3, f2^-1*f4^-1*f2*f4, - f3^-1*f4^-1*f3*f4, f2^4, f3^4 >, - Multivariate Laurent Polynomial Ring in f2, f3, f4 over Rational Field, - [f2^4 - 1, f3^4 - 1], [f2^-1*f3^-2, f3^-2, f4, f3]) + (Finitely presented group < f1, f2, f3 | f1^4, f2^-1*f1^-1*f2*f1, f2^4, f3^-1*f1^-1*f3*f1, f3^-1*f2^-1*f3*f2 >, + Multivariate Laurent Polynomial Ring in f1, f2, f3 over Rational Field, + [f1^4 - 1, f2^4 - 1], + [f1^3*f2^2, f2^2, f3, f2]) sage: g=FreeGroup(0) / [] sage: g.abelianization_to_algebra() (Finitely presented group < | >, Rational Field, [], []) @@ -1685,7 +1685,7 @@ def abelian_alexander_matrix(self, ring=QQ, simplified=True): [] sage: G = FreeGroup(3)/[(2, 1, 1), (1, 2, 2, 3, 3)] sage: A, ideal = G.abelian_alexander_matrix(simplified=True); A - [-f3^2 - f3^4 - f3^6 f3^3 + f3^6] + [-f1^2 - f1^4 - f1^6 f1^3 + f1^6] sage: g = FreeGroup(1) / [] sage: g.abelian_alexander_matrix() ([], []) @@ -1785,11 +1785,11 @@ def characteristic_varieties(self, ring=QQ, matrix_ideal=None, groebner=False): 3: Ideal (1) of Multivariate Laurent Polynomial Ring in f1, f2 over Integer Ring} sage: G = FreeGroup(2)/[(1,2,1,-2,-1,-2)] sage: G.characteristic_varieties() - {0: Ideal (0) of Univariate Laurent Polynomial Ring in f2 over Rational Field, - 1: Ideal (-1 + 2*f2 - 2*f2^2 + f2^3) of Univariate Laurent Polynomial Ring in f2 over Rational Field, - 2: Ideal (1) of Univariate Laurent Polynomial Ring in f2 over Rational Field} + {0: Ideal (0) of Univariate Laurent Polynomial Ring in f1 over Rational Field, + 1: Ideal (-1 + 2*f1 - 2*f1^2 + f1^3) of Univariate Laurent Polynomial Ring in f1 over Rational Field, + 2: Ideal (1) of Univariate Laurent Polynomial Ring in f1 over Rational Field} sage: G.characteristic_varieties(groebner=True) - {0: [0], 1: [-1 + f2, 1 - f2 + f2^2], 2: []} + {0: [0], 1: [-1 + f1, 1 - f1 + f1^2], 2: []} sage: G = FreeGroup(2)/[3 * (1, ), 2 * (2, )] sage: G.characteristic_varieties(groebner=True) {0: [-1 + F1, 1 + F1, 1 - F1 + F1^2, 1 + F1 + F1^2], 1: [1 - F1 + F1^2], 2: []} diff --git a/src/sage/groups/perm_gps/permgroup_named.py b/src/sage/groups/perm_gps/permgroup_named.py index 943c3113579..d7dd1bdb2c4 100644 --- a/src/sage/groups/perm_gps/permgroup_named.py +++ b/src/sage/groups/perm_gps/permgroup_named.py @@ -3504,16 +3504,14 @@ class SmallPermutationGroup(PermutationGroup_generic): sage: G = SmallPermutationGroup(12,4); G Group of order 12 and GAP Id 4 as a permutation group sage: G.gens() - ((1,2)(3,5)(4,10)(6,8)(7,12)(9,11), - (1,3)(2,5)(4,7)(6,9)(8,11)(10,12), - (1,4,8)(2,6,10)(3,7,11)(5,9,12)) + ((4,5), (1,2), (3,4,5)) sage: G.character_table() # needs sage.rings.number_field [ 1 1 1 1 1 1] - [ 1 -1 -1 1 1 -1] + [ 1 -1 1 -1 1 -1] [ 1 -1 1 1 -1 1] - [ 1 1 -1 1 -1 -1] - [ 2 0 -2 -1 0 1] - [ 2 0 2 -1 0 -1] + [ 1 1 1 -1 -1 -1] + [ 2 0 -1 -2 0 1] + [ 2 0 -1 2 0 -1] sage: def numgps(n): return ZZ(libgap.NumberSmallGroups(n)) sage: all(SmallPermutationGroup(n,k).id() == [n,k] ....: for n in [1..64] for k in [1..numgps(n)]) @@ -3522,11 +3520,11 @@ class SmallPermutationGroup(PermutationGroup_generic): sage: H.is_abelian() False sage: [H.centralizer(g) for g in H.conjugacy_classes_representatives()] - [Subgroup generated by [(1,2)(3,6)(4,5), (1,3,5)(2,4,6)] of + [Subgroup generated by [(1,3), (2,3)] of (Group of order 6 and GAP Id 1 as a permutation group), - Subgroup generated by [(1,2)(3,6)(4,5)] of + Subgroup generated by [(2,3)] of (Group of order 6 and GAP Id 1 as a permutation group), - Subgroup generated by [(1,3,5)(2,4,6), (1,5,3)(2,6,4)] of + Subgroup generated by [(1,2,3)] of (Group of order 6 and GAP Id 1 as a permutation group)] """ From 37cbf646d8c8e0f2bec4e20daa3913479ad523bc Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Fri, 7 Jun 2024 11:39:28 -0700 Subject: [PATCH 03/17] build/pkgs/gap: Update to 4.13.0 --- build/pkgs/gap/checksums.ini | 4 ++-- build/pkgs/gap/package-version.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build/pkgs/gap/checksums.ini b/build/pkgs/gap/checksums.ini index 2b1170e52d9..0707dea49e3 100644 --- a/build/pkgs/gap/checksums.ini +++ b/build/pkgs/gap/checksums.ini @@ -1,4 +1,4 @@ tarball=gap-VERSION.tar.gz -sha1=a6e36f3f874a2c46f51561402634497eab705cca -sha256=672308745eb78a222494ee8dd6786edd5bc331456fcc6456ac064bdb28d587a8 +sha1=1b09a07ca616b6adac0cb99d04c7992bea7306f3 +sha256=cc76ecbe33d6719450a593e613fb87e9e4247faa876f632dd0f97c398f92265d upstream_url=https://github.com/gap-system/gap/releases/download/vVERSION/gap-VERSION.tar.gz diff --git a/build/pkgs/gap/package-version.txt b/build/pkgs/gap/package-version.txt index f1cd7de1de5..813b83b6532 100644 --- a/build/pkgs/gap/package-version.txt +++ b/build/pkgs/gap/package-version.txt @@ -1 +1 @@ -4.12.2 +4.13.0 From 18ec7cc96b26c85f7fedfa6c426b121d5577c416 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Fri, 7 Jun 2024 11:54:41 -0700 Subject: [PATCH 04/17] build/pkgs/gap/SPKG.rst: Remove outdated info --- build/pkgs/gap/SPKG.rst | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/build/pkgs/gap/SPKG.rst b/build/pkgs/gap/SPKG.rst index 2f59f140a01..a5a1dbc1782 100644 --- a/build/pkgs/gap/SPKG.rst +++ b/build/pkgs/gap/SPKG.rst @@ -25,26 +25,3 @@ Upstream Contact https://www.gap-system.org Mailing list at https://mail.gap-system.org/mailman/listinfo/gap - -Special Update/Build Instructions ---------------------------------- - -This is a stripped-down version of GAP. The downloading of the sources -and removal of unneeded parts is done by the script spkg-src. When you -update GAP, please also update and use the spkg-src script. - -- Do we really want to copy everything from the build directory??? - - You need the full GAP tree to compile/install many GAP packages. - -- There's apparently a command missing (in ``spkg-install``) building - the - (HTML?) documentation. Earlier changelog entries as well as the - description - above state the documentation was removed from the upstream - sources... - Since the (pre-)built HTML documentation is currently included, I've - commented out some lines in that part of ``spkg-install``. -leif - -Patches -~~~~~~~ From 6b240bb6ec294e27b96a9a960da322a2a34d5447 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 8 Jun 2024 14:24:01 -0700 Subject: [PATCH 05/17] build/pkgs/gap: Add https://github.com/gap-system/gap/pull/5736 as a patch --- build/pkgs/gap/package-version.txt | 2 +- ...arwin-Remove-use-of-single_module-ob.patch | 29 +++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 build/pkgs/gap/patches/0001-Makefile.rules-Darwin-Remove-use-of-single_module-ob.patch diff --git a/build/pkgs/gap/package-version.txt b/build/pkgs/gap/package-version.txt index 813b83b6532..eee421d42d3 100644 --- a/build/pkgs/gap/package-version.txt +++ b/build/pkgs/gap/package-version.txt @@ -1 +1 @@ -4.13.0 +4.13.0.p0 diff --git a/build/pkgs/gap/patches/0001-Makefile.rules-Darwin-Remove-use-of-single_module-ob.patch b/build/pkgs/gap/patches/0001-Makefile.rules-Darwin-Remove-use-of-single_module-ob.patch new file mode 100644 index 00000000000..46f5e36f109 --- /dev/null +++ b/build/pkgs/gap/patches/0001-Makefile.rules-Darwin-Remove-use-of-single_module-ob.patch @@ -0,0 +1,29 @@ +From 89b95994807970d90671e1e02cc03ddca4cf0a10 Mon Sep 17 00:00:00 2001 +From: Matthias Koeppe +Date: Sat, 8 Jun 2024 14:01:16 -0700 +Subject: [PATCH] Makefile.rules [Darwin]: Remove use of '-single_module' + (obsolete), activate '-install_name' + +--- + Makefile.rules | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/Makefile.rules b/Makefile.rules +index 8bfd3dba0..adfed731f 100644 +--- a/Makefile.rules ++++ b/Makefile.rules +@@ -446,10 +446,7 @@ else ifneq (,$(findstring darwin,$(host_os))) + LINK_SHLIB_FLAGS = -dynamiclib + LINK_SHLIB_FLAGS += -compatibility_version $(LIBGAP_COMPAT_VER) + LINK_SHLIB_FLAGS += -current_version $(LIBGAP_CURRENT_VER) +- LINK_SHLIB_FLAGS += -Wl,-single_module +- +- # TODO: set install_name, at least for installed version of the lib? +- #LINK_SHLIB_FLAGS += -install_name $(libdir)/$(LIBGAP_FULL) ++ LINK_SHLIB_FLAGS += -install_name $(libdir)/$(LIBGAP_FULL) + + GAP_CPPFLAGS += -DPIC + GAP_CFLAGS += -fno-common +-- +2.42.0 + From 3bb5810a6094615287916507d318882c6ede0816 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Mon, 10 Jun 2024 16:33:44 -0700 Subject: [PATCH 06/17] build/pkgs/gap/spkg-check.in: Replace use of 'make testinstall' --- build/pkgs/gap/spkg-check.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/pkgs/gap/spkg-check.in b/build/pkgs/gap/spkg-check.in index d2fccda6e04..816e521b408 100644 --- a/build/pkgs/gap/spkg-check.in +++ b/build/pkgs/gap/spkg-check.in @@ -10,7 +10,8 @@ cd pkg/io make cd ../.. -make testinstall +# This is the same as 'dev/ci.sh testinstall' (but dev/ci.sh is not part of the GAP tarball) +gap tst/testinstall.g if [[ $? -ne 0 ]]; then exit 1 fi From 19bd9e4686f53c3c61c67041ec0a62025e53a967 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6ppe?= Date: Mon, 17 Jun 2024 15:17:25 -0700 Subject: [PATCH 07/17] build/pkgs/gap/spkg-check.in: use the GAP just built to perform the tests Co-authored-by: Max Horn --- build/pkgs/gap/spkg-check.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/pkgs/gap/spkg-check.in b/build/pkgs/gap/spkg-check.in index 816e521b408..6dc12ca9266 100644 --- a/build/pkgs/gap/spkg-check.in +++ b/build/pkgs/gap/spkg-check.in @@ -11,7 +11,7 @@ make cd ../.. # This is the same as 'dev/ci.sh testinstall' (but dev/ci.sh is not part of the GAP tarball) -gap tst/testinstall.g +./gap tst/testinstall.g if [[ $? -ne 0 ]]; then exit 1 fi From f13ee7f93ec409c9ae97e79fc8c4629b6b69635f Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Mon, 17 Jun 2024 15:18:30 -0700 Subject: [PATCH 08/17] build/pkgs/gap: Update to 4.13.1 --- build/pkgs/gap/checksums.ini | 4 ++-- build/pkgs/gap/package-version.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build/pkgs/gap/checksums.ini b/build/pkgs/gap/checksums.ini index 0707dea49e3..3704072d609 100644 --- a/build/pkgs/gap/checksums.ini +++ b/build/pkgs/gap/checksums.ini @@ -1,4 +1,4 @@ tarball=gap-VERSION.tar.gz -sha1=1b09a07ca616b6adac0cb99d04c7992bea7306f3 -sha256=cc76ecbe33d6719450a593e613fb87e9e4247faa876f632dd0f97c398f92265d +sha1=cf91834954849dbaeae17079a4c4565bc28d03a8 +sha256=9794dbdba6fb998e0a2d0aa8ce21fc8848ad3d3f9cc9993b0b8e20be7e1dbeba upstream_url=https://github.com/gap-system/gap/releases/download/vVERSION/gap-VERSION.tar.gz diff --git a/build/pkgs/gap/package-version.txt b/build/pkgs/gap/package-version.txt index eee421d42d3..56d2fb548a2 100644 --- a/build/pkgs/gap/package-version.txt +++ b/build/pkgs/gap/package-version.txt @@ -1 +1 @@ -4.13.0.p0 +4.13.1 From c3143f8758388a86da7f548ffa989ba74ee7124b Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Mon, 17 Jun 2024 15:21:21 -0700 Subject: [PATCH 09/17] tox.ini, .ci/write-dockerfile.sh: Remove gap from list of packages whose test suite is disabled --- .ci/write-dockerfile.sh | 8 ++++---- tox.ini | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.ci/write-dockerfile.sh b/.ci/write-dockerfile.sh index 75737acf106..d95f28c5dab 100755 --- a/.ci/write-dockerfile.sh +++ b/.ci/write-dockerfile.sh @@ -326,7 +326,7 @@ ARG NUMPROC=8 ENV MAKE="make -j\${NUMPROC}" ARG USE_MAKEFLAGS="-k V=0" ENV SAGE_CHECK=warn -ENV SAGE_CHECK_PACKAGES="!cython,!r,!python3,!gap,!cysignals,!linbox,!git,!ppl,!cmake,!rpy2,!sage_sws2rst" +ENV SAGE_CHECK_PACKAGES="!cython,!r,!python3,!cysignals,!linbox,!git,!ppl,!cmake,!rpy2,!sage_sws2rst" #:toolchain: $RUN$CHECK_STATUS_THEN make \${USE_MAKEFLAGS} base-toolchain$ENDRUN$THEN_SAVE_STATUS @@ -335,7 +335,7 @@ ARG NUMPROC=8 ENV MAKE="make -j\${NUMPROC}" ARG USE_MAKEFLAGS="-k V=0" ENV SAGE_CHECK=warn -ENV SAGE_CHECK_PACKAGES="!cython,!r,!python3,!gap,!cysignals,!linbox,!git,!ppl,!cmake,!rpy2,!sage_sws2rst" +ENV SAGE_CHECK_PACKAGES="!cython,!r,!python3,!cysignals,!linbox,!git,!ppl,!cmake,!rpy2,!sage_sws2rst" #:make: ARG TARGETS_PRE="all-sage-local" $RUN$CHECK_STATUS_THEN make SAGE_SPKG="sage-spkg -y -o" \${USE_MAKEFLAGS} \${TARGETS_PRE}$ENDRUN$THEN_SAVE_STATUS @@ -345,7 +345,7 @@ ARG NUMPROC=8 ENV MAKE="make -j\${NUMPROC}" ARG USE_MAKEFLAGS="-k V=0" ENV SAGE_CHECK=warn -ENV SAGE_CHECK_PACKAGES="!cython,!r,!python3,!gap,!cysignals,!linbox,!git,!ppl,!cmake,!rpy2,!sage_sws2rst" +ENV SAGE_CHECK_PACKAGES="!cython,!r,!python3,!cysignals,!linbox,!git,!ppl,!cmake,!rpy2,!sage_sws2rst" $ADD .gitignore /new/.gitignore $ADD src /new/src RUN cd /new && rm -rf .git && \\ @@ -366,7 +366,7 @@ ARG NUMPROC=8 ENV MAKE="make -j\${NUMPROC}" ARG USE_MAKEFLAGS="-k V=0" ENV SAGE_CHECK=warn -ENV SAGE_CHECK_PACKAGES="!cython,!r,!python3,!gap,!cysignals,!linbox,!git,!ppl,!cmake,!rpy2,!sage_sws2rst" +ENV SAGE_CHECK_PACKAGES="!cython,!r,!python3,!cysignals,!linbox,!git,!ppl,!cmake,!rpy2,!sage_sws2rst" ARG TARGETS_OPTIONAL="ptest" $RUN$CHECK_STATUS_THEN make SAGE_SPKG="sage-spkg -y -o" \${USE_MAKEFLAGS} \${TARGETS_OPTIONAL} || echo "(error ignored)"$ENDRUN$THEN_SAVE_STATUS diff --git a/tox.ini b/tox.ini index 654e221aa07..ad600f80ee4 100644 --- a/tox.ini +++ b/tox.ini @@ -824,8 +824,8 @@ commands = local: config*) ;; \ local: *) make -k V=0 base-toolchain ;; \ local: esac && \ - local: make -k V=0 SAGE_CHECK=warn SAGE_CHECK_PACKAGES="!cython,!r,!python3,!gap,!cysignals,!linbox,!git,!ppl,!cmake,!rpy2,!sage_sws2rst" {env:TARGETS_PRE:} {posargs:build} && \ - local: ( [ -z "{env:TARGETS_OPTIONAL:}" ] || make -k V=0 SAGE_CHECK=warn SAGE_CHECK_PACKAGES="!cython,!r,!python3,!gap,!cysignals,!linbox,!git,!ppl,!cmake,!rpy2,!sage_sws2rst" {env:TARGETS_OPTIONAL:} || echo "(error ignored)" ) ' + local: make -k V=0 SAGE_CHECK=warn SAGE_CHECK_PACKAGES="!cython,!r,!python3,!cysignals,!linbox,!git,!ppl,!cmake,!rpy2,!sage_sws2rst" {env:TARGETS_PRE:} {posargs:build} && \ + local: ( [ -z "{env:TARGETS_OPTIONAL:}" ] || make -k V=0 SAGE_CHECK=warn SAGE_CHECK_PACKAGES="!cython,!r,!python3,!cysignals,!linbox,!git,!ppl,!cmake,!rpy2,!sage_sws2rst" {env:TARGETS_OPTIONAL:} || echo "(error ignored)" ) ' [testenv:check_configure] ## Test that configure behaves properly From 0d0e8c85333ea27da4492b78c16c0b92694f5a25 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Mon, 17 Jun 2024 17:28:38 -0700 Subject: [PATCH 10/17] tox.ini, .ci/write-dockerfile.sh: Remove packages that have been reduced to dummy from list of packages whose test suite is disabled --- .ci/write-dockerfile.sh | 8 ++++---- tox.ini | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.ci/write-dockerfile.sh b/.ci/write-dockerfile.sh index d95f28c5dab..cfd4fb20810 100755 --- a/.ci/write-dockerfile.sh +++ b/.ci/write-dockerfile.sh @@ -326,7 +326,7 @@ ARG NUMPROC=8 ENV MAKE="make -j\${NUMPROC}" ARG USE_MAKEFLAGS="-k V=0" ENV SAGE_CHECK=warn -ENV SAGE_CHECK_PACKAGES="!cython,!r,!python3,!cysignals,!linbox,!git,!ppl,!cmake,!rpy2,!sage_sws2rst" +ENV SAGE_CHECK_PACKAGES="!cython,!python3,!cysignals,!linbox,!ppl,!cmake,!rpy2,!sage_sws2rst" #:toolchain: $RUN$CHECK_STATUS_THEN make \${USE_MAKEFLAGS} base-toolchain$ENDRUN$THEN_SAVE_STATUS @@ -335,7 +335,7 @@ ARG NUMPROC=8 ENV MAKE="make -j\${NUMPROC}" ARG USE_MAKEFLAGS="-k V=0" ENV SAGE_CHECK=warn -ENV SAGE_CHECK_PACKAGES="!cython,!r,!python3,!cysignals,!linbox,!git,!ppl,!cmake,!rpy2,!sage_sws2rst" +ENV SAGE_CHECK_PACKAGES="!cython,!python3,!cysignals,!linbox,!ppl,!cmake,!rpy2,!sage_sws2rst" #:make: ARG TARGETS_PRE="all-sage-local" $RUN$CHECK_STATUS_THEN make SAGE_SPKG="sage-spkg -y -o" \${USE_MAKEFLAGS} \${TARGETS_PRE}$ENDRUN$THEN_SAVE_STATUS @@ -345,7 +345,7 @@ ARG NUMPROC=8 ENV MAKE="make -j\${NUMPROC}" ARG USE_MAKEFLAGS="-k V=0" ENV SAGE_CHECK=warn -ENV SAGE_CHECK_PACKAGES="!cython,!r,!python3,!cysignals,!linbox,!git,!ppl,!cmake,!rpy2,!sage_sws2rst" +ENV SAGE_CHECK_PACKAGES="!cython,!python3,!cysignals,!linbox,!ppl,!cmake,!rpy2,!sage_sws2rst" $ADD .gitignore /new/.gitignore $ADD src /new/src RUN cd /new && rm -rf .git && \\ @@ -366,7 +366,7 @@ ARG NUMPROC=8 ENV MAKE="make -j\${NUMPROC}" ARG USE_MAKEFLAGS="-k V=0" ENV SAGE_CHECK=warn -ENV SAGE_CHECK_PACKAGES="!cython,!r,!python3,!cysignals,!linbox,!git,!ppl,!cmake,!rpy2,!sage_sws2rst" +ENV SAGE_CHECK_PACKAGES="!cython,!python3,!cysignals,!linbox,!ppl,!cmake,!rpy2,!sage_sws2rst" ARG TARGETS_OPTIONAL="ptest" $RUN$CHECK_STATUS_THEN make SAGE_SPKG="sage-spkg -y -o" \${USE_MAKEFLAGS} \${TARGETS_OPTIONAL} || echo "(error ignored)"$ENDRUN$THEN_SAVE_STATUS diff --git a/tox.ini b/tox.ini index ad600f80ee4..bb3840cb3ed 100644 --- a/tox.ini +++ b/tox.ini @@ -824,8 +824,8 @@ commands = local: config*) ;; \ local: *) make -k V=0 base-toolchain ;; \ local: esac && \ - local: make -k V=0 SAGE_CHECK=warn SAGE_CHECK_PACKAGES="!cython,!r,!python3,!cysignals,!linbox,!git,!ppl,!cmake,!rpy2,!sage_sws2rst" {env:TARGETS_PRE:} {posargs:build} && \ - local: ( [ -z "{env:TARGETS_OPTIONAL:}" ] || make -k V=0 SAGE_CHECK=warn SAGE_CHECK_PACKAGES="!cython,!r,!python3,!cysignals,!linbox,!git,!ppl,!cmake,!rpy2,!sage_sws2rst" {env:TARGETS_OPTIONAL:} || echo "(error ignored)" ) ' + local: make -k V=0 SAGE_CHECK=warn SAGE_CHECK_PACKAGES="!cython,!python3,!cysignals,!linbox,!ppl,!cmake,!rpy2,!sage_sws2rst" {env:TARGETS_PRE:} {posargs:build} && \ + local: ( [ -z "{env:TARGETS_OPTIONAL:}" ] || make -k V=0 SAGE_CHECK=warn SAGE_CHECK_PACKAGES="!cython,!python3,!cysignals,!linbox,!ppl,!cmake,!rpy2,!sage_sws2rst" {env:TARGETS_OPTIONAL:} || echo "(error ignored)" ) ' [testenv:check_configure] ## Test that configure behaves properly From 86f55533a13948d3dabfa0906e0933d2b2e8902a Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Fri, 11 Oct 2024 19:26:44 -0400 Subject: [PATCH 11/17] src/sage/features/gap.py: add "polenta" to all_features() There are a few simplicial set tests that require the polenta package with gap-4.13.x. We declare a new feature to support the corresponding "needs" tag. --- src/sage/features/gap.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/sage/features/gap.py b/src/sage/features/gap.py index 22197942b00..609cb37c263 100644 --- a/src/sage/features/gap.py +++ b/src/sage/features/gap.py @@ -81,6 +81,7 @@ def all_features(): GapPackage("grape", spkg='gap_packages'), GapPackage("guava", spkg='gap_packages'), GapPackage("hap", spkg='gap_packages'), + GapPackage("polenta", spkg='gap_packages'), GapPackage("polycyclic", spkg='gap_packages'), GapPackage("qpa", spkg='gap_packages'), GapPackage("quagroup", spkg='gap_packages')] From 1fc19542d7f2a7b6772261d7425c72ee477c68da Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Fri, 11 Oct 2024 19:30:45 -0400 Subject: [PATCH 12/17] src/sage/categories/simplicial_sets.py: add "needs" for polenta GAP package Three tests in this file need the GAP package "polenta" to be installed; otherwise, the output (although perhaps not _wrong_) is not quite what we expect. --- src/sage/categories/simplicial_sets.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/sage/categories/simplicial_sets.py b/src/sage/categories/simplicial_sets.py index 14bebdcd080..0a63a16bb5d 100644 --- a/src/sage/categories/simplicial_sets.py +++ b/src/sage/categories/simplicial_sets.py @@ -407,13 +407,13 @@ def universal_cover_map(self): EXAMPLES:: sage: RP2 = simplicial_sets.RealProjectiveSpace(2) # needs sage.graphs sage.groups - sage: phi = RP2.universal_cover_map(); phi # needs sage.graphs sage.groups + sage: phi = RP2.universal_cover_map(); phi # needs sage.graphs sage.groups gap_package_polenta Simplicial set morphism: From: Simplicial set with 6 non-degenerate simplices To: RP^2 Defn: [(1, 1), (1, e), (f, 1), (f, e), (f * f, 1), (f * f, e)] --> [1, 1, f, f, f * f, f * f] - sage: phi.domain().face_data() # needs sage.graphs sage.groups + sage: phi.domain().face_data() # needs sage.graphs sage.groups gap_package_polenta {(1, 1): None, (1, e): None, (f, 1): ((1, e), (1, 1)), @@ -564,7 +564,7 @@ def universal_cover(self): sage: RP3 = simplicial_sets.RealProjectiveSpace(3) sage: C = RP3.universal_cover(); C Simplicial set with 8 non-degenerate simplices - sage: C.face_data() + sage: C.face_data() # needs gap_package_polenta {(1, 1): None, (1, e): None, (f, 1): ((1, e), (1, 1)), From 1f183b648a1beb8c0199650972309a5c5a9d3fe7 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Fri, 11 Oct 2024 19:32:12 -0400 Subject: [PATCH 13/17] build/pkgs/gap: backport patch to fix optional GRAPE test failures Fixes https://github.com/gap-system/gap/pull/5796 This is the patch I'm using on Gentoo, it combines the upstream fix and one of its dependencies (without which the desired fix does not apply). Without it, you'll get some test failures with gap-4.13.x when GRAPE happens to be installed. --- .../gap/patches/gap-4.13.1-hash-fixes.patch | 178 ++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 build/pkgs/gap/patches/gap-4.13.1-hash-fixes.patch diff --git a/build/pkgs/gap/patches/gap-4.13.1-hash-fixes.patch b/build/pkgs/gap/patches/gap-4.13.1-hash-fixes.patch new file mode 100644 index 00000000000..c99b39ab91c --- /dev/null +++ b/build/pkgs/gap/patches/gap-4.13.1-hash-fixes.patch @@ -0,0 +1,178 @@ +diff --git a/lib/dicthf.gi b/lib/dicthf.gi +index 5ee7341..e4349ac 100644 +--- a/lib/dicthf.gi ++++ b/lib/dicthf.gi +@@ -152,16 +152,37 @@ end); + ## + InstallMethod(SparseIntKey,"for bounded tuples",true, + [ IsList,IsList and IsCyclotomicCollection ], 0, +-function(m,v) +-local c; +- if Length(m)<>3 or m[1]<>"BoundedTuples" then ++function(m, v) ++ if Length(m)<> 3 or m[1]<>"BoundedTuples" then + TryNextMethod(); + fi; +- c:=[1,Maximum(m[2])+1]; +- return function(a) +- return a*c; ++ # Due to the way BoundedTuples are presently implemented we expect the input ++ # to the hash function to always be a list of positive immediate integers. This means ++ # that using HashKeyWholeBag should be safe. ++ return function(x) ++ Assert(1, IsPositionsList(x)); ++ if not IsPlistRep(x) then ++ x := AsPlist(x); ++ fi; ++ return HashKeyWholeBag(x, 1); + end; + ++ # alternative code w/o HashKeyBag ++ ## build a weight vector to distinguish lists. Make entries large while staying clearly within ++ ## immediate int (2^55 replacing 2^60, since we take subsequent primes). ++ #step:=NextPrimeInt(QuoInt(2^55,Maximum(m[2])*m[3])); ++ #weights:=[1]; ++ #len:=Length(v); ++ ## up to 56 full, then increasingly reduce ++ #len:=Minimum(len,8*RootInt(len)); ++ #while Length(weights)0 and ForAll(pnt,IsPosInt) and ++ ForAll(acts,IsPerm) and + (act=OnSets or act=OnPoints or act=OnRight or act=\^)) then + TryNextMethod(); + fi; +diff --git a/lib/vecmat.gi b/lib/vecmat.gi +index 017c3c6..93ba828 100644 +--- a/lib/vecmat.gi ++++ b/lib/vecmat.gi +@@ -2142,7 +2142,8 @@ InstallMethod(DomainForAction,"matrix/matrix",IsElmsCollsX, + function(pnt,acts,act) + local l,f; + if (not ForAll(acts,IsMatrix)) or +- (act<>OnPoints and act<>OnSubspacesByCanonicalBasis and act<>OnRight) then ++ (act<>OnPoints and act<>OnSubspacesByCanonicalBasis and act<>OnRight and act<>OnSets and ++ act<>OnTuples) then + TryNextMethod(); # strange operation, might extend the domain + fi; + l:=NaturalActedSpace(acts,pnt); +diff --git a/tst/testbugfix/2024-09-14-actdomain.tst b/tst/testbugfix/2024-09-14-actdomain.tst +new file mode 100644 +index 0000000..84f8b50 +--- /dev/null ++++ b/tst/testbugfix/2024-09-14-actdomain.tst +@@ -0,0 +1,85 @@ ++# Fix #5786 and error reported by Len Soicher in support list ++gap> gg:=SpecialUnitaryGroup(4,2);; ++gap> hl:=Z(2)*[ ++> [0,0,1,0], ++> [1,1,0,0], ++> [0,1,0,1], ++> [0,1,1,0], ++> [1,1,0,1]];; ++gap> o:=Orbit(gg,Set(hl),OnSets);; ++gap> Length(o); ++216 ++gap> set:=[ 1,10,15,24,29,33,38,40,44,59, 60, 63, 69, 74, 77,79,85, 86, 90, ++> 95, 99, 103, 105, 110, 122, 125, 143, 148, 149, 153, 162, 165, 174, 182, ++> 185, 191, 197, 198, 202, 218, 223, 227, 228, 235, 236, 240, 243, 248, ++> 254, ++> 256, 259, 270, 275, 288, 291, 295, 298, 302, 305, 310, 312, 315, 325, ++> 329, ++> 333, 340, 341, 350, 356, 366, 369, 381, 385, 390, 397, 402, 412, 414, ++> 419, ++> 421, 425, 428, 433, 436, 445, 447, 451, 452, 453, 454, 461, 466, 474, ++> 479, ++> 481, 489, 490, 493, 497, 507, 509, 512, 513, 519, 521 ];; ++gap> gp:=Group( ++> ( 1,340,124,306,216,492,100, 25,108,270,220,332)( 2,138, 54,161,132,159,198, ++> 336,439,269, 89,419)( 3,467,177,404,505,437,379,312,481,271,223,135) ++> ( 4,510, 79,504,259,234,378,251,272,268,360,303)( 5,278,176,191,231,275,263, ++> 190,230,146,265,192)( 6,486,126,523,490,448,375,237,288,400,243,329) ++> ( 7,131,123,516, 48,392,350,333,418, 16,139,175)( 8,289,125,386,241, 29,376, ++> 334,242,417,442,331)( 9,430, 32, 59,446,367,377,335,411,416,515,330) ++> ( 10,391, 56,407,475,414,200,328,165,473, 86,119)( 11,368, 35,390,522,408,199, ++> 415,440,326, 87,503)( 12,412, 55,457,399,245,201, 33,438,431, 88,317) ++> ( 13,471, 40,348,452,292, 43,346,373, 77, 41,347)( 14,137,174,162, 60, 69,321, ++> 487, 61,158,322,370)( 15,101,114,109,130,160,488,489,352,351,420, 17) ++> ( 18,339,167,290,202,385, 99, 22, 90,323,217,129)( 19, 26, 93,304, 96,342) ++> ( 20,338,166,305,215,141, 97, 24, 51,150,219,507)( 21,337, 63,186,214,424, 98, ++> 23,107,382,218,349)( 27, 91,445,451,525, 67,519,239,144,203,155,353) ++> ( 28,324,444,128, 70,428,496,238,286,300,283, 64)( 30,236,287,441,387,354) ++> ( 31,345,366,517, 45,344,413,521, 46,248,244,121)( 34,314,394,402,222,447, 81, ++> 282,262,173,246,435)( 36,482,178,364,148,495,179,363,140,102,113,111) ++> ( 37,253,273,168,294,302,226,183, 72,480,154,233)( 38,483,520,393,403,465,362, ++> 298,143,356,153,369)( 39,157,320,472)( 42,228,277,264)( 44,343,147,501) ++> ( 47, 73,308,380,184,389,310,327,163,295,151,425)( 49,221,456, 80,474,260,405, ++> 325,164,524,152,449)( 50,479,365,477,461,459,497,169,296,247,134,117) ++> ( 52,361,299,285,355,188,423,464,434,453,133,118)( 53,257,509, 68,511,458,293, ++> 204,384,374, 75, 82)( 57,116,112,149,514,396,470,485,493,249,421,120) ++> ( 58,500,266,250,429,122)( 62,156,319,311)( 65,187,225,357,127, 71,388,235, ++> 460,252,274,371)( 66,106,462,291,205,383,372, 76, 92,410,280,498) ++> ( 74,401,381,476,409,281,171,104,297,307,426,182)( 78, 84,261,256,180,436,512, ++> 313,181,491,224,499)( 83,466,255,508,506,395,469,422,142,103,115,110) ++> ( 85,468,258,502,267,136)( 94,341)( 95,211)(105,478,195,432,518,316,197,484, ++> 494,455,196,170)(145,513,359,232,227,254)(172,209,398,207,279,206) ++> (185,194,309,443)(189,406,463,318,450,427,433,454,315,301,284,358) ++> (193,229,276,240)(208,397)(210,213,212) ++> ,( 1,379,148, 48,128,430,416)( 2, 34,338, 35,235,131,521)( 3,512,352, 47, ++> 318,289,237)( 4,272,506, 49,434,486,282)( 5,524,485, 10,483,340, 55) ++> ( 6,458, 36,487, 60,121, 16)( 7,313,140,336,127,435,270)( 8, 85,147,489, ++> 98,201,417)( 9,469, 94,488,129,329,400)( 11,291, 26, 54,234,473,169) ++> ( 12,207,339, 56,233,503,515)( 13,426,337, 40,232,295,500)( 14, 32,414, 27, ++> 167,130,472)( 15, 33,188, 38,382,109,501)( 17, 31,459, 37,496,132,517) ++> ( 18,263,294,446,451,134,497)( 19,198,525,241,441,244,470)( 20,100,199,490, ++> 242,429,413)( 21,378,403,216,523,421, 58)( 22,124,159, 77, 63,123,292) ++> ( 23,176,275,431,168, 86,293)( 24,177,492,326,104,151,290)( 25, 79,437,269, ++> 163,152,144)( 28,462,150,162, 62,120,415)( 29,239, 83,311, 61,117,260) ++> ( 30,452,149,370, 39,122,389)( 41,468, 73,254,277,432,371)( 42,210,319,502, ++> 373,205,283)( 43,387,194,212,320,508, 99)( 44,396,349,331,399,250,420) ++> ( 45,411,461,375,475,377,418)( 46,344,409,519,522,477,419)( 50,253,278,433, ++> 231, 88,422)( 51,482,138,358,229,463,381)( 52, 91,467,221,230,518,484) ++> ( 53,390,510,494,228,454, 92)( 57,310,460,118,259,367,363)( 59,281,227,274, ++> 505,402,215)( 64,125,245, 76, 93,160,471)( 65,126,408, 75,166, 69,264) ++> ( 66,302,186,116,257,424,327)( 67,187,297,479,217,425,171)( 68,303,296,345, ++> 280,226,273)( 70,240,359,366,364, 97,200)( 71,265,360,394,393,133,423) ++> ( 72,251,146,164,268, 87,312)( 74,252,276,406,513, 89,181)( 78,395,158,185, ++> 315,287,333)( 80,136,351,156,316,286,334)( 81,511,350,184,317,288,335) ++> ( 82,261,392,183,105,309,238)( 84,224,439,182,284,193,236)( 90,466,391,357, ++> 443,170,465)( 95,321,509,353,203,243,197)( 96,516,498,354,300,246,401) ++> (101,405,453,464,154,112,341)(102,139,450,208,388,365,111)(103,440,520,285, ++> 192,266,343)(106,308,218,119,262,448,298)(107,219,368,356,442,301,209) ++> (108,514,412,355,376,474,222)(110,495,137,478,361,444,380)(113,255,342,175, ++> 173,247,305)(114,256,141,328,153,307,304)(115,258,385,325,172,214,306) ++> (135,493,157,455,362,445,407)(142,346,189,398,323,161,499)(143,190,145,436, ++> 271,165,314)(155,195,211,174,404,374,204)(178,507,332,330,248,249,179) ++> (180,372,202,386,196,213,322)(191,267,491,384,438,279,225)(206,428,299,369, ++> 480,220,449)(223,481,383,427,397,324,504)(347,457,447,410,348,456,476));; ++gap> Length(Orbit(gp,set,OnSets)); ++241920 +diff --git a/tst/teststandard/hash2.tst b/tst/teststandard/hash2.tst +index 6bfa4d3..d47452e 100644 +--- a/tst/teststandard/hash2.tst ++++ b/tst/teststandard/hash2.tst +@@ -32,4 +32,8 @@ gap> Length(Orbit(h,h.1[1],OnRight)); + 2079 + gap> Length(Orbit(h,h.2^5,OnPoints)); + 693 ++gap> Length(Orbit(SymmetricGroup(14), [1 .. 7], OnSets)); ++3432 ++gap> Length(Orbit(SymmetricGroup(16), [1 .. 8], OnSets)); ++12870 + gap> STOP_TEST( "hash2.tst", 1); From f8f4d229d3e73b9d97db21167d2160ea8bd0cc73 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Fri, 11 Oct 2024 20:01:02 -0400 Subject: [PATCH 14/17] build/pkgs/gap/spkg-configure.m4: accept >= gap-4.13.0 I've left the upper bound in there, but set to "5.0.0" which should have no real effect. But if 4.14.0 comes out and breaks somes tests, it's a lot easier to tweak the existing upper bound than it is to add one (again) and reindent everything. --- build/pkgs/gap/spkg-configure.m4 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/pkgs/gap/spkg-configure.m4 b/build/pkgs/gap/spkg-configure.m4 index d4c3680b430..d52d2c20b8c 100644 --- a/build/pkgs/gap/spkg-configure.m4 +++ b/build/pkgs/gap/spkg-configure.m4 @@ -2,8 +2,8 @@ SAGE_SPKG_CONFIGURE([gap], [ # Default to installing the SPKG, if the check is run at all. sage_spkg_install_gap=yes - m4_pushdef([GAP_MINVER],["4.12.2"]) - m4_pushdef([GAP_LTVER],["4.13.0"]) + m4_pushdef([GAP_MINVER],["4.13.0"]) + m4_pushdef([GAP_LTVER],["5.0.0"]) SAGE_SPKG_DEPCHECK([ncurses readline zlib], [ AC_PATH_PROG(GAP, gap) From 34817df8f6ed9d08d1a911317a951e713a7ac952 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Thu, 17 Oct 2024 14:27:36 -0400 Subject: [PATCH 15/17] src/sage: touch libgap consumers Force these consumers of libgap to be rebuilt after the recent GAP upgrade. --- src/sage/groups/perm_gps/permgroup_element.pyx | 2 ++ src/sage/libs/gap/element.pyx | 3 +++ src/sage/libs/gap/libgap.pyx | 2 ++ src/sage/libs/gap/util.pyx | 2 ++ 4 files changed, 9 insertions(+) diff --git a/src/sage/groups/perm_gps/permgroup_element.pyx b/src/sage/groups/perm_gps/permgroup_element.pyx index 86b3ced83ea..b0150295f1f 100644 --- a/src/sage/groups/perm_gps/permgroup_element.pyx +++ b/src/sage/groups/perm_gps/permgroup_element.pyx @@ -96,6 +96,8 @@ Check that :issue:`13569` is fixed:: (1,2), (1,3), (1,3), (2,3), (1,2), (1,2), (1,3), (2,3)] """ +# hi + # **************************************************************************** # Copyright (C) 2006 William Stein # Copyright (C) 2006 David Joyner diff --git a/src/sage/libs/gap/element.pyx b/src/sage/libs/gap/element.pyx index c24408f401a..6345c898c66 100644 --- a/src/sage/libs/gap/element.pyx +++ b/src/sage/libs/gap/element.pyx @@ -5,6 +5,9 @@ This document describes the individual wrappers for various GAP elements. For general information about GAP, you should read the :mod:`~sage.libs.gap.libgap` module documentation. """ + +# hi + # **************************************************************************** # Copyright (C) 2012 Volker Braun # diff --git a/src/sage/libs/gap/libgap.pyx b/src/sage/libs/gap/libgap.pyx index f5b58a929f3..8218d51a5cd 100644 --- a/src/sage/libs/gap/libgap.pyx +++ b/src/sage/libs/gap/libgap.pyx @@ -176,6 +176,8 @@ AUTHORS: libgap API """ +# hi + ############################################################################### # Copyright (C) 2009, William Stein # Copyright (C) 2012, Volker Braun diff --git a/src/sage/libs/gap/util.pyx b/src/sage/libs/gap/util.pyx index 29fa347ff30..8509ae35e55 100644 --- a/src/sage/libs/gap/util.pyx +++ b/src/sage/libs/gap/util.pyx @@ -2,6 +2,8 @@ Utility functions for GAP """ +# hi + #***************************************************************************** # Copyright (C) 2012 Volker Braun # From cbc7eeecc7aacd88a8cc1ed78f17a4efaf940bb4 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Thu, 17 Oct 2024 21:13:57 -0400 Subject: [PATCH 16/17] build/pkgs/gap: add Gentoo package information --- build/pkgs/gap/distros/gentoo.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 build/pkgs/gap/distros/gentoo.txt diff --git a/build/pkgs/gap/distros/gentoo.txt b/build/pkgs/gap/distros/gentoo.txt new file mode 100644 index 00000000000..ea64ec957e5 --- /dev/null +++ b/build/pkgs/gap/distros/gentoo.txt @@ -0,0 +1 @@ +sci-mathematics/gap From 2e7e80a31d8b3bccaa8349fa37f9f5863b2fb18f Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Thu, 17 Oct 2024 21:14:11 -0400 Subject: [PATCH 17/17] build/pkgs/gap/distros/conda.txt: drop upper version bound --- build/pkgs/gap/distros/conda.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/pkgs/gap/distros/conda.txt b/build/pkgs/gap/distros/conda.txt index 7f5f5034610..401c67cba31 100644 --- a/build/pkgs/gap/distros/conda.txt +++ b/build/pkgs/gap/distros/conda.txt @@ -1 +1 @@ -gap-defaults>=4.12.2,<4.13.0 +gap-defaults