On Friday, August 9, 2024 at 7:37:34 AM UTC-7 Marc Culler wrote:

I was naively looking at this from the point of view of someone maintaining 
a port of Sage to a single platform, which also happens to allow a single 
binary wheel to work for multiple versions of the OS. Looking at that 
linked file 
[https://github.com/sagemath/sage/blob/fdc545367173f836890b9cddbce0d7c032b10d2b/build/pkgs/rpds_py/checksums.ini]
 
reveals that the linux situation is infinitely more complex.  The version 
"pinning" apparently must be done separately for  each release of each 
distro.


These are not really tied to "Linux distro releases". Instead the Python PA 
has defined common-denominator platforms called "manylinux" that are 
basically keyed to the GLIBC version. (That's what "2.17" in 
"manylinux_2_17" refers to.) In addition, there are common-denominator 
platforms for a different libc implementation, "musllinux".

Probably there is no way to tame that maintenance headache.  Possibly Sage 
could hope to "delegate" the job of deciding which version of each binary 
wheel is optimal for each release of each distro to the package 
maintainer(s) for that distro and to copy the data for those checksum.ini 
files from some known location within each distro.  However, I don't see 
how that will work for the majority of distros given that they are not 
close to supporting the current version of Sage.


That's the upstream projects' burden, not ours; in fact, the upstream 
projects delegate this burden to a large extent to the infrastructure that 
is provided by https://cibuildwheel.pypa.io/en/stable/

I don't know if this scheme will end up being simpler than installing Rust 
in the Sage build directory (which involves very little more than 
downloading and running rustup.sh).  I hope it will.


I also don't know for sure, but I'm simply not keen on taking on the work 
of maintaining anything Rust-related just to know with greater certainty.

It's good to have a clear boundary of the project.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/03d03a54-609c-444d-b834-7fb0663a8c7fn%40googlegroups.com.

Reply via email to