I'm updating to 1.24:
https://blog.rust-lang.org/2018/02/15/Rust-1.24.html
One of the headline features is that it's now shipping rustfmt along
with the rust distribution. (Although technically, the component is
still called rustfmt-preview.)
This differs from the rustfmt we already have packaged in Fedora,
because they've now embraced the use of internal rustc libraries.
That's OK when it's shipped along with rustc-src, but it means we really
need to package it all together too, so it's one ABI-compatible build.
The other awkwardness is that they reset the version when they branched
to this "rustfmt-nightly" style. So the old version we have packaged is
rustfmt 0.9, but the current version of the new binary is 0.3.4.
So, I think what I can do is have a subpackage of the rust.srpm, with
its own name, version, *and* epoch to supersede the old package.
Name: rust
Version: 1.24.0
%package -n rustfmt
Version: 0.3.4
Epoch: 1
Does that work? Is there a better way to handle this?
Note, in the near future this is also how rls and clippy will be
released. And technically, cargo already gets shipped in rustc-src too,
but it doesn't use unstable features, so that should be fine for us to
continue packaging on its own.