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

Use meson in sage-the-distro #39030

Draft
wants to merge 41 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 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
b38b6a6
Use meson as backend for numpy.f2py
tobiasdiez Oct 29, 2024
9ac4650
Add dependency groups to `pyproject.toml`
tobiasdiez Nov 26, 2024
28583a3
Replace bootstrap-conda by grayskull and update conda lock files
tobiasdiez Nov 17, 2024
7d2a7f7
Add toml as requirement to running the `update-conda` script
tobiasdiez Nov 26, 2024
ab65ab1
Add prerequisites for bootstrap/configure to conda lock files
tobiasdiez Nov 26, 2024
f8b1d44
Downgrade macos again
tobiasdiez Nov 26, 2024
706af72
Manually add expat to conda lock files
tobiasdiez Nov 29, 2024
6a498f7
Add fortran compiler as host requirement
tobiasdiez Nov 29, 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
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
8 changes: 4 additions & 4 deletions .ci/write-dockerfile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -275,20 +275,20 @@ 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 configure.ac sage .homebrew-build-env tox.ini .gitignore /new/
$ADD Makefile VERSION.txt COPYING.txt condarc.yml README.md bootstrap configure.ac sage .homebrew-build-env tox.ini .gitignore pyproject.toml meson.build /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
$ADD .upstream.d /new/.upstream.d
ADD .ci /.ci
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 && /.ci/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
89 changes: 0 additions & 89 deletions .github/workflows/ci-conda-known-test-failures.json

This file was deleted.

112 changes: 0 additions & 112 deletions .github/workflows/ci-conda.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/doc-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ jobs:
mathjax_path_from="[-./A-Za-z_]*/tex-chtml[.]js?v=[0-9a-f]*"
# mathjax path in new doc
mathjax_path_to=$(docker exec -e SAGE_USE_CDNS=yes BUILD /sage/sage -python -c "from sage_docbuild.conf import mathjax_path; print(mathjax_path)")
new_version=$(docker exec BUILD cat src/VERSION.txt)
new_version=$(docker exec BUILD 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
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -350,7 +350,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
8 changes: 2 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -533,12 +533,8 @@ SAGE_ROOT Root directory (create by git clone)
│ ├── sage-setup
│ │ ├── sage_setup/
│ │ └── setup.py
│ ├── sage-sws2rst
│ │ ├── sage_sws2rst/
│ │ └── setup.py
│ └── sagemath-standard
│ ├── bin/
│ ├── sage -> ../../src/sage
│ └── sage-sws2rst
│ ├── sage_sws2rst/
│ └── setup.py
├── local (SAGE_LOCAL) Installation hierarchy for non-Python packages
│ ├── bin Executables
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.6.beta1, Release Date: 2024-12-15
10.6.beta1
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/sage_sws2rst/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 giac 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 giac 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
12 changes: 7 additions & 5 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 Down Expand Up @@ -71,3 +70,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
])
Loading
Loading