Add elliptic curve, graph, and polytope databases to Meson builds - #42701
Add elliptic curve, graph, and polytope databases to Meson builds#42701cxzhong wants to merge 5 commits into
Conversation
|
Documentation preview for this PR (built with commit cde4bf8; changes) is ready! 🎉 |
|
Good idea. Same should be done for |
|
Wasn't it planned to make pypi packages for sage databases? I think this would be better than turning the sagelib meson build into sage-the-distro-reborn. |
Yes, that's the plan and I agree it would be a better solution. On the other hand, nobody yet found the time to do this, so perhaps the subprojects are the most pragmatic way for now? cc @orlitzky |
|
What is the actual problem with editable builds? We already have Splitting the remaining ones is not trivial but it could be done in a few days. It would be a much better use of time to e.g. eliminate the stupid |
|
actually, I have been playing a bit with git-lfs lately, and it would drastically simplify this kind of stuff for developers: just check in all these databases into lfs of a repo, and get them pulled when needed. |
Pure Meson/meson-python builds currently do not provide the standard
elliptic_curves,graphs, andpolytopes_dbdata packages. In editablebuilds, missing Cremona data breaks calls such as
EllipticCurve(...).rank(),while missing graph data breaks constructions that consult the strongly regular
graph database.
This PR:
elliptic_curves0.8.1,graphs20210214.p0, andpolytopes_db20170220.p0 as Meson wraps;cremona_mini.dband the 23rank*databases from the ellipticcurve package sources;
with no additional generator;
--skip-subprojectsdoes not omit them;SAGE_LOCAL/share;sys.prefix/shareand makes editablebuilds search generated or source data in the appropriate Meson tree;
SAGE_DATA_PATH,GRAPHS_DATA_DIR,POLYTOPE_DATA_DIR, andthe dedicated elliptic database path overrides; and
parallel-build configure race.
The Cremona failure was observed in
https://github.com/sagemath/sage/actions/runs/30950404368/job/92130761402.
The graph database failure was observed in
https://github.com/sagemath/sage/actions/runs/32445437036/job/96664097240.
Tests performed after
conda activate sage:fallback subprojects;
rank*files byte-for-byte against the 0.8.1package;
and map to the corresponding meson-python wheel data directories;
SAGE_LOCALand verified all three fallbacksare skipped;
polytope data;
src/bin/sage -t --warn-long 5.0 --random-seed=214100764227587711308816290927482221446 src/doc/de/tutorial/introduction.rst src/sage/features/databases.py src/sage/geometry/polyhedron/palp_database.py;src/bin/sage -t --warn-long 5.0 --random-seed=178778358194368484633470764324423043070 src/sage/combinat/matrices/hadamard_matrix.py src/sage/features/databases.py src/sage/graphs/graph_database.py src/sage/graphs/isgci.py;git diff --check.📝 Checklist
⌛ Dependencies
None.