Commit Graph

10 Commits

Author SHA1 Message Date
Alyssa Ross
e3e57b8f18 lib.systems: elaborate Rust metadata
We need this stuff to be available in lib so make-derivation.nix can
access it to construct the Meson cross file.

This has a couple of other advantages:

 - It makes Rust less special.  Now figuring out what Rust calls a
   platform is the same as figuring out what Linux or QEMU call it.

 - We can unify the schema used to define Rust targets, and the schema
   used to access those values later.  Just like you can set "config"
   or "system" in a platform definition, and then access those same
   keys on the elaborated platform, you can now set "rustcTarget" in
   your crossSystem, and then access "stdenv.hostPlatform.rustcTarget"
   in your code.

"rustcTarget", "rustcTargetSpec", "cargoShortTarget", and
"cargoEnvVarTarget" have the "rustc" and "cargo" prefixes because
these are not exposed to code by the compiler, and are not
standardized.  The arch/os/etc. variables are all named to match the
forms in the Rust target spec JSON.

The new rust.target-family only takes a list, since we don't need to
worry about backwards compatibility when that name is used.

The old APIs are all still functional with no warning for now, so that
it's possible for external code to use a single API on both 23.05 and
23.11.  We can introduce the warnings once 23.05 is EOL, and make them
hard errors when 23.11 is EOL.
2023-11-09 10:02:24 +01:00
Emily Trau
c74a14e960 mrustc: 0.10 -> 0.10.1 2023-10-18 03:05:17 +00:00
Val Lorentz
9faa070404 mrustc-bootstrap: Document workarounds 2023-04-16 21:59:34 +02:00
Val Lorentz
70455de76d mrustc-bootstrap: Recompile minicargo 2023-04-16 21:43:29 +02:00
Val Lorentz
dab72ecb03 mrustc: Remove obsolete patches 2023-04-16 21:43:10 +02:00
Val Lorentz
fd3641ec26 mrustc: 0.9 -> 0.10
And switch from Rust 1.29 to 1.54, as this is the top version
supported by mrustc
2023-04-06 11:26:26 +02:00
Anthony Roussel
949f55c0dd
mrustc-bootstrap: pin to openssl_1_1 2022-09-11 23:28:36 +02:00
Vladimír Čunát
a5aa12b446
mrustc: fixup build
Probably after gcc update.  Anyway, including standard headers
should be safe even if not utilized (and they do seem here).
2022-04-17 10:14:55 +02:00
Jonathan Ringer
afaf4b64b3 mrustc: fix llvm_config path 2021-05-08 01:29:18 -07:00
Valentin Lorentz
92c77733ac mrustc: init at 0.9
mrustc is mostly patched to use shared LLVM sources but still uses
in-tree source for compiler-rt from LLVM 7. This needs to be patched to
compile under glibc 2.31 or later. It's easy enough to reapply all our
compiler-rt patches here.
2021-04-23 10:19:37 +00:00