-
-
Notifications
You must be signed in to change notification settings - Fork 490
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
src/bin/sage-cython
: Repurpose as PEP 420 fixer
#37009
base: develop
Are you sure you want to change the base?
Conversation
ad658e7
to
1d30306
Compare
# 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note that it is a "temporary workaround".
Anyone report the namespace problem to Cython upstream yet?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@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.
1d30306
to
5a2d613
Compare
5a2d613
to
ed4b22b
Compare
@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. |
ed4b22b
to
9cb54bb
Compare
@tornaria Please check #37009 (comment) |
-1 vote from me here. |
9cb54bb
to
fc30f15
Compare
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. |
fc30f15
to
5224b0a
Compare
5224b0a
to
3c890a5
Compare
3c890a5
to
1d21aa2
Compare
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