Skip to content

Commit d69ef01

Browse files
author
Release Manager
committed
gh-38804: GAP 4.13.1 Follow-up to: * #37884 * #38169 With the four additional work items I mentioned in a comment on the latter: 1. Everything has been rebased 2. There's a new feature to detect the polenta GAP package 3. The three failing simplicial sets tests have been marked `# needs gap_package_polenta` 4. I backported gap-system/gap#5796 to the GAP spkg so that the optional GRAPE tests will pass (untested). Let's see what the CI has to say... URL: #38804 Reported by: Michael Orlitzky Reviewer(s): Dima Pasechnik, Enrique Manuel Artal Bartolo
2 parents 05c92eb + 2e7e80a commit d69ef01

22 files changed

+270
-76
lines changed

.ci/write-dockerfile.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ ARG NUMPROC=8
326326
ENV MAKE="make -j\${NUMPROC}"
327327
ARG USE_MAKEFLAGS="-k V=0"
328328
ENV SAGE_CHECK=warn
329-
ENV SAGE_CHECK_PACKAGES="!cython,!r,!python3,!gap,!cysignals,!linbox,!git,!ppl,!cmake,!rpy2,!sage_sws2rst"
329+
ENV SAGE_CHECK_PACKAGES="!cython,!python3,!cysignals,!linbox,!ppl,!cmake,!rpy2,!sage_sws2rst"
330330
#:toolchain:
331331
$RUN$CHECK_STATUS_THEN make \${USE_MAKEFLAGS} base-toolchain$ENDRUN$THEN_SAVE_STATUS
332332
@@ -335,7 +335,7 @@ ARG NUMPROC=8
335335
ENV MAKE="make -j\${NUMPROC}"
336336
ARG USE_MAKEFLAGS="-k V=0"
337337
ENV SAGE_CHECK=warn
338-
ENV SAGE_CHECK_PACKAGES="!cython,!r,!python3,!gap,!cysignals,!linbox,!git,!ppl,!cmake,!rpy2,!sage_sws2rst"
338+
ENV SAGE_CHECK_PACKAGES="!cython,!python3,!cysignals,!linbox,!ppl,!cmake,!rpy2,!sage_sws2rst"
339339
#:make:
340340
ARG TARGETS_PRE="all-sage-local"
341341
$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
345345
ENV MAKE="make -j\${NUMPROC}"
346346
ARG USE_MAKEFLAGS="-k V=0"
347347
ENV SAGE_CHECK=warn
348-
ENV SAGE_CHECK_PACKAGES="!cython,!r,!python3,!gap,!cysignals,!linbox,!git,!ppl,!cmake,!rpy2,!sage_sws2rst"
348+
ENV SAGE_CHECK_PACKAGES="!cython,!python3,!cysignals,!linbox,!ppl,!cmake,!rpy2,!sage_sws2rst"
349349
$ADD .gitignore /new/.gitignore
350350
$ADD src /new/src
351351
RUN cd /new && rm -rf .git && \\
@@ -366,7 +366,7 @@ ARG NUMPROC=8
366366
ENV MAKE="make -j\${NUMPROC}"
367367
ARG USE_MAKEFLAGS="-k V=0"
368368
ENV SAGE_CHECK=warn
369-
ENV SAGE_CHECK_PACKAGES="!cython,!r,!python3,!gap,!cysignals,!linbox,!git,!ppl,!cmake,!rpy2,!sage_sws2rst"
369+
ENV SAGE_CHECK_PACKAGES="!cython,!python3,!cysignals,!linbox,!ppl,!cmake,!rpy2,!sage_sws2rst"
370370
ARG TARGETS_OPTIONAL="ptest"
371371
$RUN$CHECK_STATUS_THEN make SAGE_SPKG="sage-spkg -y -o" \${USE_MAKEFLAGS} \${TARGETS_OPTIONAL} || echo "(error ignored)"$ENDRUN$THEN_SAVE_STATUS
372372

build/pkgs/gap/SPKG.rst

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -25,26 +25,3 @@ Upstream Contact
2525
https://www.gap-system.org
2626

2727
Mailing list at https://mail.gap-system.org/mailman/listinfo/gap
28-
29-
Special Update/Build Instructions
30-
---------------------------------
31-
32-
This is a stripped-down version of GAP. The downloading of the sources
33-
and removal of unneeded parts is done by the script spkg-src. When you
34-
update GAP, please also update and use the spkg-src script.
35-
36-
- Do we really want to copy everything from the build directory???
37-
38-
You need the full GAP tree to compile/install many GAP packages.
39-
40-
- There's apparently a command missing (in ``spkg-install``) building
41-
the
42-
(HTML?) documentation. Earlier changelog entries as well as the
43-
description
44-
above state the documentation was removed from the upstream
45-
sources...
46-
Since the (pre-)built HTML documentation is currently included, I've
47-
commented out some lines in that part of ``spkg-install``. -leif
48-
49-
Patches
50-
~~~~~~~

build/pkgs/gap/checksums.ini

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
tarball=gap-VERSION.tar.gz
2-
sha1=a6e36f3f874a2c46f51561402634497eab705cca
3-
sha256=672308745eb78a222494ee8dd6786edd5bc331456fcc6456ac064bdb28d587a8
2+
sha1=cf91834954849dbaeae17079a4c4565bc28d03a8
3+
sha256=9794dbdba6fb998e0a2d0aa8ce21fc8848ad3d3f9cc9993b0b8e20be7e1dbeba
44
upstream_url=https://github.com/gap-system/gap/releases/download/vVERSION/gap-VERSION.tar.gz

build/pkgs/gap/distros/conda.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
gap-defaults>=4.12.2,<4.13.0
1+
gap-defaults

build/pkgs/gap/distros/gentoo.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
sci-mathematics/gap

build/pkgs/gap/package-version.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4.12.2
1+
4.13.1
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
From 89b95994807970d90671e1e02cc03ddca4cf0a10 Mon Sep 17 00:00:00 2001
2+
From: Matthias Koeppe <[email protected]>
3+
Date: Sat, 8 Jun 2024 14:01:16 -0700
4+
Subject: [PATCH] Makefile.rules [Darwin]: Remove use of '-single_module'
5+
(obsolete), activate '-install_name'
6+
7+
---
8+
Makefile.rules | 5 +----
9+
1 file changed, 1 insertion(+), 4 deletions(-)
10+
11+
diff --git a/Makefile.rules b/Makefile.rules
12+
index 8bfd3dba0..adfed731f 100644
13+
--- a/Makefile.rules
14+
+++ b/Makefile.rules
15+
@@ -446,10 +446,7 @@ else ifneq (,$(findstring darwin,$(host_os)))
16+
LINK_SHLIB_FLAGS = -dynamiclib
17+
LINK_SHLIB_FLAGS += -compatibility_version $(LIBGAP_COMPAT_VER)
18+
LINK_SHLIB_FLAGS += -current_version $(LIBGAP_CURRENT_VER)
19+
- LINK_SHLIB_FLAGS += -Wl,-single_module
20+
-
21+
- # TODO: set install_name, at least for installed version of the lib?
22+
- #LINK_SHLIB_FLAGS += -install_name $(libdir)/$(LIBGAP_FULL)
23+
+ LINK_SHLIB_FLAGS += -install_name $(libdir)/$(LIBGAP_FULL)
24+
25+
GAP_CPPFLAGS += -DPIC
26+
GAP_CFLAGS += -fno-common
27+
--
28+
2.42.0
29+
Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
diff --git a/lib/dicthf.gi b/lib/dicthf.gi
2+
index 5ee7341..e4349ac 100644
3+
--- a/lib/dicthf.gi
4+
+++ b/lib/dicthf.gi
5+
@@ -152,16 +152,37 @@ end);
6+
##
7+
InstallMethod(SparseIntKey,"for bounded tuples",true,
8+
[ IsList,IsList and IsCyclotomicCollection ], 0,
9+
-function(m,v)
10+
-local c;
11+
- if Length(m)<>3 or m[1]<>"BoundedTuples" then
12+
+function(m, v)
13+
+ if Length(m)<> 3 or m[1]<>"BoundedTuples" then
14+
TryNextMethod();
15+
fi;
16+
- c:=[1,Maximum(m[2])+1];
17+
- return function(a)
18+
- return a*c;
19+
+ # Due to the way BoundedTuples are presently implemented we expect the input
20+
+ # to the hash function to always be a list of positive immediate integers. This means
21+
+ # that using HashKeyWholeBag should be safe.
22+
+ return function(x)
23+
+ Assert(1, IsPositionsList(x));
24+
+ if not IsPlistRep(x) then
25+
+ x := AsPlist(x);
26+
+ fi;
27+
+ return HashKeyWholeBag(x, 1);
28+
end;
29+
30+
+ # alternative code w/o HashKeyBag
31+
+ ## build a weight vector to distinguish lists. Make entries large while staying clearly within
32+
+ ## immediate int (2^55 replacing 2^60, since we take subsequent primes).
33+
+ #step:=NextPrimeInt(QuoInt(2^55,Maximum(m[2])*m[3]));
34+
+ #weights:=[1];
35+
+ #len:=Length(v);
36+
+ ## up to 56 full, then increasingly reduce
37+
+ #len:=Minimum(len,8*RootInt(len));
38+
+ #while Length(weights)<len do
39+
+ # Add(weights,weights[Length(weights)]+step);
40+
+ # step:=NextPrimeInt(step);
41+
+ #od;
42+
+ #return function(a)
43+
+ # return a*weights;
44+
+ #end;
45+
+
46+
end);
47+
48+
BindGlobal( "SparseIntKeyVecListAndMatrix", function(d,m)
49+
diff --git a/lib/oprt.gi b/lib/oprt.gi
50+
index c1def0b..00e2953 100644
51+
--- a/lib/oprt.gi
52+
+++ b/lib/oprt.gi
53+
@@ -3565,6 +3565,7 @@ InstallMethod(DomainForAction,"permutations on lists of integers",true,
54+
function(pnt,acts,act)
55+
local m;
56+
if not (Length(pnt)>0 and ForAll(pnt,IsPosInt) and
57+
+ ForAll(acts,IsPerm) and
58+
(act=OnSets or act=OnPoints or act=OnRight or act=\^)) then
59+
TryNextMethod();
60+
fi;
61+
diff --git a/lib/vecmat.gi b/lib/vecmat.gi
62+
index 017c3c6..93ba828 100644
63+
--- a/lib/vecmat.gi
64+
+++ b/lib/vecmat.gi
65+
@@ -2142,7 +2142,8 @@ InstallMethod(DomainForAction,"matrix/matrix",IsElmsCollsX,
66+
function(pnt,acts,act)
67+
local l,f;
68+
if (not ForAll(acts,IsMatrix)) or
69+
- (act<>OnPoints and act<>OnSubspacesByCanonicalBasis and act<>OnRight) then
70+
+ (act<>OnPoints and act<>OnSubspacesByCanonicalBasis and act<>OnRight and act<>OnSets and
71+
+ act<>OnTuples) then
72+
TryNextMethod(); # strange operation, might extend the domain
73+
fi;
74+
l:=NaturalActedSpace(acts,pnt);
75+
diff --git a/tst/testbugfix/2024-09-14-actdomain.tst b/tst/testbugfix/2024-09-14-actdomain.tst
76+
new file mode 100644
77+
index 0000000..84f8b50
78+
--- /dev/null
79+
+++ b/tst/testbugfix/2024-09-14-actdomain.tst
80+
@@ -0,0 +1,85 @@
81+
+# Fix #5786 and error reported by Len Soicher in support list
82+
+gap> gg:=SpecialUnitaryGroup(4,2);;
83+
+gap> hl:=Z(2)*[
84+
+> [0,0,1,0],
85+
+> [1,1,0,0],
86+
+> [0,1,0,1],
87+
+> [0,1,1,0],
88+
+> [1,1,0,1]];;
89+
+gap> o:=Orbit(gg,Set(hl),OnSets);;
90+
+gap> Length(o);
91+
+216
92+
+gap> set:=[ 1,10,15,24,29,33,38,40,44,59, 60, 63, 69, 74, 77,79,85, 86, 90,
93+
+> 95, 99, 103, 105, 110, 122, 125, 143, 148, 149, 153, 162, 165, 174, 182,
94+
+> 185, 191, 197, 198, 202, 218, 223, 227, 228, 235, 236, 240, 243, 248,
95+
+> 254,
96+
+> 256, 259, 270, 275, 288, 291, 295, 298, 302, 305, 310, 312, 315, 325,
97+
+> 329,
98+
+> 333, 340, 341, 350, 356, 366, 369, 381, 385, 390, 397, 402, 412, 414,
99+
+> 419,
100+
+> 421, 425, 428, 433, 436, 445, 447, 451, 452, 453, 454, 461, 466, 474,
101+
+> 479,
102+
+> 481, 489, 490, 493, 497, 507, 509, 512, 513, 519, 521 ];;
103+
+gap> gp:=Group(
104+
+> ( 1,340,124,306,216,492,100, 25,108,270,220,332)( 2,138, 54,161,132,159,198,
105+
+> 336,439,269, 89,419)( 3,467,177,404,505,437,379,312,481,271,223,135)
106+
+> ( 4,510, 79,504,259,234,378,251,272,268,360,303)( 5,278,176,191,231,275,263,
107+
+> 190,230,146,265,192)( 6,486,126,523,490,448,375,237,288,400,243,329)
108+
+> ( 7,131,123,516, 48,392,350,333,418, 16,139,175)( 8,289,125,386,241, 29,376,
109+
+> 334,242,417,442,331)( 9,430, 32, 59,446,367,377,335,411,416,515,330)
110+
+> ( 10,391, 56,407,475,414,200,328,165,473, 86,119)( 11,368, 35,390,522,408,199,
111+
+> 415,440,326, 87,503)( 12,412, 55,457,399,245,201, 33,438,431, 88,317)
112+
+> ( 13,471, 40,348,452,292, 43,346,373, 77, 41,347)( 14,137,174,162, 60, 69,321,
113+
+> 487, 61,158,322,370)( 15,101,114,109,130,160,488,489,352,351,420, 17)
114+
+> ( 18,339,167,290,202,385, 99, 22, 90,323,217,129)( 19, 26, 93,304, 96,342)
115+
+> ( 20,338,166,305,215,141, 97, 24, 51,150,219,507)( 21,337, 63,186,214,424, 98,
116+
+> 23,107,382,218,349)( 27, 91,445,451,525, 67,519,239,144,203,155,353)
117+
+> ( 28,324,444,128, 70,428,496,238,286,300,283, 64)( 30,236,287,441,387,354)
118+
+> ( 31,345,366,517, 45,344,413,521, 46,248,244,121)( 34,314,394,402,222,447, 81,
119+
+> 282,262,173,246,435)( 36,482,178,364,148,495,179,363,140,102,113,111)
120+
+> ( 37,253,273,168,294,302,226,183, 72,480,154,233)( 38,483,520,393,403,465,362,
121+
+> 298,143,356,153,369)( 39,157,320,472)( 42,228,277,264)( 44,343,147,501)
122+
+> ( 47, 73,308,380,184,389,310,327,163,295,151,425)( 49,221,456, 80,474,260,405,
123+
+> 325,164,524,152,449)( 50,479,365,477,461,459,497,169,296,247,134,117)
124+
+> ( 52,361,299,285,355,188,423,464,434,453,133,118)( 53,257,509, 68,511,458,293,
125+
+> 204,384,374, 75, 82)( 57,116,112,149,514,396,470,485,493,249,421,120)
126+
+> ( 58,500,266,250,429,122)( 62,156,319,311)( 65,187,225,357,127, 71,388,235,
127+
+> 460,252,274,371)( 66,106,462,291,205,383,372, 76, 92,410,280,498)
128+
+> ( 74,401,381,476,409,281,171,104,297,307,426,182)( 78, 84,261,256,180,436,512,
129+
+> 313,181,491,224,499)( 83,466,255,508,506,395,469,422,142,103,115,110)
130+
+> ( 85,468,258,502,267,136)( 94,341)( 95,211)(105,478,195,432,518,316,197,484,
131+
+> 494,455,196,170)(145,513,359,232,227,254)(172,209,398,207,279,206)
132+
+> (185,194,309,443)(189,406,463,318,450,427,433,454,315,301,284,358)
133+
+> (193,229,276,240)(208,397)(210,213,212)
134+
+> ,( 1,379,148, 48,128,430,416)( 2, 34,338, 35,235,131,521)( 3,512,352, 47,
135+
+> 318,289,237)( 4,272,506, 49,434,486,282)( 5,524,485, 10,483,340, 55)
136+
+> ( 6,458, 36,487, 60,121, 16)( 7,313,140,336,127,435,270)( 8, 85,147,489,
137+
+> 98,201,417)( 9,469, 94,488,129,329,400)( 11,291, 26, 54,234,473,169)
138+
+> ( 12,207,339, 56,233,503,515)( 13,426,337, 40,232,295,500)( 14, 32,414, 27,
139+
+> 167,130,472)( 15, 33,188, 38,382,109,501)( 17, 31,459, 37,496,132,517)
140+
+> ( 18,263,294,446,451,134,497)( 19,198,525,241,441,244,470)( 20,100,199,490,
141+
+> 242,429,413)( 21,378,403,216,523,421, 58)( 22,124,159, 77, 63,123,292)
142+
+> ( 23,176,275,431,168, 86,293)( 24,177,492,326,104,151,290)( 25, 79,437,269,
143+
+> 163,152,144)( 28,462,150,162, 62,120,415)( 29,239, 83,311, 61,117,260)
144+
+> ( 30,452,149,370, 39,122,389)( 41,468, 73,254,277,432,371)( 42,210,319,502,
145+
+> 373,205,283)( 43,387,194,212,320,508, 99)( 44,396,349,331,399,250,420)
146+
+> ( 45,411,461,375,475,377,418)( 46,344,409,519,522,477,419)( 50,253,278,433,
147+
+> 231, 88,422)( 51,482,138,358,229,463,381)( 52, 91,467,221,230,518,484)
148+
+> ( 53,390,510,494,228,454, 92)( 57,310,460,118,259,367,363)( 59,281,227,274,
149+
+> 505,402,215)( 64,125,245, 76, 93,160,471)( 65,126,408, 75,166, 69,264)
150+
+> ( 66,302,186,116,257,424,327)( 67,187,297,479,217,425,171)( 68,303,296,345,
151+
+> 280,226,273)( 70,240,359,366,364, 97,200)( 71,265,360,394,393,133,423)
152+
+> ( 72,251,146,164,268, 87,312)( 74,252,276,406,513, 89,181)( 78,395,158,185,
153+
+> 315,287,333)( 80,136,351,156,316,286,334)( 81,511,350,184,317,288,335)
154+
+> ( 82,261,392,183,105,309,238)( 84,224,439,182,284,193,236)( 90,466,391,357,
155+
+> 443,170,465)( 95,321,509,353,203,243,197)( 96,516,498,354,300,246,401)
156+
+> (101,405,453,464,154,112,341)(102,139,450,208,388,365,111)(103,440,520,285,
157+
+> 192,266,343)(106,308,218,119,262,448,298)(107,219,368,356,442,301,209)
158+
+> (108,514,412,355,376,474,222)(110,495,137,478,361,444,380)(113,255,342,175,
159+
+> 173,247,305)(114,256,141,328,153,307,304)(115,258,385,325,172,214,306)
160+
+> (135,493,157,455,362,445,407)(142,346,189,398,323,161,499)(143,190,145,436,
161+
+> 271,165,314)(155,195,211,174,404,374,204)(178,507,332,330,248,249,179)
162+
+> (180,372,202,386,196,213,322)(191,267,491,384,438,279,225)(206,428,299,369,
163+
+> 480,220,449)(223,481,383,427,397,324,504)(347,457,447,410,348,456,476));;
164+
+gap> Length(Orbit(gp,set,OnSets));
165+
+241920
166+
diff --git a/tst/teststandard/hash2.tst b/tst/teststandard/hash2.tst
167+
index 6bfa4d3..d47452e 100644
168+
--- a/tst/teststandard/hash2.tst
169+
+++ b/tst/teststandard/hash2.tst
170+
@@ -32,4 +32,8 @@ gap> Length(Orbit(h,h.1[1],OnRight));
171+
2079
172+
gap> Length(Orbit(h,h.2^5,OnPoints));
173+
693
174+
+gap> Length(Orbit(SymmetricGroup(14), [1 .. 7], OnSets));
175+
+3432
176+
+gap> Length(Orbit(SymmetricGroup(16), [1 .. 8], OnSets));
177+
+12870
178+
gap> STOP_TEST( "hash2.tst", 1);

build/pkgs/gap/spkg-check.in

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ cd pkg/io
1010
make
1111
cd ../..
1212

13-
make testinstall
13+
# This is the same as 'dev/ci.sh testinstall' (but dev/ci.sh is not part of the GAP tarball)
14+
./gap tst/testinstall.g
1415
if [[ $? -ne 0 ]]; then
1516
exit 1
1617
fi

build/pkgs/gap/spkg-configure.m4

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ SAGE_SPKG_CONFIGURE([gap], [
22
# Default to installing the SPKG, if the check is run at all.
33
sage_spkg_install_gap=yes
44
5-
m4_pushdef([GAP_MINVER],["4.12.2"])
6-
m4_pushdef([GAP_LTVER],["4.13.0"])
5+
m4_pushdef([GAP_MINVER],["4.13.0"])
6+
m4_pushdef([GAP_LTVER],["5.0.0"])
77
88
SAGE_SPKG_DEPCHECK([ncurses readline zlib], [
99
AC_PATH_PROG(GAP, gap)

0 commit comments

Comments
 (0)