Closed jdemeyer closed 5 years ago
update milestone 8.3 -> 8.4
Description changed:
---
+++
@@ -2,3 +2,5 @@
- #25284: Move some declarations from Sage to Cython
- #25288: Enable Cython caching again
+
+**Tarball**: https://github.com/cython/cython/archive/0.29b1.tar.gz
Author: Jeroen Demeyer
Dependencies: #26396
Description changed:
---
+++
@@ -3,4 +3,4 @@
- #25284: Move some declarations from Sage to Cython
- #25288: Enable Cython caching again
-**Tarball**: https://github.com/cython/cython/archive/0.29b1.tar.gz
+**Tarball**: https://github.com/cython/cython/archive/0.29rc2.tar.gz
Branch pushed to git repo; I updated commit sha1. New commits:
3275637 | Explicitly set Cython language level to current Python version |
Commit: 3275637
Description changed:
---
+++
@@ -1,6 +1,8 @@
-There is no Cython 0.29 yet, but consider this as a metaticket for Cython issues which would be fixed by that.
-
-- #25284: Move some declarations from Sage to Cython
-- #25288: Enable Cython caching again
+There is no Cython 0.29 yet, but there is a release candidate
**Tarball**: https://github.com/cython/cython/archive/0.29rc2.tar.gz
+
+Follow-up tickets:
+
+- #25288: Enable Cython caching again
+- #26403: Compile Sage with Cython language_level=3str
Changed dependencies from #26396 to #26396, #26402
Description changed:
---
+++
@@ -1,6 +1,4 @@
-There is no Cython 0.29 yet, but there is a release candidate
-
-**Tarball**: https://github.com/cython/cython/archive/0.29rc2.tar.gz
+**Tarball**: https://files.pythonhosted.org/packages/f0/66/6309291b19b498b672817bd237caec787d1b18013ee659f17b1ec5844887/Cython-0.29.tar.gz
Follow-up tickets:
Changed dependencies from #26396, #26402 to #26396
Attachment: cython-0.29.log
Running make distclean && make cython
with SAGE_CHECK=yes
, I'm reproducibly getting one test failing (see log).
(The two failing tests in #26450 don't seem to be an issue anymore in 0.29.)
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
7ffa946 | Upgrade to Cython 0.29 |
Upstream: Fixed upstream, but not in a stable release.
Replying to @Konrad127123:
Running
make distclean && make cython
withSAGE_CHECK=yes
, I'm reproducibly getting one test failing (see log).
Changed dependencies from #26396 to none
Replying to @jdemeyer:
Replying to @Konrad127123:
Running
make distclean && make cython
withSAGE_CHECK=yes
, I'm reproducibly getting one test failing (see log).
I can confirm that cython now builds with SAGE_CHECK=yes
. I've not tested it apart from that.
Can somebody review this please? There are follow-up tickets depending on this one.
Does this mean Cython 0.29 will become a hard dependency of Sage? I don't mind that ofc, but maybe the tickets that depend on it can be done in such a way that checks this (e.g., checks the Cython version before enabling those features).
I'm going to give this a quick check on Cygwin, but I doubt there will be any problem, so positive_review from me if it that works.
Erik, any updates? This works for me, and I am ready to set a positive review.
Works for me, AFAICT. I think my previous question "Does this mean Cython 0.29 will become a hard dependency of Sage?" should be answered though.
I can only really talk about the cycache ticket. There we could of course only enable caching when we find that it actually works.
I guess the same could be done for the other ticket but I do not know enough about it.
Anyway, sure, let's keep that in mind!
Replying to @embray:
Does this mean Cython 0.29 will become a hard dependency of Sage?
Yes. But I don't see why that should be a problem.
It's not necessarily a problem. It just means that the Cython package on any system that packages Sage must also be updated to 0.29. This would be a good thing to do anyways: it's just not obvious that it's so simple. Sage tests Cython very well, but rebuilding every debian package that relies on Cython is an even bigger test. I think it will probably go fine but we do need to make sure it gets done...
With only this ticket applied (not the follow-up tickets), it requires only minor adjustments to support both Cython 0.28 and Cython 0.29.
So what you are saying is maybe more an argument to postpone the follow-up tickets until we know for sure that Debian is ready for Cython 0.29.
Replying to @jdemeyer:
With only this ticket applied (not the follow-up tickets), it requires only minor adjustments to support both Cython 0.28 and Cython 0.29.
So what you are saying is maybe more an argument to postpone the follow-up tickets until we know for sure that Debian is ready for Cython 0.29.
That might be wise, as annoying as it might be. Hopefully it won't be long though. Also I'm just using Debian as a general barometer.
For what its worth, here is the status of cython on various distros and these are the distros that package sage. Debian Unstable hasn't upgraded yet. Arch and Nix have. Gentoo isn't listed for some reason.
Replying to @timokau:
For what its worth, here is the status of cython on various distros and these are the distros that package sage. Debian Unstable hasn't upgraded yet. Arch and Nix have. Gentoo isn't listed for some reason.
Gentoo main tree, doesn't have it yet. But the sage-on-gentoo repo does have a package ready for when this ticket makes it regardless of the main tree.
Note that Cython 0.29.1 has now been released.
Actually the Gentoo main tree caught up to me yesterday and 0.29.1 is in the main tree.
Description changed:
---
+++
@@ -1,4 +1,4 @@
-**Tarball**: https://files.pythonhosted.org/packages/f0/66/6309291b19b498b672817bd237caec787d1b18013ee659f17b1ec5844887/Cython-0.29.tar.gz
+**Tarball**: https://files.pythonhosted.org/packages/f0/f8/7f406aac4c6919d5a4ce16509bbe059cd256e9ad94bae5ccac14094b7c51/Cython-0.29.1.tar.gz
Follow-up tickets:
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
4c3e314 | Upgrade to Cython 0.29.1 |
Not tested yet...
Replying to @timokau:
For what its worth, here is the status of cython on various distros and these are the distros that package sage. Debian Unstable hasn't upgraded yet. Arch and Nix have. Gentoo isn't listed for some reason.
That's a cool site--I was not aware of it before. It doesn't look like it tracks conda-forge or cygwin packages either. I wonder how hard it would be to add trackers for new repositories to the site...
Replying to @embray:
Replying to @timokau:
For what its worth, here is the status of cython on various distros and these are the distros that package sage. Debian Unstable hasn't upgraded yet. Arch and Nix have. Gentoo isn't listed for some reason.
That's a cool site--I was not aware of it before. It doesn't look like it tracks conda-forge or cygwin packages either. I wonder how hard it would be to add trackers for new repositories to the site...
Yeah its pretty neat. Nix uses a bot that automatically generates trivial package update PRs based on repology data. I think adding support for another repo would basically sonsist of (1) finding a relibale data source that gives current metadata about all packages and (2) converting that datasource into the format repology expects. There are already issues for conda-forge and cygwin.
Replying to @jdemeyer:
With only this ticket applied (not the follow-up tickets), it requires only minor adjustments to support both Cython 0.28 and Cython 0.29.
So what you are saying is maybe more an argument to postpone the follow-up tickets until we know for sure that Debian is ready for Cython 0.29.
Back to topic: So in its current state this ticket is not backwards compatible?
Replying to @timokau:
For what its worth, here is the status of cython on various distros and these are the distros that package sage. Debian Unstable hasn't upgraded yet. Arch and Nix have. Gentoo isn't listed for some reason.
The curating is imperfect and for some distros it is listed under "cython" and for other under "python:cython" https://repology.org/metapackage/python:cython/versions not much you can do about that.
You can report it (I just did). Every time I've done that it has been resolved within a couple of hours.
Replying to @timokau:
Back to topic: So in its current state this ticket is not backwards compatible?
No, it is not. The difference is really small though, packagers that insist on Cython 0.28 can easily revert this patch.
Okay since the majority have already switched (all but debian I think) and its very possible that debian will have switched by the time 8.5 is released, I think we can go forward. Any other opinions?
Replying to @jdemeyer:
Replying to @timokau:
Back to topic: So in its current state this ticket is not backwards compatible?
No, it is not. The difference is really small though, packagers that insist on Cython 0.28 can easily revert this patch.
I think that's a bit presumptuous. But I agree there's no reason for anyone to hold back up on updating Cython and that it should/will happen before long so I don't object to moving forward on this.
Reviewer: Timo Kaufmann
Changed branch from u/jdemeyer/upgrade_to_cython_0_29 to 4c3e314
Tarball: https://files.pythonhosted.org/packages/f0/f8/7f406aac4c6919d5a4ce16509bbe059cd256e9ad94bae5ccac14094b7c51/Cython-0.29.1.tar.gz
Follow-up tickets:
25288: Enable Cython caching again
26403: Compile Sage with Cython language_level=3str
Upstream: Fixed upstream, but not in a stable release.
CC: @kiwifb @embray @saraedum
Component: packages: standard
Author: Jeroen Demeyer
Branch/Commit:
4c3e314
Reviewer: Timo Kaufmann
Issue created by migration from https://trac.sagemath.org/ticket/25292