Skip to content
This repository was archived by the owner on Jan 30, 2023. It is now read-only.

Commit 4a1b489

Browse files
author
Matthias Koeppe
committed
Merge tag '9.6.beta4' into t/32609/remove_more_unnecessary_uses_of_sr_and_symbolic_functions_in_sage_combinat
SageMath version 9.6.beta4, Release Date: 2022-03-08
2 parents 518bb96 + b21ca55 commit 4a1b489

File tree

182 files changed

+3874
-4046
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

182 files changed

+3874
-4046
lines changed

.github/workflows/build.yml

+19-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,10 @@ jobs:
2222
run: |
2323
# Reuse built SAGE_LOCAL contained in the Docker image
2424
./bootstrap
25-
./configure --enable-build-as-root --prefix=/sage/local --with-sage-venv
25+
./configure --enable-build-as-root --prefix=/sage/local --with-sage-venv --enable-editable
26+
# Install test tools
27+
apt-get install -y git
28+
./sage -python -m pip install coverage
2629
2730
- name: Build
2831
run: make build
@@ -31,4 +34,18 @@ jobs:
3134
SAGE_NUM_THREADS: 2
3235

3336
- name: Test
34-
run: ./sage -t --all -p0
37+
run: ../sage -python -m coverage run ./bin/sage-runtests --all -p2
38+
working-directory: ./src
39+
40+
- name: Prepare coverage results
41+
if: always()
42+
run: |
43+
./venv/bin/python3 -m coverage combine src/.coverage/
44+
./venv/bin/python3 -m coverage xml
45+
find . -name *coverage*
46+
47+
- name: Upload coverage to codecov
48+
if: always()
49+
uses: codecov/codecov-action@v2
50+
with:
51+
files: ./coverage.xml

.github/workflows/ci-cygwin-minimal.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ jobs:
217217
env:
218218
STAGE: ii-b
219219
PREVIOUS_STAGES: i-*
220-
TARGETS: singular maxima gap pari gfan palp flintqs ratpoints arb ecm givaro
220+
TARGETS: singular maxima gap pari gfan palp flintqs arb ecm givaro
221221
LOCAL_ARTIFACT_NAME: sage-local-commit-${{ github.sha }}-cygwin-${{ matrix.pkgs }}
222222
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-cygwin-${{ matrix.pkgs }}
223223

.github/workflows/ci-cygwin-standard.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ jobs:
217217
env:
218218
STAGE: ii-b
219219
PREVIOUS_STAGES: i-*
220-
TARGETS: singular maxima gap pari gfan palp flintqs ratpoints arb ecm givaro
220+
TARGETS: singular maxima gap pari gfan palp flintqs arb ecm givaro
221221
LOCAL_ARTIFACT_NAME: sage-local-commit-${{ github.sha }}-cygwin-${{ matrix.pkgs }}
222222
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-cygwin-${{ matrix.pkgs }}
223223

.github/workflows/lint.yml

+5
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@ name: Lint
22

33
on: [push, pull_request]
44

5+
concurrency:
6+
# Cancel previous runs of this workflow for the same branch
7+
group: ${{ github.workflow }}-${{ github.ref }}
8+
cancel-in-progress: true
9+
510
jobs:
611
lint-pycodestyle:
712
name: Code style check with pycodestyle

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,9 @@ src/venv.bak/
213213
**/.tox
214214
/prefix
215215

216+
# code coverage generated files
217+
src/.coverage/
218+
216219
# git worktree
217220
worktree*
218221
**/worktree*

.vscode/settings.json

+10-4
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,22 @@
11
{
2-
"python.defaultInterpreterPath": "./venv/bin/python",
3-
"python.pythonPath": "./venv/bin/python",
2+
"python.defaultInterpreterPath": "./venv/bin/python3",
43
"files.exclude": {
54
"**/__pycache__": true,
65
"src/**/*.cpp": true,
76
"src/**/*.so": true,
8-
"build/pkgs/sagelib/src": true
7+
},
8+
"search.exclude": {
9+
"build/pkgs/sagemath_categories/src": true,
10+
"build/pkgs/sagemath_objects/src": true,
11+
"build/pkgs/sagelib/src": true,
12+
"pkgs/sage-conf_pypi/sage_root/build": true,
13+
"pkgs/sagemath-categories/sage": true,
14+
"pkgs/sagemath-objects/sage": true,
15+
"pkgs/sagemath-standard/sage": true,
916
},
1017
"python.testing.pytestEnabled": true,
1118
"python.testing.pytestArgs": [
1219
"src"
1320
],
14-
"python.testing.nosetestsEnabled": false,
1521
"python.testing.unittestEnabled": false,
1622
}

.zenodo.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"description": "Mirror of the Sage https://sagemath.org/ source tree",
33
"license": "other-open",
4-
"title": "sagemath/sage: 9.6.beta3",
5-
"version": "9.6.beta3",
4+
"title": "sagemath/sage: 9.6.beta4",
5+
"version": "9.6.beta4",
66
"upload_type": "software",
7-
"publication_date": "2022-02-27",
7+
"publication_date": "2022-03-08",
88
"creators": [
99
{
1010
"affiliation": "SageMath.org",
@@ -15,7 +15,7 @@
1515
"related_identifiers": [
1616
{
1717
"scheme": "url",
18-
"identifier": "https://github.com/sagemath/sage/tree/9.6.beta3",
18+
"identifier": "https://github.com/sagemath/sage/tree/9.6.beta4",
1919
"relation": "isSupplementTo"
2020
},
2121
{

COPYING.txt

-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,6 @@ pynac GPLv2+
107107
pyparsing MIT License
108108
python Python License (see below)
109109
R GPLv2+
110-
ratpoints GPLv2+
111110
readline GPLv3+
112111
rpy GPLv2+
113112
rubiks/dietz GPL, any version

Makefile

+1-2
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,6 @@ micro_release:
194194
@echo "Removing documentation. Inspection in IPython still works."
195195
rm -rf local/share/doc local/share/*/doc local/share/*/examples local/share/singular/html
196196
@echo "Removing unnecessary files & directories - make will not be functional afterwards anymore"
197-
@# We need src/doc/common, src/doc/en/introspect for introspection with "??"
198197
@# We keep src/sage for some doctests that it expect it to be there and
199198
@# also because it does not add any weight with rdfind below.
200199
@# We need src/sage/bin/ for the scripts that invoke Sage
@@ -203,7 +202,7 @@ micro_release:
203202
@# We keep VERSION.txt.
204203
@# We keep COPYING.txt so we ship a license with this distribution.
205204
find . -name . -o -prune ! -name config.status ! -name src ! -name sage ! -name local ! -name VERSION.txt ! -name COPYING.txt ! -name build -exec rm -rf \{\} \;
206-
cd src && find . -name . -o -prune ! -name sage ! -name bin ! -name doc -exec rm -rf \{\} \;
205+
cd src && find . -name . -o -prune ! -name sage ! -name bin -exec rm -rf \{\} \;
207206
if command -v rdfind > /dev/null; then \
208207
echo "Hardlinking identical files."; \
209208
rdfind -makeresultsfile false -makehardlinks true .; \

VERSION.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
SageMath version 9.6.beta3, Release Date: 2022-02-27
1+
SageMath version 9.6.beta4, Release Date: 2022-03-08

bootstrap

+32-3
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,11 @@ install_config_rpath() {
7979

8080

8181
bootstrap () {
82+
if [ "${BOOTSTRAP_QUIET}" = "no" ]; then
83+
echo "bootstrap:$LINENO: installing 'm4/sage_spkg_configures.m4'"
84+
fi
8285
rm -f m4/sage_spkg_configures.m4
8386
spkg_configures=""
84-
8587
# initialize SAGE_ENABLE... options for standard packages
8688
for pkgname in $(./sage --package list :standard: | sort); do
8789
spkg_configures="$spkg_configures
@@ -101,16 +103,43 @@ AC_SUBST(SAGE_ENABLE_$pkgname, [if_installed])"
101103
if [ -f build/pkgs/$pkgname/spkg-install -o -f build/pkgs/$pkgname/spkg-install.in ]; then
102104
# Trac #31163: Not just an optional dummy package
103105
spkg_configures="$spkg_configures
104-
SAGE_SPKG_ENABLE([$pkgname], [$pkgtype], [$(head -n1 build/pkgs/$pkgname/SPKG.rst 2>/dev/null || echo $pkgname)])"
106+
SAGE_SPKG_ENABLE([$pkgname], [$pkgtype], [$(grep -v ^= build/pkgs/$pkgname/SPKG.rst | head -n1 2>/dev/null || echo $pkgname)])"
105107
fi
106108
;;
107109
esac
108110
fi
109111
done
110112
for pkgname in $(./sage --package list --has-file spkg-configure.m4 | sort); do
111-
echo "m4_sinclude([build/pkgs/$pkgname/spkg-configure.m4])" >> m4/sage_spkg_configures.m4
113+
echo "m4_sinclude([build/pkgs/$pkgname/spkg-configure.m4])"
112114
spkg_configures="$spkg_configures
113115
SAGE_SPKG_CONFIGURE_$(echo ${pkgname} | tr '[a-z]' '[A-Z]')"
116+
done >> m4/sage_spkg_configures.m4
117+
for pkgname in $(./sage --package list | sort); do
118+
DIR=build/pkgs/$pkgname
119+
pkgtype="$(cat $DIR/type)"
120+
if test -f "$DIR/requirements.txt"; then
121+
SPKG_SOURCE=pip
122+
elif test ! -f "$DIR/checksums.ini"; then
123+
if test -f "$DIR/spkg-install"; then
124+
SPKG_SOURCE=script
125+
else
126+
# a dummy script package
127+
SPKG_SOURCE=none
128+
fi
129+
else
130+
SPKG_SOURCE=normal
131+
fi
132+
if test -f "$DIR/trees.txt"; then
133+
SPKG_TREE_VAR="$(sed "s/#.*//;" "$DIR/trees.txt")"
134+
else
135+
SPKG_TREE_VAR=SAGE_LOCAL
136+
if test -f "$DIR/requirements.txt" -o -f "$DIR/install-requires.txt"; then
137+
# A Python package
138+
SPKG_TREE_VAR=SAGE_VENV
139+
fi
140+
fi
141+
spkg_configures="$spkg_configures
142+
SAGE_SPKG_FINALIZE([$pkgname], [$pkgtype], [$SPKG_SOURCE], [$SPKG_TREE_VAR])"
114143
done
115144
echo "$spkg_configures" >> m4/sage_spkg_configures.m4
116145

build/pkgs/configure/checksums.ini

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
tarball=configure-VERSION.tar.gz
2-
sha1=e097e1c5bf49ece5ef27101143c5b0a89ae77714
3-
md5=206b6e2055e09a0bd00c54e2065c430a
4-
cksum=1007778800
2+
sha1=0fa6909f982efbd452287651f58854ffdce6a588
3+
md5=80324f006d5a30d741ec34235c0220e0
4+
cksum=2324005793
+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0fed9a145e65dfe3989e9383aa93c4137806fb03
1+
b845564e0439f7178a40c8f28983aa039364209b

build/pkgs/ecl/SPKG.rst

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,20 @@ Solaris and Windows, running on top of the Intel, Sparc, Alpha and
1919
PowerPC processors. Porting to other architectures should be rather
2020
easy.
2121

22-
Website: http://ecls.sourceforge.net/
22+
Website: https://common-lisp.net/project/ecl/
2323

2424
License
2525
-------
2626

2727
- LGPL V2+ or compatible - for details see
2828

29-
http://ecls.sourceforge.net/license.html
29+
https://common-lisp.net/project/ecl/static/manual/Copyrights.html#Copyright-of-ECL
3030

3131

3232
Upstream Contact
3333
----------------
3434

35-
- the ECL mailing list - see http://ecls.sourceforge.net/resources.html
35+
- the ECL mailing list - see https://mailman.common-lisp.net/listinfo/ecl-devel
3636

3737
Special Update/Build Instructions
3838
---------------------------------
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
From aef4a7749dec9ecf942647af39d7a1303c758131 Mon Sep 17 00:00:00 2001
2+
From: Isuru Fernando <[email protected]>
3+
Date: Thu, 16 Sep 2021 15:46:09 -0500
4+
Subject: [PATCH 08/24] bpo-22699: Allow compiling on debian/ubuntu with a
5+
different compiler
6+
7+
This PR fixes one issue mentioned in the bpo
8+
https://bugs.python.org/issue22699#msg364685 with a slightly better
9+
patch than given
10+
---
11+
setup.py | 19 ++++++++++++++++++-
12+
1 file changed, 18 insertions(+), 1 deletion(-)
13+
14+
diff --git a/setup.py b/setup.py
15+
index 8fb8ea5c47..783d20bdcd 100644
16+
--- a/setup.py
17+
+++ b/setup.py
18+
@@ -663,9 +663,30 @@ def add_multiarch_paths(self):
19+
# Debian/Ubuntu multiarch support.
20+
# https://wiki.ubuntu.com/MultiarchSpec
21+
cc = sysconfig.get_config_var('CC')
22+
- tmpfile = os.path.join(self.build_temp, 'multiarch')
23+
if not os.path.exists(self.build_temp):
24+
os.makedirs(self.build_temp)
25+
+
26+
+ tmpfile_sysroot = os.path.join(self.build_temp, 'sysroot')
27+
+ ret_sysroot = run_command(
28+
+ '%s -print-sysroot > %s 2> /dev/null' % (cc, tmpfile_sysroot))
29+
+
30+
+ try:
31+
+ if ret_sysroot == 0:
32+
+ with open(tmpfile_sysroot) as fp:
33+
+ sysroot = fp.readline().strip()
34+
+ # if the sysroot is not /, then we are not using
35+
+ # the compiler from debian/ubuntu
36+
+ if sysroot not in ['', '/']:
37+
+ add_dir_to_list(self.compiler.library_dirs,
38+
+ sysroot + '/usr/lib')
39+
+ add_dir_to_list(self.compiler.include_dirs,
40+
+ sysroot + '/usr/include')
41+
+ return
42+
+ finally:
43+
+ os.unlink(tmpfile_sysroot)
44+
+
45+
+ tmpfile = os.path.join(self.build_temp, 'multiarch')
46+
+
47+
ret = run_command(
48+
'%s -print-multiarch > %s 2> /dev/null' % (cc, tmpfile))
49+
multiarch_path_component = ''
50+
--- a/setup.py 2021-09-28 23:49:53.193868987 -0700
51+
+++ b/setup.py 2021-09-28 23:50:13.554098642 -0700
52+
@@ -738,7 +738,8 @@
53+
for env_var, arg_name, dir_list in (
54+
('LDFLAGS', '-R', self.compiler.runtime_library_dirs),
55+
('LDFLAGS', '-L', self.compiler.library_dirs),
56+
- ('CPPFLAGS', '-I', self.compiler.include_dirs)):
57+
+ ('CPPFLAGS', '-I', self.compiler.include_dirs),
58+
+ ('CPPFLAGS', '-isystem', self.compiler.include_dirs)):
59+
env_val = sysconfig.get_config_var(env_var)
60+
if env_val:
61+
parser = argparse.ArgumentParser()
62+
--
63+
2.30.2
64+

build/pkgs/python3/spkg-build.in

+1-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ sdh_configure --enable-shared $PYTHON_CONFIGURE
9090
# we need to provide paths into $SAGE_LOCAL, so that setup.py finds
9191
# the libraries needed for the extension modules - in particular sqlite3.
9292
# (The search code there does not know about CPATH and LIBRARY_PATH.)
93-
make_LDFLAGS="-L. -L$SAGE_LOCAL/lib $LDFLAGS"
93+
make_LDFLAGS="-L. -Wl,-rpath,. -L$SAGE_LOCAL/lib $LDFLAGS"
9494
make_CPPFLAGS="-I$SAGE_LOCAL/include $CPPFLAGS"
9595

9696
# Also, we need to add an rpath, like we do for SAGE_LOCAL in src/bin/sage-env.

build/pkgs/ratpoints/SPKG.rst

-29
This file was deleted.

build/pkgs/ratpoints/checksums.ini

-4
This file was deleted.

build/pkgs/ratpoints/dependencies

-5
This file was deleted.

build/pkgs/ratpoints/distros/arch.txt

-1
This file was deleted.

build/pkgs/ratpoints/distros/conda.txt

-1
This file was deleted.

build/pkgs/ratpoints/distros/debian.txt

-1
This file was deleted.

build/pkgs/ratpoints/distros/nix.txt

-1
This file was deleted.

build/pkgs/ratpoints/distros/repology.txt

-1
This file was deleted.

build/pkgs/ratpoints/package-version.txt

-1
This file was deleted.

0 commit comments

Comments
 (0)