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

update GAP to 4.12.2 #35093

Merged
merged 24 commits into from
Mar 19, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
65d04f8
Adapt to API changes in OpenOutputStream and CloseOutput
antonio-rojas Aug 29, 2022
ff266ec
Disable colored prompt as it breaks the pexpect interface
antonio-rojas Aug 29, 2022
dab8d64
Port NaturalHomomorphism uses
antonio-rojas Aug 29, 2022
325c967
Fix tests with GAP 4.12
antonio-rojas Aug 29, 2022
5bb6a0b
Adapt test to new is_transitive and is_primitive behavior
antonio-rojas Sep 30, 2022
7f19c10
Mark test as random. With gap 4.12 on x86_64 it is no longer 2
antonio-rojas Sep 30, 2022
9acf09f
Remove test that is now redundant, all seeds give the same answer
antonio-rojas Sep 30, 2022
9fc07d3
install gap 4.12.0
dimpase Oct 17, 2022
21babff
upgrade libsemigroup and gap_packages
dimpase Oct 17, 2022
1865dd3
add GAP upstream PR 5077
dimpase Oct 17, 2022
9b1798a
also, fix the package names etc
dimpase Oct 17, 2022
23b6e3f
update GAP to 4.12.1
dimpase Oct 21, 2022
7cb0473
install GAP package singular - new dependency of liepring
dimpase Oct 21, 2022
566625d
moved install of radiroot to gap from gap_packages
dimpase Oct 23, 2022
cecae60
moved install of autodoc and utils to gap from gap_packages
dimpase Oct 23, 2022
bde3df7
don't use SAGE_LOCAL/share/gap, switch to GAP's "make install"
dimpase Nov 4, 2022
5e3c4ec
Search for files in both lib/gap and share/gap
antonio-rojas Nov 4, 2022
494eaeb
Create lib/gap/bin on install
antonio-rojas Nov 4, 2022
038a4c7
ensure make gap-clean still works
dimpase Nov 13, 2022
d0e122f
with SAGE_CHECK=yes, one needs io installed to prevent hangs
dimpase Nov 13, 2022
8db52f7
backport GAP PR 5235
dimpase Dec 1, 2022
ab138e1
update GAP to 4.12.2
dimpase Jan 7, 2023
411450a
bump libsemigroups to v2.3.2
dimpase Jan 7, 2023
9990163
tell atlastrep do not use internet by default
dimpase Mar 17, 2023
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
6 changes: 3 additions & 3 deletions build/pkgs/gap/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
tarball=gap-VERSION.tar.gz
sha1=4ecdd281b8f430282fb9b12690b06e0a26abde10
md5=85dc9e459d5b6c66fcad9f468afd3e3e
cksum=1351843158
sha1=a6e36f3f874a2c46f51561402634497eab705cca
md5=c5cd9f272f2703d7a3649ad7193b2d90
cksum=2760477284
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.11.1
4.12.2
11 changes: 11 additions & 0 deletions build/pkgs/gap/patches/atlasrep-dont_use_network_by_default.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- a/pkg/atlasrep/gap/userpref.g 2022-09-06 17:41:17.000000000 -0300
+++ b/pkg/atlasrep/gap/userpref.g 2022-10-29 07:46:48.580833277 -0300
@@ -46,7 +46,7 @@
this information depends on the value of the preference at the time \
when the AtlasRep package and its data extensions get loaded."
],
- default:= true,
+ default:= false,
values:= [ true, false ],
multi:= false,
package:= "AtlasRep",
7 changes: 7 additions & 0 deletions build/pkgs/gap/spkg-check.in
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@ cd src
# #28728: Fix test failure in tst/testinstall/strings.tst
export LC_CTYPE=en_US.UTF-8

# #34391: in GAP 4.12 some packages need GAP package io
# to let tests run, otherwise this hangs. Thus we install io here.
cd pkg/io
./configure --with-gaproot=../..
make
cd ../..

make testinstall
if [[ $? -ne 0 ]]; then
exit 1
Expand Down
96 changes: 25 additions & 71 deletions build/pkgs/gap/spkg-install.in
Original file line number Diff line number Diff line change
Expand Up @@ -8,46 +8,25 @@ export CFLAGS=$CFLAGS_NON_NATIVE
export CXXFLAGS=$CXXFLAGS_NON_NATIVE

GAP_BUILD_ROOT="$(pwd)"
GAP_ROOT="$SAGE_LOCAL/share/gap"
DESTDIR_GAP_ROOT="$SAGE_DESTDIR$GAP_ROOT"
GAP_ROOT="$SAGE_LOCAL/lib/gap"

# Enable debug info if requested.
# Note that -g3 allows you to use preprocessor macros in gdb which are widely used
if [ "$SAGE_DEBUG" = yes ] ; then
export CFLAGS="-O0 -g3 -DDEBUG_MASTERPOINTERS -DDEBUG_GLOBAL_BAGS -DDEBUG_FUNCTIONS_BAGS $CFLAGS"
fi

sdh_configure $SAGE_CONFIGURE_GMP
sdh_make -j1
# LDFLAGS hack below needed by Semigroups package
sdh_configure $SAGE_CONFIGURE_GMP LDFLAGS="-pthread" --prefix=$SAGE_LOCAL
sdh_make

# GAP's "make install" is work in progress; we use bits and pieces of it
# but we install many things manually.
sdh_make install-headers install-libgap

# Install config.h, which is not currently handled by `make install-headers`
sdh_install gen/config.h "$SAGE_LOCAL/include/gap"

# Now install the gap executable as "gap-bin"; it will be called normally
# through our wrapper script that sets the appropriate GAP_ROOT
SAGE_BIN="$SAGE_LOCAL/bin"
mkdir -p "$SAGE_DESTDIR$SAGE_BIN" || sdh_die "Failed to create the directory $SAGE_BIN"

./libtool --mode=install install gap "$SAGE_DESTDIR$SAGE_BIN/gap-bin" || \
sdh_die "Failed to install gap-bin to $SAGE_BIN"

./libtool --mode=install install gac "$SAGE_DESTDIR$SAGE_BIN/gac" || \
sdh_die "Failed to install gac to $SAGE_BIN"

# Now copy additional files GAP needs to run (and a few optional bits) into
# GAP_ROOT; we don't need everything from the source tree
sdh_install bin doc gen grp lib src tst sysinfo.gap "$GAP_ROOT"

# GAP's copy of libtool is also used by the toolchain for build GAP packages
# (i.e. by gac)
sdh_install libtool "$GAP_ROOT"
sdh_make_install
# sdh_make install-headers install-libgap
# The 'packagemanager' package expects this https://github.com/gap-packages/PackageManager/issues/105
mkdir -p "$SAGE_LOCAL/lib/gap/bin"

# Install only the minimal packages GAP needs to run
sdh_install pkg/GAPDoc-* pkg/primgrp-* pkg/SmallGrp-* pkg/transgrp "$GAP_ROOT"/pkg
sdh_install pkg/gapdoc pkg/primgrp pkg/smallgrp pkg/transgrp "$GAP_ROOT"/pkg

# Install additional packages that are not strictly required, but that are
# typically "expected" to be loaded: These are the default packages that are
Expand All @@ -58,50 +37,25 @@ sdh_install pkg/GAPDoc-* pkg/primgrp-* pkg/SmallGrp-* pkg/transgrp "$GAP_ROOT"/p
# Also include atlasrep which is a dependency of tomlib
sdh_install \
pkg/atlasrep \
pkg/autpgrp-* \
pkg/alnuth-* \
pkg/crisp-* \
pkg/ctbllib-* \
pkg/FactInt-* \
pkg/autodoc \
pkg/autpgrp \
pkg/alnuth \
pkg/crisp \
pkg/ctbllib \
pkg/factint \
pkg/fga \
pkg/irredsol-* \
pkg/laguna-* \
pkg/PackageManager-* \
pkg/polenta-* \
pkg/polycyclic-* \
pkg/resclasses-* \
pkg/sophus-* \
pkg/tomlib-* \
pkg/irredsol \
pkg/laguna \
pkg/packagemanager \
pkg/polenta \
pkg/polycyclic \
pkg/radiroot \
pkg/resclasses \
pkg/sophus \
pkg/tomlib \
pkg/utils \
"$GAP_ROOT"/pkg

# Install the GAP startup script; ensure it is executable
sdh_install -T ../gap "$SAGE_BIN/gap"
chmod +x "$SAGE_DESTDIR$SAGE_BIN/gap"

# Create symlinks under $GAP_ROOT for these executables, as they are expected
# (especially when building kernel packages) to exist
ln -sf "../../bin/gap-bin" "$DESTDIR_GAP_ROOT/gap"
ln -sf "../../bin/gac" "$DESTDIR_GAP_ROOT/gac"

# Fix the $GAP_ROOT/bin/<arch>/src symlink to be relative (otherwise it links
# to the actual path of the sources GAP was compiled from)
for srclink in "$DESTDIR_GAP_ROOT"/bin/*/src; do
rm -f "$srclink"
ln -s "../../src" "$srclink"
done

# Additional fixups for some files after they have been copied into their
# destination directory. gac and sysinfo.gap are generated files that contain
# in them hard-coded references to the GAP build directory, which will soon
# be going away. This breaks the build toolchain for some compiled GAP
# packages. We need to replace these paths with the final GAP_ROOT path. The
# below will work so long as neither of these paths contain '|', and if they do
# then god help you. https://github.com/sagemath/sage/issues/27218
sed -i -e "s|$GAP_BUILD_ROOT|$GAP_ROOT|g" \
"$SAGE_DESTDIR$SAGE_BIN/gac" "$DESTDIR_GAP_ROOT/sysinfo.gap" \
"$DESTDIR_GAP_ROOT/bin/gap.sh" "$DESTDIR_GAP_ROOT/doc/make_doc" || \
sdh_die "Failed to fix up hard-coded paths in GAP build tools."

# TODO: This seems unnecessary--we are already installing all of doc/ to
# GAP_ROOT, which is necessary for some functionality in GAP to work. Do
# we need this? Maybe doc/gap could just be a symlink to gap/doc??
Expand Down
4 changes: 3 additions & 1 deletion build/pkgs/gap/spkg-legacy-uninstall
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ rm -rf "$SAGE_LOCAL/gap/gap-4."*
rm -rf "$SAGE_SHARE/gap"
rm -f "$SAGE_LOCAL/gap/latest"
rm -f "$SAGE_LOCAL/bin/gap"
rm -f "$SAGE_LOCAL/bin/gac"

# Remove old libgap headers
# Remove old libgap headers and library
rm -rf "$SAGE_LOCAL/include/gap"
rm -rf "$SAGE_LOCAL/lib/gap"
6 changes: 0 additions & 6 deletions build/pkgs/gap/spkg-prerm.in

This file was deleted.

150 changes: 0 additions & 150 deletions build/pkgs/gap_packages/patches/cohomolo-gcc10.patch

This file was deleted.

13 changes: 0 additions & 13 deletions build/pkgs/gap_packages/patches/guava_leon_includes.patch

This file was deleted.

Loading