tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
the problem of rust :-(
There is new rust in wip, but updating to it would mean desupporting
some platforms. Thus the question is how to proceed (post 2024Q2 but of
course we can debate that over the next 3.5 weeks). It seems options
are:
1) fix rust so it works on all platforms it works on now
2) decide to give up on some platforms, withdrawing significant
amounts of software, and basically turning the hardware into ewaste
3) see if the issue is buiding vs a built rustc working, and pivot to
rust-bin that is cross built as the appraoch for some platforms.
4) version rust, so that the older version is available when the newer
one isn't. That also decouples getting it working from newer on
platforms where it is less troubled.
Probably, we'd strive to aggressively add versions, and gc versions
that are not needed for some platform. Call the oldest necessary
version the floor version.
This implies marking packages with required rust version, but we do
that already. It then leads to this same problem happening with each
rust-using program. Given rust culture, that's probably sooner rather
than later. That it turn leads to
4A) version rust-using programs, and keep the most recent one that
builds with the floor version
4B) don't version rust-using programs, so that when something
doesn't build with the newest version on some platform, it just
doesn't, leading to using a C ancestor
5) Convince the rust ecosystem to value portability and to have
software that runs in a reasonable amount of memory. Alternatively,
convince people not to use rust unless their program is already so
bloated that there is no incremental harm.
Am I missing any?
5 would be the best outcome but given rust culture is perhaps not even
funny.
1 is obviously preferred but seems hard and hasn't yet happened. Hoping
for 1 doesn't seem like a good strategy.
2 seems unreasonable (given librsvg and py-cryptography; it's ok for
firefox).
3 seems only slightly icky and if it can work seems like the best
approach. I think we have a lot of cross build support already but I'm
not sure it's all checked in so anyone can just run it. Yes, it heads a
bit to pkgbin, but that seems better than pkgnull.
4 seems like a bit of work, but just having multiple versions doesn't
really seem like a lot 4A seems like it would be even more work and meet
the goals. 4B may or may not help all that much, but shouldn't be that
hard.
What do the rust people think about 3?
If 3 doesn't work, I think we should head to 4B, mostly so we can get
the decoupling benefit of not holding updates because of some platforms,
with not a huge amount of work. For example, it seems like aarch64 can
be sorted into plan 1, but not necessarily this week.
Home |
Main Index |
Thread Index |
Old Index