26 Mar 2024 |
Jelmer | older versions of Breezy (3.4 and older) are still pure-Python | 13:46:31 |
Jelmer | but we have no plans to make the rust code optional | 13:46:53 |
CcxWrk | Simultaneously understandable and "ugh". | 15:10:46 |
CcxWrk | For context: I'm currently making minimal self-hosting easy to bootstrap distro. I really wouldn't want to bootstrap Rust. I converted all my bzr repos to git for use in there. | 15:12:30 |
CcxWrk | Really the only consideration I'd advise is to use stable compiler features so the code doesn't rot (as much). Supposedly that's feasible with Rust nowadays. | 15:16:21 |
Jelmer | CcxWrk: for a project the size of Breezy, Python tends to bitrot quite a bit as well between releases unfortunately | 16:39:52 |
Jelmer | we don't use any rust nightly features | 16:40:16 |
Jelmer | Older versions of Breezy also already depend on rust because Python modules like cryptography do | 16:41:36 |
CcxWrk | I know :−( [re Python tends to bitrot] | 16:42:17 |
| fullermd joined the room. | 17:33:28 |
28 Mar 2024 |
| bkhl left the room. | 03:34:35 |
| bkhl joined the room. | 03:35:47 |
pabs | CcxWrk: #bootstrappable is on Libera Chat btw, might be interesting to you | 06:43:44 |
CcxWrk | pabs: Yes, I've been there for a while. :] Though I mostly chat about it in either #musl-distros or #s6-offtopic here on OFTC. | 11:57:50 |
CcxWrk | Making it useful is the first priority. My bootstrap base consists of musl-cross-make, gnu-make and busybox. So that hopefully be not that hard to transplant on top of their bootstrap chain. | 11:59:33 |
pabs | ah, I didn't see your nick woops | 12:02:12 |
pabs | I expect that would be fairly easy to join up yeah | 12:03:07 |
Jelmer | CcxWrk: Do you know what the overall status is of making rust bootstrappable? | 12:13:23 |
CcxWrk | Jelmer: Not really. FWIH it's similar PITA like jumping from C89 to modern GCC. But you'd have to talk to someone else. Either someone in #bootstrappable or Rust maintainers in either Guix or Gentoo would know. | 12:19:34 |
CcxWrk | https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-lang/rust/rust-1.75.0-r1.ebuild#n73 | 12:22:20 |
Jelmer | Thanks! | 12:25:07 |
CcxWrk | mrustc claims: Supports (and can bootstrap) rustc 1.19.0, 1.29.0, 1.39.0, and 1.54.0 | 12:25:41 |
CcxWrk | So you will have quite a lot of hops to go through from 1.54 to current | 12:26:23 |
CcxWrk | https://github.com/thepowersgang/mrustc | 12:26:46 |
CcxWrk | Nowadays I think from C89 to modern GCC is ~3 steps, starting with gcc-4.7 | 12:27:48 |
pabs | gccrs will probably help the situation | 12:57:16 |
Jelmer | Interesting, thanks! | 14:19:06 |
CcxWrk | Hopefully. FWIR they don't converge on same binary as official build yet, so not reproducible. | 14:30:45 |
CcxWrk | There was also some attempt to make Rust actually selfhosting, IIRC via cranelift. Not sure if that's still worked on. | 14:34:03 |
CcxWrk | All these efforts feel too much perhaps-kinda-maybe-eventually not-there-yet. So I definitely wouldn't consider Rust as a part of core system. | 14:35:24 |