src/bin/sage-cython: Repurpose as PEP 420 fixer#37009
src/bin/sage-cython: Repurpose as PEP 420 fixer#37009mkoeppe wants to merge 1 commit intosagemath:developfrom
src/bin/sage-cython: Repurpose as PEP 420 fixer#37009Conversation
| # In Sage 10.3, the deprecated functionality is removed permanently. | ||
| # However, the script is un-deprecated and re-purposed as a temporary workaround | ||
| # for defects in Cython 3.0.x support for PEP 420 implicit namespace packages, | ||
| # see https://github.com/sagemath/sage/pull/36228 |
There was a problem hiding this comment.
Please don't un-deprecate this. Instead it should be removed in favor of using an unpatched version of cython.
Right now, compiling cython files that use sage modules is broken because of namespace packages, and patching cython here and in sage_setup gives the misleading impression that it works.
This is the opposite of "fitting in the python/cython ecosystem".
There was a problem hiding this comment.
Note that it is a "temporary workaround".
Anyone report the namespace problem to Cython upstream yet?
There was a problem hiding this comment.
Temporary hack. And when/if cython fixes it we still have to ship the hack since distros are slow updating cython, etc.
Let's stick to stable features, not the bleeding edge.
There was a problem hiding this comment.
@tornaria Kindly limit the use of fighting words such as "hack".
Let's stick to stable features, not the bleeding edge.
We have been successfully using Cython with namespace packages ever since 2021.
If anything, it is that our porting effort to Cython 3 is incomplete.
- Use Cython 3 implicit namespace package support #36228 tracks a remaining task, that's all.
|
@tornaria Is there a dispute here in the sense of the "disputed PRs" process? https://groups.google.com/g/sage-devel/c/IgBYUJl33SQ/m/MV6LXkqRCgAJ |
|
I'm posting to record a vote of -1 on behalf of Tobias Diez. |
|
It's hard to coherently vote on all of these conflicting proposals at once. I lean towards re-adding the init files in the short term, but if the consensus is that we shouldn't do it, then I don't object to this. On the other hand, if I vote to approve this AND to re-add the init files, then we may wind up with two approved but conflicting branches. |
|
This PR here only adds a useful command and does not conflict with anything. |
|
This PR is prepared exactly how PRs should be prepared. It is not a test of ideological consistency. It simply a useful tool for the build of where there are no |
OK that's helpful to know. |
|
@tornaria Please check #37009 (comment) |
-1 vote from me here. |
|
Documentation preview for this PR (built with commit 1d21aa2; changes) is ready! 🎉 |
|
@tornaria Would you be able to express in technical terms what your concern about this PR is, if any? I am using it in a follow-up for building the modularized distributions with meson-python; it has no effect on building the monolithic Sage library. |
|
There's nothing there, Gonzalo, just declarations. |
|
Seeing as the init.py files were replaced and we are no longer producing modular sagemath- distributions, there is no longer any use for this. |
We ship it with the distribution sagemath-environment.
This is needed for building the modularized distributions of the Sage library using meson-python.
With meson >= 1.4.0 (mesonbuild/meson#12674), it then suffices to set
CYTHON=sage-cython.With earlier versions of meson, one can use a native file
... as done in #37012 (54c95d6) and #35095.
📝 Checklist
⌛ Dependencies