Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
4c2c379
Use meson project for building sagelib
tobiasdiez Nov 25, 2024
bceddbe
Remove unneeded sagemath-standard package
tobiasdiez Nov 25, 2024
0d8ab45
Remove old build infrastructure
tobiasdiez Nov 25, 2024
30ff9fc
Remove old conda tests
tobiasdiez Nov 25, 2024
4d48bdb
Cleanup
tobiasdiez Nov 25, 2024
fd2320f
Fix dockerfile
tobiasdiez Nov 25, 2024
5240382
more cleanup
tobiasdiez Nov 25, 2024
b49286c
Fix reference to src/VERSION.txt
tobiasdiez Nov 25, 2024
397b0a6
Merge remote-tracking branch 'upstream/develop' into distro-meson
tobiasdiez Dec 1, 2024
ae33069
Fix version symlink
tobiasdiez Dec 1, 2024
ccd2770
fix symlinks to VERSION.txt
dimpase Dec 2, 2024
1ee3178
fix versions of build/pkgs/sagemath_* and build/pkgs/sage_*
dimpase Dec 2, 2024
b410321
cd to the correct place
dimpase Dec 2, 2024
e2aec7c
Fix relative includes
tobiasdiez Dec 2, 2024
25f7f28
Merge remote-tracking branch 'origin/conda-grayskull' into distro-meson
tobiasdiez Dec 2, 2024
8e6f51b
Fix symlinks
tobiasdiez Dec 2, 2024
fd88b98
Fix typo
tobiasdiez Dec 2, 2024
a01d26c
fix another typo
tobiasdiez Dec 2, 2024
82dd731
made symlinks correct (on Linux) again
dimpase Dec 2, 2024
b382584
fix indentation
dimpase Dec 2, 2024
e9bb4b8
remove a stray (?) `cd ..`
dimpase Dec 2, 2024
7a24b8d
Replace inc_numpy by numpy dependency in meson
tobiasdiez Dec 3, 2024
c828f6c
Merge branch 'distro-meson' of https://github.com/tobiasdiez/sage int…
tobiasdiez Dec 3, 2024
19aa397
Fix numpy typo
tobiasdiez Dec 4, 2024
d7004e7
Merge remote-tracking branch 'upstream/develop' into distro-meson
tobiasdiez Dec 4, 2024
56f95c9
Fix coyping of src in conftest
tobiasdiez Dec 6, 2024
48c8b4a
allow ./sage to start; also, fix old error message
dimpase Dec 8, 2024
cf2be9d
fixing cythonisation in doctests
dimpase Dec 9, 2024
72f62eb
Merge remote-tracking branch 'origin/develop' into distro-meson-unreb…
dimpase Dec 10, 2024
4a3fb3c
don't ADD removed files
dimpase Dec 10, 2024
e1167ee
remove no longer relevant test
dimpase Dec 13, 2024
058b8b5
wrong tags for combinat/designs
dimpase Dec 14, 2024
e436289
Merge remote-tracking branch 'upstream/develop' into distro-meson
tobiasdiez Dec 16, 2024
3b955fd
Merge remote-tracking branch 'upstream/develop' into distro-meson
tobiasdiez May 24, 2025
e72fbbd
Merge remote-tracking branch 'origin/develop' into distro-meson
tobiasdiez Jun 24, 2025
e81756c
Improve path handling
tobiasdiez Jun 24, 2025
ccfe52f
Remove references to removed files
tobiasdiez Jun 24, 2025
4bf8174
update version txt
tobiasdiez Jun 24, 2025
a838d15
Fallback to pwd in case sage_root is not set
tobiasdiez Jun 24, 2025
fb2a313
Remove deleted files from gitignore
tobiasdiez Jun 26, 2025
4d002fe
Merge remote-tracking branch 'origin/develop' into distro-meson
tobiasdiez Jun 26, 2025
45de009
fix make distclean to not error out on cd
dimpase Jun 26, 2025
1c119e8
Compile `matrix_gf2e_dense` with `c++11` std
tobiasdiez Jun 28, 2025
f398cb2
Cleanup meson build directory in `sagelib-clean`
tobiasdiez Jun 28, 2025
875a05f
Merge remote-tracking branch 'dimpase/brial1213' into distro-meson
tobiasdiez Jun 28, 2025
3a956e4
Compile `matrix_gf2e_dense` via C and not C++
tobiasdiez Jun 29, 2025
13176c1
Replace meson setup --wipe with rm -rf for cleaning build directories
tobiasdiez Jul 1, 2025
98be634
Replace `sage --python` by `python3`
tobiasdiez Jul 1, 2025
1ca7103
Makefile typo fix
dimpase Jul 2, 2025
974f2dc
Merge remote-tracking branch 'origin/meson-docs' into distro-meson
tobiasdiez Jul 6, 2025
bb8a4bb
Fix docbuild ci
tobiasdiez Jul 6, 2025
717a70e
Migrate make doc targets to simply call meson
tobiasdiez Jul 6, 2025
94f147d
Merge remote-tracking branch 'upstream/develop' into distro-meson
tobiasdiez Jul 6, 2025
69c0667
Fix merge mistake
tobiasdiez Jul 6, 2025
04f3025
Fix path to meson build directory
tobiasdiez Jul 6, 2025
6ed83ce
Only have interactive jupyter in docs for html
tobiasdiez Jul 6, 2025
6b1e6ad
Improve Jupyter directive handling in Sphinx setup
tobiasdiez Jul 6, 2025
feca12a
Install jupyter kernel manually
tobiasdiez Jul 7, 2025
730429e
Fix cleaning of build folder
tobiasdiez Jul 8, 2025
8363b7e
Pass SAGE_LOCAL to Meson
tobiasdiez Jul 21, 2025
94eab2b
Add Flint to dependencies in Meson build configuration
tobiasdiez Jul 24, 2025
cae1014
Merge remote-tracking branch 'upstream/develop' into distro-meson
tobiasdiez Aug 2, 2025
6cfcd44
Update meson to 1.8.3
tobiasdiez Aug 3, 2025
43ec53e
Add meson.options to docker container
tobiasdiez Aug 3, 2025
2e32a7a
Merge remote-tracking branch 'upstream/develop' into distro-meson
tobiasdiez Aug 10, 2025
e0c9f9b
Compile boost_graph with c++11 for older boosts
tobiasdiez Aug 14, 2025
6cdf53e
Merge remote-tracking branch 'origin/develop' into allmezon
dimpase Aug 16, 2025
c270257
fix pyproject.toml (boost issue)
dimpase Aug 16, 2025
4b199fe
Fix version
tobiasdiez Aug 17, 2025
46a3e78
Also compile pbori with c+11 for old boost
tobiasdiez Aug 17, 2025
b1c8b4d
Add '--no-prune-empty-dirs' option to documentation build command bec…
tobiasdiez Aug 18, 2025
1873577
Remove duplicate brial dependency declaration
tobiasdiez Aug 21, 2025
874046f
Merge remote-tracking branch 'tobiasdiez/meson-pdf-docs' into distro-…
tobiasdiez Aug 23, 2025
05eebe2
Fix doc-clean
tobiasdiez Aug 24, 2025
63620bd
Docs: Copy all source files to the build dir, and run sphinx there
tobiasdiez Aug 24, 2025
babdacd
Allow older versions of eclib (due to conda bug)
tobiasdiez Aug 24, 2025
5dc4f8b
Fix update meson
tobiasdiez Aug 24, 2025
5636b6e
don't use old numpy
dimpase Aug 25, 2025
d55c6c2
also numpy >= 2.2.4 in pyproject
dimpase Aug 25, 2025
b4473ef
Specify build dir also for non-editable installs (and fix typo)
tobiasdiez Aug 26, 2025
51339d1
Remove unused `conf.py` files
tobiasdiez Aug 27, 2025
88a4794
Merge remote-tracking branch 'upstream/develop' into distro-meson
tobiasdiez Aug 28, 2025
122092c
Fix linter
tobiasdiez Aug 28, 2025
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
2 changes: 1 addition & 1 deletion .github/workflows/ci-meson.yml
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ jobs:
# this step must be after build, because meson.build creates a number of __init__.py files
# that is needed to make tools/update-meson.py run correctly
shell: bash -l {0}
if: matrix.tests == 'all'
if: matrix.tests == 'all' && matrix.python == '3.12'
run: |
python tools/update-meson.py
if ! ./tools/test-git-no-uncommitted-changes; then
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/doc-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ jobs:
mathjax_path_from="[-./A-Za-z_]*/tex-chtml[.]js?v=[0-9a-f]*"
# mathjax path in new doc
mathjax_path_to=$(SAGE_USE_CDNS=yes python -c "from src.sage_docbuild.conf import mathjax_path; print(mathjax_path)")
new_version=$(cat src/VERSION.txt)
new_version=$(cat VERSION.txt)
# Wipe out chronic diffs between old doc and new doc
(cd doc && \
find . -name "*.html" | xargs sed -i -e '/class="sidebar-brand-text"/ s/Sage [0-9a-z.]* /Sage '"$new_version"' /' \
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/write-dockerfile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -275,11 +275,11 @@ cat <<EOF
FROM with-system-packages AS bootstrapped
#:bootstrapping:
RUN rm -rf /new /sage/.git
$ADD Makefile VERSION.txt COPYING.txt condarc.yml README.md bootstrap conftest.py configure_wrapper configure.ac sage .homebrew-build-env tox.ini .gitignore /new/
$ADD Makefile VERSION.txt COPYING.txt condarc.yml README.md bootstrap conftest.py configure_wrapper configure.ac sage .homebrew-build-env tox.ini .gitignore pyproject.toml meson.build meson.options /new/
$ADD config/config.rpath /new/config/config.rpath
$ADD src/doc/bootstrap /new/src/doc/bootstrap
$ADD src/meson.build /new/src/
$ADD src/bin /new/src/bin
$ADD src/pyproject.toml src/requirements.txt.m4 src/setup.cfg.m4 src/VERSION.txt /new/src/
$ADD m4 /new/m4
$ADD pkgs /new/pkgs
$ADD build /new/build
Expand All @@ -288,8 +288,8 @@ $ADD tools /new/tools
$ADD .github/workflows /.github/workflows
RUN if [ -d /sage ]; then \\
echo "### Incremental build from \$(cat /sage/VERSION.txt)" && \\
printf '/src/*\n!/src/doc/bootstrap\n!/src/bin\n!/src/*.m4\n!/src/*.toml\n!/src/VERSION.txt\n' >> /sage/.gitignore && \\
printf '/src/*\n!/src/doc/bootstrap\n!/src/bin\n!/src/*.m4\n!/src/*.toml\n!/src/VERSION.txt\n' >> /new/.gitignore && \\
printf '/src/*\n!/src/doc/bootstrap\n!/src/bin\n!/src/*.m4\n!/src/*.toml\n!/VERSION.txt\n' >> /sage/.gitignore && \\
printf '/src/*\n!/src/doc/bootstrap\n!/src/bin\n!/src/*.m4\n!/src/*.toml\n!/VERSION.txt\n' >> /new/.gitignore && \\
if ! (cd /new && /.github/workflows/retrofit-worktree.sh worktree-image /sage); then \\
echo "retrofit-worktree.sh failed, falling back to replacing /sage"; \\
for a in local logs; do \\
Expand Down
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,6 @@
/src/environment-optional-3.10.yml
/src/environment-optional-3.11.yml

/src/setup.cfg
/src/requirements.txt

# Various editors
*~
Expand Down
12 changes: 6 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -113,8 +113,7 @@ clean:
fi

# "c_lib", ".cython_version", "build" in $(SAGE_SRC) are from old sage versions
# Cleaning .so files (and .c and .cpp files associated with .pyx files) is for editable installs.
# Also cython_debug is for editable installs.
# Cleaning .so files (and .c and .cpp files associated with .pyx files), cython_debug and "sagelib/src/build" is for old editable installs.
sagelib-clean:
@echo "Deleting Sage library build artifacts..."
if [ -d "$(SAGE_SRC)" ]; then \
Expand All @@ -123,8 +122,11 @@ sagelib-clean:
rm -rf build; find . -name '*.pyc' -o -name "*.so" | xargs rm -f; \
rm -f $$(find . -name "*.pyx" | sed 's/\(.*\)[.]pyx$$/\1.c \1.cpp/'); \
cd sage/ext/interpreters/ && rm -f *.so *.c *.h *.py* *.pxd) \
&& (cd "$(SAGE_ROOT)/build/pkgs/sagelib/src/" && rm -rf build); \
&& rm -rf "$(SAGE_ROOT)"/build/pkgs/sagelib/src/build; \
fi
# Don't use "meson setup --wipe "$$d";" due to https://github.com/sagemath/sage/pull/39030#issuecomment-3021583924
@echo "Wiping meson build directories..."
rm -rf "$(SAGE_ROOT)/build/sage-distro"

sage_docbuild-clean:
(cd "$(SAGE_ROOT)/build/pkgs/sage_docbuild/src" && rm -rf build)
Expand Down Expand Up @@ -175,8 +177,6 @@ bootstrap-clean:
rm -f src/doc/en/installation/*.txt
find src/doc/en/reference/spkg -maxdepth 1 -name index.rst -prune -o -name "*.rst" -exec rm -f {} \+
for a in environment environment-optional src/environment src/environment-optional; do rm -f $$a.yml $$a-3.[89].yml $$a-3.1[0-9].yml; done
rm -f src/requirements.txt
rm -f src/setup.cfg
rm -f build/pkgs/cypari/version_requirements.txt
rm -f build/pkgs/cysignals/version_requirements.txt
rm -f build/pkgs/cython/version_requirements.txt
Expand Down Expand Up @@ -355,7 +355,7 @@ ptestoptionallong-nodoc:
# CONFIGURE_DEPENDENCIES is the list of files that influence the generation of 'configure'.
CONFIGURE_DEPENDENCIES = \
configure.ac src/bin/sage-version.sh m4/*.m4 \
src/pyproject.toml \
pyproject.toml \
build/pkgs/*/spkg-configure.m4 \
build/pkgs/*/type build/pkgs/*/SPKG.rst \
build/pkgs/*/checksums.ini build/pkgs/*/requirements.txt \
Expand Down
2 changes: 1 addition & 1 deletion VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
SageMath version 10.8.beta1, Release Date: 2025-08-27
10.8.beta1
8 changes: 3 additions & 5 deletions bootstrap
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ bootstrap () {
if [ "${BOOTSTRAP_QUIET}" = "no" ]; then
echo "bootstrap:$LINENO: installing '"$target"'"
fi
echo "# Generated by SAGE_ROOT/bootstrap based on src/pyproject.toml; do not edit directly" > $target
echo "# Generated by SAGE_ROOT/bootstrap based on pyproject.toml; do not edit directly" > $target
sage-get-system-packages install-requires ${pkgname} >> $target
done
for a in m4/sage_spkg_configures.m4 m4/sage_spkg_versions.m4 m4/sage_spkg_versions_toml.m4; do
Expand Down Expand Up @@ -230,16 +230,14 @@ save () {
src/doc/en/installation/*.txt \
$(find src/doc/en/reference/spkg -maxdepth 1 -name index.rst -prune -o -name "*.rst" -print) \
environment-3.1[0-9]-*.yml \
src/pyproject.toml \
src/requirements.txt \
src/setup.cfg \
pyproject.toml \
build/pkgs/cypari/version_requirements.txt \
build/pkgs/cysignals/version_requirements.txt \
build/pkgs/cython/version_requirements.txt \
build/pkgs/gmpy2/version_requirements.txt \
build/pkgs/jupyter_core/version_requirements.txt \
build/pkgs/memory_allocator/version_requirements.txt \
build/pkgs/meson/version_requirements.txt \
build/pkgs/meson/version_requirements.txt \
build/pkgs/numpy/version_requirements.txt \
build/pkgs/pkgconfig/version_requirements.txt \
build/pkgs/pplpy/version_requirements.txt \
Expand Down
16 changes: 8 additions & 8 deletions build/bin/sage-get-system-packages
Original file line number Diff line number Diff line change
Expand Up @@ -14,29 +14,29 @@ fi

case "$SYSTEM" in
install-requires)
# Collect from src/pyproject.toml or from version_requirements.txt (falling back to requirements.txt) and output it in the format
# Collect from pyproject.toml or from version_requirements.txt (falling back to requirements.txt) and output it in the format
# needed by setup.cfg [options] install_requires=
SYSTEM_PACKAGES_FILE_NAMES="src/pyproject.toml version_requirements.txt requirements.txt"
SYSTEM_PACKAGES_FILE_NAMES="pyproject.toml version_requirements.txt requirements.txt"
# also normalizes quotes from "" to ''.
STRIP_COMMENTS="sed s/#.*//;/^[[:space:]]*$/d;s/\"/'/g;"
COLLECT=
;;
install-requires-toml)
# Collect from src/pyproject.toml or from version_requirements.txt (falling back to requirements.txt) and output it in the format
# Collect from pyproject.toml or from version_requirements.txt (falling back to requirements.txt) and output it in the format
# needed by pyproject.toml [build-system] requires=
SYSTEM_PACKAGES_FILE_NAMES="src/pyproject.toml version_requirements.txt requirements.txt"
SYSTEM_PACKAGES_FILE_NAMES="pyproject.toml version_requirements.txt requirements.txt"
# also normalizes quotes from '' to "".
STRIP_COMMENTS="sed s/#.*//;/^[[:space:]]*$/d;s/'/\"/g;s/^/'/;s/$/',/;"
COLLECT=
;;
pip)
SYSTEM_PACKAGES_FILE_NAMES="requirements.txt src/pyproject.toml version_requirements.txt"
SYSTEM_PACKAGES_FILE_NAMES="requirements.txt pyproject.toml version_requirements.txt"
STRIP_COMMENTS='sed s/#.*//;s/[[:space:]]//g;'
COLLECT=echo
;;
versions)
# For use in sage-spkg-info
SYSTEM_PACKAGES_FILE_NAMES="package-version.txt requirements.txt src/pyproject.toml version_requirements.txt"
SYSTEM_PACKAGES_FILE_NAMES="package-version.txt requirements.txt pyproject.toml version_requirements.txt"
strip_comments () {
TEXT=$(sed "s/#.*//;/^[[:space:]]*$/d;s/\"/'/g;s/^/ /;" "$@")
if [ -n "$(echo $TEXT)" ]; then
Expand Down Expand Up @@ -101,9 +101,9 @@ for PKG_BASE in $SPKGS; do
*pyproject.toml)
SYSTEM_PACKAGES_FILE="$SAGE_ROOT"/$NAME
if [ -f "$SYSTEM_PACKAGES_FILE" ]; then
# Extract from the "requires" block in src/pyproject.toml
# Extract from the "requires" block in pyproject.toml
# Packages are in the format "'sage-conf ~= 10.3b3',"
PACKAGE_INFO=$(sed -n '/requires *= *\[/,/^\]/s/^ *'\''\('$PKG_BASE'.*\)'\'',/\1/p' "$SAGE_ROOT/src/pyproject.toml")
PACKAGE_INFO=$(sed -n '/requires *= *\[/,/^\]/s/^ *'\''\('$PKG_BASE'.*\)'\'',/\1/p' "$SAGE_ROOT/pyproject.toml")
if [ -n "$PACKAGE_INFO" ]; then
echo "$PACKAGE_INFO" | ${STRIP_COMMENTS}
[ $SYSTEM = versions ] || break
Expand Down
4 changes: 2 additions & 2 deletions build/pkgs/meson/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
tarball=meson-VERSION-py3-none-any.whl
sha1=88a5ccf7aba04e82c05f46dc02a4c209423e3f0d
sha256=ae3f12953045f3c7c60e27f2af1ad862f14dee125b4ed9bcb8a842a5080dbf85
sha1=2d61f94a3ad0b29851f425eef7ee400fc30b8617
sha256=ef02b806ce0c5b6becd5bb5dc9fa67662320b29b337e7ace73e4354500590233
upstream_url=https://files.pythonhosted.org/packages/py3/m/meson/meson-VERSION-py3-none-any.whl
2 changes: 1 addition & 1 deletion build/pkgs/meson/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.7.0
1.8.3
2 changes: 1 addition & 1 deletion build/pkgs/sage_conf/package-version.txt
2 changes: 1 addition & 1 deletion build/pkgs/sage_docbuild/package-version.txt

This file was deleted.

This file was deleted.

This file was deleted.

2 changes: 1 addition & 1 deletion build/pkgs/sage_setup/package-version.txt
2 changes: 1 addition & 1 deletion build/pkgs/sagelib/dependencies
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FORCE $(SCRIPTS) boost_cropped $(BLAS) brial cliquer cypari cysignals cython ecl eclib ecm flint libgd gap givaro glpk gmpy2 gsl iml importlib_metadata importlib_resources jupyter_core lcalc lrcalc_python libbraiding libhomfly libpng linbox m4ri m4rie memory_allocator mpc mpfi mpfr $(MP_LIBRARY) ntl numpy pari pip pkgconfig planarity ppl pplpy primesieve primecount primecountpy $(PYTHON) requests rw sage_conf singular symmetrica typing_extensions $(PCFILES) | $(PYTHON_TOOLCHAIN) sage_setup $(PYTHON) pythran
FORCE $(SCRIPTS) boost_cropped $(BLAS) brial cliquer cypari cysignals cython ecl eclib ecm flint libgd gap givaro glpk gmpy2 gsl iml importlib_metadata importlib_resources jupyter_core lcalc lrcalc_python libbraiding libhomfly libpng linbox m4ri m4rie memory_allocator mpc mpfi mpfr $(MP_LIBRARY) ntl numpy pari pip pkgconfig planarity ppl pplpy primesieve primecount primecountpy $(PYTHON) requests rw singular symmetrica typing_extensions $(PCFILES) | $(PYTHON_TOOLCHAIN) meson_python $(PYTHON) pythran

----------
All lines of this file are ignored except the first.
Expand Down
2 changes: 1 addition & 1 deletion build/pkgs/sagelib/package-version.txt
25 changes: 14 additions & 11 deletions build/pkgs/sagelib/spkg-install.in
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
if [ "$SAGE_EDITABLE" = yes ]; then
cd "$SAGE_SRC"
cd "$SAGE_ROOT"
else
cd src
cd "$SAGE_ROOT"
# Issue #34181: Do not allow scripts with shebang lines from old
# venvs leak into new venvs. (Changes only seem to be necessary
# for non-editable builds.)
rm -rf build/scripts-*
fi
## All sagelib-building is done by setup.py.
## This is so that sagelib can be installed by standard Python procedures,
## such as "./setup.py install" or "pip install ."
## All sagelib-building is using standard Python procedures,
## such as "pip install ."
##
## We poison all environment variables that have paths to the sage source and build directories.
## In this way we make sure that all of the sagelib build's source paths are communicated through
Expand All @@ -30,10 +29,9 @@ export SAGE_DOC_SRC=/doesnotexist
export SAGE_PKGCONFIG=/doesnotexist
export SAGE_SHARE=/doesnotexist

# However, we only unset SAGE_LOCAL and SAGE_PKG_CONFIG_PATH.
# However, we only unset SAGE_PKG_CONFIG_PATH.
# sage_setup.setenv receives them from sage_conf via sage.env;
# the poisoned environment variables would override them.
unset SAGE_LOCAL
unset SAGE_PKG_CONFIG_PATH

# Issue #30903: We cannot poison SAGE_DOC because setup.py installs the Jupyter kernel
Expand All @@ -46,21 +44,23 @@ SITEPACKAGESDIR=$(python3 -c 'import sysconfig; print(sysconfig.get_paths()["pur
# does not shadow the namespace package sage during the build.
(cd "$SITEPACKAGESDIR" && rm -f sage/__init__.py)
if [ "$SAGE_EDITABLE" = yes ]; then
# Until https://github.com/sagemath/sage/issues/34209 switches us to PEP 660 editable wheels
export SETUPTOOLS_ENABLE_FEATURES=legacy-editable
sdh_pip_editable_install .
sdh_pip_editable_install . --config-settings=build-dir="build/sage-distro" --config-settings=setup-args="-DSAGE_LOCAL=$SAGE_LOCAL"

if [ "$SAGE_WHEELS" = yes ]; then
# Additionally build a wheel (for use in other venvs)
cd $SAGE_PKGS/sagelib/src && time sdh_build_and_store_wheel --no-build-isolation .
fi

# Install jupyter kernelspecs
# (needed since in editable mode the kernel spec is not copied to the correct location in the meson build)
jupyter kernelspec install --name=sagemath --user build/sage-distro/src/sage
else
# Now implied: "$SAGE_WHEELS" = yes
# We should remove the egg-link that may have been installed previously.
(cd "$SITEPACKAGESDIR" && rm -f sagemath-standard.egg-link)
# Use --no-build-isolation to avoid rebuilds because of dependencies:
# Compiling sage/interfaces/sagespawn.pyx because it depends on /private/var/folders/38/wnh4gf1552g_crsjnv2vmmww0000gp/T/pip-build-env-609n5985/overlay/lib/python3.10/site-packages/Cython/Includes/posix/unistd.pxd
sdh_pip_install --no-build-isolation .
sdh_pip_install --no-build-isolation . --config-setting=build-dir="build/sage-distro" --config-setting=setup-args="-DSAGE_LOCAL=$SAGE_LOCAL"
fi

# Remove (potentially invalid) star import caches.
Expand All @@ -71,3 +71,6 @@ python3 -c 'import pathlib; from sage.misc.lazy_import_cache import get_cache_fi
# Issue #33103: The temp.* directories are large after a full build.
# We remove them to save space; they are not needed for fast rebuilds.
rm -rf build/temp.*

# indicate that we are done - is needed to allow ./sage to start
touch $SAGE_VENV/bin/sage
1 change: 0 additions & 1 deletion build/pkgs/sagelib/src

This file was deleted.

2 changes: 1 addition & 1 deletion build/pkgs/sagemath_bliss/package-version.txt
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_categories/package-version.txt
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_coxeter3/package-version.txt
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_environment/package-version.txt
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_mcqd/package-version.txt
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_meataxe/package-version.txt
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_objects/package-version.txt
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_repl/package-version.txt
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_sirocco/package-version.txt
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_tdlib/package-version.txt
2 changes: 1 addition & 1 deletion m4/sage_check_python_for_venv.m4
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ from $distutils_extension import Extension
from sys import exit
modules = list((Extension("config_check_distutils_cxx", list(("conftest.cpp",)),
extra_compile_args=list(("-std=c++11",)), language="c++"),))
setup(name="config_check_distutils_cxx", ext_modules=modules)
setup(name="config_check_distutils_cxx", ext_modules=modules, py_modules=["conftest"])
exit(0)
EOF
])
4 changes: 2 additions & 2 deletions m4/sage_python_package_check.m4
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
# Determine if the system copy of a python package can be used by sage.
#
# This macro uses setuptools.version's pkg_resources to check that the
# "version_requirements.txt" file (or entry in "src/pyproject.toml") for
# "version_requirements.txt" file (or entry in "pyproject.toml") for
# the named package is satisfied, and it can typically fail in four ways:
#
# 1. If --enable-system-site-packages was not passed to ./configure,
Expand All @@ -20,7 +20,7 @@
# 4. If setuptools is not available to the system python,
#
# 5. If the contents of version_requirements.txt (or entry in
# "src/pyproject.toml") are not met (wrong version, no version,
# "pyproject.toml") are not met (wrong version, no version,
# etc.) by the system python.
#
# In any of those cases, we set sage_spkg_install_$package to "yes"
Expand Down
2 changes: 1 addition & 1 deletion meson.build
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
project(
'SageMath',
['c', 'cpp', 'cython'],
version: files('src/VERSION.txt'),
version: files('VERSION.txt'),
license: 'GPL v3',
default_options: ['c_std=c17', 'cpp_std=c++17', 'python.install_env=auto'],
meson_version: '>=1.2',
Expand Down
1 change: 0 additions & 1 deletion pkgs/sagemath-standard/.gitignore

This file was deleted.

1 change: 0 additions & 1 deletion pkgs/sagemath-standard/LICENSE.txt

This file was deleted.

1 change: 0 additions & 1 deletion pkgs/sagemath-standard/MANIFEST.in

This file was deleted.

1 change: 0 additions & 1 deletion pkgs/sagemath-standard/Pipfile

This file was deleted.

1 change: 0 additions & 1 deletion pkgs/sagemath-standard/Pipfile-dist

This file was deleted.

1 change: 0 additions & 1 deletion pkgs/sagemath-standard/Pipfile-dist.m4

This file was deleted.

1 change: 0 additions & 1 deletion pkgs/sagemath-standard/Pipfile.m4

This file was deleted.

Loading
Loading