-
Notifications
You must be signed in to change notification settings - Fork 235
Commit 9e44d13
committed
Commit a Cargo.lock.minimal that works with our MSRV
This is not so trivial. In theory,
cargo +nightly update -Z minimal-versions generate-lockfile
ought to work.
However, there are rather many places in our dependency tree where
some crate A depends on crate B, version V, but it actually doesn't
build with version V, but requires something considerably newer.
There seemed to be particular problems in the parts of the dependency
graph near "pest". My attempts at starting with the minimal versions
and upgrading crates as needed, were not successful.
However, I was able to converge reasonably quickly from the other end:
starting with the lockfile generated by 1.59, using recent versions,
and then repeatedly downgrading crates whose (actual, or declared)
MSRV was too high.
I used the following recipe on 2023-10-24 to generates this lockfile:
Bump Tokio dependency to 1.29 in Cargo.toml
cargo +1.59 generate-lockfile
cargo +nightly update -Z minimal-versions -p linux-raw-sys
cargo +nightly update -Z minimal-versions -p tokio
cargo +nightly update -Z minimal-versions -p rustix
cargo +nightly update -Z minimal-versions -p tempfile
cargo +nightly update -Z minimal-versions -p reqwest
cargo +nightly update -Z minimal-versions -p byteorder
cargo +nightly update -Z minimal-versions -p h2
cargo +nightly update -Z minimal-versions -p log
cargo +nightly update -Z minimal-versions -p tokio
cargo +nightly update -Z minimal-versions -p [email protected]
Discard the Tokio dependency update
So that is what we commit here.
This is unprincipled, and the recipe above has already rotted by
2023-11-06. In the future (especially on the mainline) we can
hopefully have a more principled approach.
Signed-off-by: Ian Jackson <[email protected]>1 parent 069891c commit 9e44d13Copy full SHA for 9e44d13
1 file changed
+2083
-0
lines changed
0 commit comments