Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GAP 4.13.1 #38804

Open
wants to merge 15 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .ci/write-dockerfile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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,!python3,!cysignals,!linbox,!ppl,!cmake,!rpy2,!sage_sws2rst"
#:toolchain:
$RUN$CHECK_STATUS_THEN make \${USE_MAKEFLAGS} base-toolchain$ENDRUN$THEN_SAVE_STATUS
Expand All @@ -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,!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
Expand All @@ -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,!python3,!cysignals,!linbox,!ppl,!cmake,!rpy2,!sage_sws2rst"
$ADD .gitignore /new/.gitignore
$ADD src /new/src
RUN cd /new && rm -rf .git && \\
Expand All @@ -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,!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
Expand Down
23 changes: 0 additions & 23 deletions build/pkgs/gap/SPKG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
~~~~~~~
4 changes: 2 additions & 2 deletions build/pkgs/gap/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
tarball=gap-VERSION.tar.gz
sha1=a6e36f3f874a2c46f51561402634497eab705cca
sha256=672308745eb78a222494ee8dd6786edd5bc331456fcc6456ac064bdb28d587a8
sha1=cf91834954849dbaeae17079a4c4565bc28d03a8
sha256=9794dbdba6fb998e0a2d0aa8ce21fc8848ad3d3f9cc9993b0b8e20be7e1dbeba
upstream_url=https://github.com/gap-system/gap/releases/download/vVERSION/gap-VERSION.tar.gz
2 changes: 1 addition & 1 deletion build/pkgs/gap/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4.12.2
4.13.1
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
From 89b95994807970d90671e1e02cc03ddca4cf0a10 Mon Sep 17 00:00:00 2001
From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
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

178 changes: 178 additions & 0 deletions build/pkgs/gap/patches/gap-4.13.1-hash-fixes.patch
Original file line number Diff line number Diff line change
@@ -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)<len do
+ # Add(weights,weights[Length(weights)]+step);
+ # step:=NextPrimeInt(step);
+ #od;
+ #return function(a)
+ # return a*weights;
+ #end;
+
end);

BindGlobal( "SparseIntKeyVecListAndMatrix", function(d,m)
diff --git a/lib/oprt.gi b/lib/oprt.gi
index c1def0b..00e2953 100644
--- a/lib/oprt.gi
+++ b/lib/oprt.gi
@@ -3565,6 +3565,7 @@ InstallMethod(DomainForAction,"permutations on lists of integers",true,
function(pnt,acts,act)
local m;
if not (Length(pnt)>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);
3 changes: 2 additions & 1 deletion build/pkgs/gap/spkg-check.in
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions build/pkgs/gap/spkg-configure.m4
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion src/sage/algebras/fusion_rings/fusion_double.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand Down
Loading
Loading