Skip to content

Commit

Permalink
Merge branch 'develop' into improve_approximate_order_on__getitem__calls
Browse files Browse the repository at this point in the history
  • Loading branch information
mantepse committed Mar 22, 2023
2 parents 50eb60e + c00e6c2 commit 0938ff5
Show file tree
Hide file tree
Showing 388 changed files with 2,075 additions and 1,845 deletions.
8 changes: 4 additions & 4 deletions .zenodo.json
@@ -1,10 +1,10 @@
{
"description": "Mirror of the Sage https://sagemath.org/ source tree",
"license": "other-open",
"title": "sagemath/sage: 10.0.beta4",
"version": "10.0.beta4",
"title": "sagemath/sage: 10.0.beta5",
"version": "10.0.beta5",
"upload_type": "software",
"publication_date": "2023-03-12",
"publication_date": "2023-03-19",
"creators": [
{
"affiliation": "SageMath.org",
Expand All @@ -15,7 +15,7 @@
"related_identifiers": [
{
"scheme": "url",
"identifier": "https://github.com/sagemath/sage/tree/10.0.beta4",
"identifier": "https://github.com/sagemath/sage/tree/10.0.beta5",
"relation": "isSupplementTo"
},
{
Expand Down
37 changes: 0 additions & 37 deletions Makefile
Expand Up @@ -80,42 +80,6 @@ download:
dist: build/make/Makefile
./sage --sdist

pypi-sdists: sage_setup
./sage --sh build/pkgs/sage_conf/spkg-src
./sage --sh build/pkgs/sage_sws2rst/spkg-src
./sage --sh build/pkgs/sage_docbuild/spkg-src
./sage --sh build/pkgs/sage_setup/spkg-src
./sage --sh build/pkgs/sagelib/spkg-src
./sage --sh build/pkgs/sagemath_objects/spkg-src
./sage --sh build/pkgs/sagemath_categories/spkg-src
./sage --sh build/pkgs/sagemath_environment/spkg-src
./sage --sh build/pkgs/sagemath_repl/spkg-src
@echo "Built sdists are in upstream/"

# Ensuring wheels are present, even for packages that may have been installed
# as editable. Until we have better uninstallation of script packages, we
# just remove the timestamps, which will lead to rebuilds of the packages.
PYPI_WHEEL_PACKAGES = sage_sws2rst sage_setup sagemath_environment sagemath_objects sagemath_repl sagemath_categories
pypi-wheels:
for a in $(PYPI_WHEEL_PACKAGES); do \
rm -f venv/var/lib/sage/installed/$$a-*; \
done
for a in $(PYPI_WHEEL_PACKAGES); do \
$(MAKE) SAGE_EDITABLE=no SAGE_WHEELS=yes $$a; \
done
@echo "Built wheels are in venv/var/lib/sage/wheels/"

# sage_docbuild is here, not in PYPI_WHEEL_PACKAGES, because it depends on sagelib
WHEEL_PACKAGES = $(PYPI_WHEEL_PACKAGES) sage_conf sagelib sage_docbuild
wheels:
for a in $(WHEEL_PACKAGES); do \
rm -f venv/var/lib/sage/installed/$$a-*; \
done
for a in $(WHEEL_PACKAGES); do \
$(MAKE) SAGE_EDITABLE=no SAGE_WHEELS=yes $$a; \
done
@echo "Built wheels are in venv/var/lib/sage/wheels/"

###############################################################################
# Cleaning up
###############################################################################
Expand Down Expand Up @@ -380,7 +344,6 @@ list:
@$(MAKE) --silent -f build/make/Makefile SAGE_PKGCONFIG=dummy $@

.PHONY: default build dist install micro_release \
pypi-sdists pypi-wheels wheels \
misc-clean bdist-clean distclean bootstrap-clean maintainer-clean \
test check testoptional testall testlong testoptionallong testallong \
ptest ptestoptional ptestall ptestlong ptestoptionallong ptestallong \
Expand Down
2 changes: 1 addition & 1 deletion VERSION.txt
@@ -1 +1 @@
SageMath version 10.0.beta4, Release Date: 2023-03-12
SageMath version 10.0.beta5, Release Date: 2023-03-19
45 changes: 44 additions & 1 deletion build/make/Makefile.in
Expand Up @@ -128,7 +128,23 @@ PIP_PACKAGES = @SAGE_PIP_PACKAGES@
# Packages that use the 'script' package build rules
SCRIPT_PACKAGES = @SAGE_SCRIPT_PACKAGES@


# Packages for which we build wheels for PyPI
PYPI_WHEEL_PACKAGES = \
sage_sws2rst \
sage_setup \
sagemath_environment \
sagemath_objects \
sagemath_repl \
sagemath_categories

# sage_docbuild is here, not in PYPI_WHEEL_PACKAGES, because it depends on sagelib
WHEEL_PACKAGES = $(PYPI_WHEEL_PACKAGES) \
sage_conf \
sagelib \
sage_docbuild

# Packages for which build sdists for PyPI
PYPI_SDIST_PACKAGES = $(WHEEL_PACKAGES)

# Generate the actual inst_<pkgname> variables; for each package that is
# actually built this generates a line like:
Expand Down Expand Up @@ -198,6 +214,7 @@ SAGE_I_TARGETS = sagelib doc
# Tell make not to look for files with these names:
.PHONY: all all-sage all-toolchain all-build all-sageruntime \
all-start build-start base toolchain toolchain-deps base-toolchain \
pypi-sdists pypi-wheels wheels \
sagelib \
doc doc-html doc-html-jsmath doc-html-mathjax doc-pdf \
doc-uninstall \
Expand Down Expand Up @@ -418,6 +435,25 @@ list-broken-packages: auditwheel_or_delocate
echo >&2 "$$fix_broken_packages"; \
fi

pypi-sdists: $(PYPI_SDIST_PACKAGES:%=%-sdist)
@echo "Built sdists are in upstream/"

# Ensuring wheels are present, even for packages that may have been installed
# as editable. Until we have better uninstallation of script packages, we
# just remove the timestamps, which will lead to rebuilds of the packages.
pypi-wheels:
for a in $(PYPI_WHEEL_PACKAGES); do \
rm -f $(SAGE_VENV)/var/lib/sage/installed/$$a-*; \
done
$(MAKE_REC) SAGE_EDITABLE=no SAGE_WHEELS=yes $(PYPI_WHEEL_PACKAGES)
@echo "Built wheels are in venv/var/lib/sage/wheels/"

wheels:
for a in $(WHEEL_PACKAGES); do \
rm -f $(SAGE_VENV)/var/lib/sage/installed/$$a-*; \
done
$(MAKE_REC) SAGE_EDITABLE=no SAGE_WHEELS=yes $(WHEEL_PACKAGES)
@echo "Built wheels are in venv/var/lib/sage/wheels/"

#==============================================================================
# Setting SAGE_CHECK... variables
Expand Down Expand Up @@ -711,6 +747,13 @@ $(1)-uninstall: $(1)-$(4)-uninstall

$(1)-clean: $(1)-uninstall

$(1)-sdist: FORCE python_build sage_setup cython
$(AM_V_at) cd '$$(SAGE_ROOT)' && \
. '$$(SAGE_ROOT)/src/bin/sage-src-env-config' && \
. '$$(SAGE_ROOT)/src/bin/sage-env-config' && \
. '$$(SAGE_ROOT)/src/bin/sage-env' && \
'$$(SAGE_ROOT)/build/pkgs/$(1)/spkg-src'

# Recursive tox invocation (note - we do not set the environment here).
# Setting SAGE_SPKG_WHEELS is for the benefit of sagelib's tox.ini
$(1)-tox-%: FORCE
Expand Down
1 change: 0 additions & 1 deletion build/pkgs/_prereq/distros/fedora.txt
Expand Up @@ -30,7 +30,6 @@ gcc-c++
# The need for which comes [...] from MPIR's configure script
findutils
which
# Needed for pcre configure, see https://github.com/sagemath/sage/issues/29129:
diffutils
# Needed for openssl 3.0
perl-IPC-Cmd
6 changes: 3 additions & 3 deletions build/pkgs/configure/checksums.ini
@@ -1,4 +1,4 @@
tarball=configure-VERSION.tar.gz
sha1=d8ef4b8b0d227b2530cff20c65911eb9587828a3
md5=f58322981d5c5e26b1d9eadf3c2a9132
cksum=3821522607
sha1=0ea92e19072c843aa21527e051eff0a0f97eb9ad
md5=44e659f4d263acad8194e16952762a82
cksum=3343113057
2 changes: 1 addition & 1 deletion build/pkgs/configure/package-version.txt
@@ -1 +1 @@
d6c38e59d84f0dcb7c08110445050c1c370f7440
49c2cd323e638cdfb0444d72daad21b4ddbd1887
6 changes: 3 additions & 3 deletions build/pkgs/gap/checksums.ini
@@ -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
@@ -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
@@ -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
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
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
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.

0 comments on commit 0938ff5

Please sign in to comment.