Move metadata from src/setup.cfg.m4 to src/pyproject.toml#38714
Move metadata from src/setup.cfg.m4 to src/pyproject.toml#38714mkoeppe wants to merge 8 commits intosagemath:developfrom
src/setup.cfg.m4 to src/pyproject.toml#38714Conversation
|
Documentation preview for this PR (built with commit 584508d; changes) is ready! 🎉 |
kwankyu
left a comment
There was a problem hiding this comment.
OK. I don't see change in contents.
|
+1 from me. |
|
The predecessor PR #37902 was set to "disputed" 3 weeks ago.
|
|
+1 from me too. Vote count is now: In favor: @mkoeppe (PR author), @kwankyu, @NathanDunfield |
|
@tobiasdiez put a subset of the changes here on #38727. I have set that to "needs work" because the cherry-picked subset duplicates the version constraints, violating our long-standing policy of single-sourcing version constraints. |
|
This could not be applied today. The metadata for the sage library are independent of the sage distribution and its build system, and live in the top-level https://github.com/sagemath/sage/blob/develop/pyproject.toml |
pkgs/sage-conf: Move metadata fromsetup.cfgtopyproject.toml#36561Goal of the PR:
setup.cfgin favor ofpyproject.toml.Status quo:
src/setup.cfg.m4; at bootstrapping time,src/setup.cfgis generated, and the version constraints obtained viasage-get-system-packages install-requiresare substituted.build/pkgs/*/version_requirements.txt(these files until not long ago were calledinstall-requires.txt).src/pyproject.tomlthe single source of truth", thesebuild/pkgs/*/version_requirements.txtfiles are not source files but are generated at bootstrap time. The lists of these special packages appear 1x in.gitignore, 1x inMakefile, 2x inbootstrap.src/pyproject.tomlfile is done by the scriptbuild/bin/sage-get-system-packages install-requires[-toml].Scope and implementation strategy of the PR:
version_requirements.txtfiles source files again; for the special packages, without actual version information.build/bin/sage-get-system-packages install-requires[-toml]so as to read not only from the build requirements but also from the runtime dependencies now declared insrc/pyproject.toml.src/pyproject.toml, leave behindbuild/pkgs/*/version_requirements.txtfiles without version constraints.src/pyproject.toml.Outside of the scope of this PR:
📝 Checklist
⌛ Dependencies