lang/rust-nightly: Update to 1.58.0.20211030
Make the no-hardlinks-patches conditional and move them to
files/no-hardlinks.
Newer kernels should return sane kern.proc.pathname values for
hardlinks which will hopefully help avoid the intermittent "can't
find crate for `std`" build failures we had on the package
builders.
Thanks to kib@ for fixing kernel behavior. Now let's see if it
makes a difference for lang/rust-nightly.
Changes: https://github.com/rust-lang/rust/compare/25ec8273855fde2d72ae877b397e054de5300e10...e249ce6b2345587d6e11052779c86adbad626dff
PR: 248184
lang/rust-nightly: Attempt to fix intermittent "can't find crate for `std`"
build failures
The location of rustc (found via env::current_exe()) is used to
find the right libstd. However it might have been "copied" by
creating a hard link to the new location instead. Like /proc/curproc/file,
KERN_PROC_PATHNAME (used internally by current_exe()) can return
any of the file's multiple paths. Most of the time it returns the
right rustc path and the build will succeed but occasionally it
will return the "wrong" path and the build fails with:
error[E0463]: can't find crate for `std`
If this is right a viable workaround should be to never create hard
links during the build, so let's try that.
Also drop the related llvm-config-wrapper workaround.
PR: 248184