Commit
2 years ago
gh-37287: sagemath-standard: include sage_setup in sdist This makes it so that `sage_setup` is included in `sagemath_standard` for convenience and ease of installation. Having `sage_setup` as a separate distribution leads to chicken-and-egg problem. For example, this is what happens when I try to build `sagemath-standard` from #37270: ``` cd pkgs/sagemath-standard $ python -m build -s * Creating venv isolated environment... * Installing packages in isolated environment... (cypari2 >=2.1.1, cysignals >=1.10.2, cython >=3.0, != 3.0.3, <4.0, gmpy2 ~=2.1.b999, jinja2 >=3.0, jupyter_core >=4.6.3, memory_allocator, numpy >=1.19, pkgconfig, pplpy >=0.8.6, sage-conf ~= 10.3b7, sage-setup ~= 10.3b7, sage_setup[autogen], setuptools >= 68.1.1, wheel >=0.36.2) [... snip ...] ERROR: Could not find a version that satisfies the requirement sage- setup~=10.3b7 (from versions: 9.4rc1) ERROR: No matching distribution found for sage-setup~=10.3b7 [...] ``` This is because the version of sage-setup which is available on pypi requires python <= 3.11. Even if the branch I'm trying to build allows python 3.12, I cannot use it. The main idea of this change is that `sagemath-standard` sdists are self-contained and include the exact matching version of sage-setup. The self-contained part is good for the pypi sdist, but the matching version allows for greater flexibility when testing, given that the implementations of `sagemath-standard/setup.py` and `sage_setup` are so intrincately connected and really need to match. ### :memo: Checklist - [x] The title is concise, informative, and self-explanatory. - [x] The description explains in detail what this PR is about. URL: https://github.com/sagemath/sage/pull/37287 Reported by: Gonzalo TornarĂ­a Reviewer(s): Dima Pasechnik, Tobias Diez
Author
Release Manager
Loading