Index: head/lang/rust-nightly/Makefile =================================================================== --- head/lang/rust-nightly/Makefile (revision 533890) +++ head/lang/rust-nightly/Makefile (revision 533891) @@ -1,33 +1,33 @@ # Created by: Jean-Sébastien Pédron # $FreeBSD$ PORTVERSION= 1.45.0.${NIGHTLY_DATE:C,-,,g} # Always set PORTREVISION explicitly as otherwise it is inherited from lang/rust PORTREVISION= 0 PKGNAMESUFFIX= -nightly DISTNAME= rustc-nightly-src ONLY_FOR_ARCHS= amd64 i386 ONLY_FOR_ARCHS_REASON= upstream does not provide bootstraps for other architectures CONFLICTS_INSTALL= rust MASTERDIR= ${.CURDIR}/../rust PATCHDIR= ${.CURDIR}/files DISTINFO_FILE= ${.CURDIR}/distinfo # Get latest from top level 'date' key in # https://static.rust-lang.org/dist/channel-rust-nightly.toml -NIGHTLY_DATE= 2020-04-27 +NIGHTLY_DATE= 2020-05-04 # See WRKSRC/src/stage0.txt for this date BOOTSTRAPS_DATE= 2020-04-22 RUST_BOOTSTRAP_VERSION= beta CARGO_BOOTSTRAP_VERSION= beta post-configure: # Don't abort if optional tools fail to build # https://github.com/rust-lang/rust/commit/53254a888b42 @${ECHO_CMD} 'missing-tools = true' >>${WRKSRC}/config.toml .include "${MASTERDIR}/Makefile" Index: head/lang/rust-nightly/distinfo =================================================================== --- head/lang/rust-nightly/distinfo (revision 533890) +++ head/lang/rust-nightly/distinfo (revision 533891) @@ -1,15 +1,15 @@ -TIMESTAMP = 1587959847 -SHA256 (rust/2020-04-27/rustc-nightly-src.tar.xz) = 8d72e08ff6920178860eeb32741a8eff129a402150772a1c6696e765597b27d4 -SIZE (rust/2020-04-27/rustc-nightly-src.tar.xz) = 94780700 +TIMESTAMP = 1588565873 +SHA256 (rust/2020-05-04/rustc-nightly-src.tar.xz) = e109d5ac1a3b5dd626cd3818f75b0443695e72ace986260c51b9c76a230909c6 +SIZE (rust/2020-05-04/rustc-nightly-src.tar.xz) = 94842712 SHA256 (rust/2020-04-22/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 502b41362ba46e37dbf7c890b76e8b420d156f998bbf96f545e0ce68ce5a5ad6 SIZE (rust/2020-04-22/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 36152976 SHA256 (rust/2020-04-22/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = 3919d86ce0f932d22f69670e3e353a9b5cc9463ed586ea52406b311fb270941e SIZE (rust/2020-04-22/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = 16831712 SHA256 (rust/2020-04-22/cargo-beta-x86_64-unknown-freebsd.tar.xz) = a4ee911bb71966d3fed1bd90acea2fb94c8eb3e1fbc5cf9ee184d00b0457f7a6 SIZE (rust/2020-04-22/cargo-beta-x86_64-unknown-freebsd.tar.xz) = 5164600 SHA256 (rust/2020-04-22/rustc-beta-i686-unknown-freebsd.tar.xz) = 28dcbdcd9e88d90165546627ee3da776b40d18cb943ebc3515bd07f23ef3326b SIZE (rust/2020-04-22/rustc-beta-i686-unknown-freebsd.tar.xz) = 36949752 SHA256 (rust/2020-04-22/rust-std-beta-i686-unknown-freebsd.tar.xz) = 8e3399f685264c73a71e19bf432a9f93fa78d3882d1f5b4fd54c4f6b47cdbe1f SIZE (rust/2020-04-22/rust-std-beta-i686-unknown-freebsd.tar.xz) = 16749016 SHA256 (rust/2020-04-22/cargo-beta-i686-unknown-freebsd.tar.xz) = da9ccc0dbfc69714083280168890fe15f2b490f159f548dc0393fde9fefeb292 SIZE (rust/2020-04-22/cargo-beta-i686-unknown-freebsd.tar.xz) = 5034732 Index: head/lang/rust-nightly/files/patch-src_bootstrap_native.rs =================================================================== --- head/lang/rust-nightly/files/patch-src_bootstrap_native.rs (revision 533890) +++ head/lang/rust-nightly/files/patch-src_bootstrap_native.rs (revision 533891) @@ -1,34 +1,34 @@ There seems to be some kind of race when using llvm-config-wrapper for building rust-lld. Attempt to improve reliability of the build by not using it. llvm-config-wrapper is a hack in the first place that is only really needed on Windows. ---- src/bootstrap/native.rs.orig 2020-02-27 18:39:49 UTC +--- src/bootstrap/native.rs.orig 2020-05-03 19:47:59 UTC +++ src/bootstrap/native.rs -@@ -467,25 +467,9 @@ impl Step for Lld { +@@ -488,25 +488,9 @@ impl Step for Lld { let mut cfg = cmake::Config::new(builder.src.join("src/llvm-project/lld")); configure_cmake(builder, target, &mut cfg, true); - // This is an awful, awful hack. Discovered when we migrated to using - // clang-cl to compile LLVM/LLD it turns out that LLD, when built out of - // tree, will execute `llvm-config --cmakedir` and then tell CMake about - // that directory for later processing. Unfortunately if this path has - // forward slashes in it (which it basically always does on Windows) - // then CMake will hit a syntax error later on as... something isn't - // escaped it seems? - // - // Instead of attempting to fix this problem in upstream CMake and/or - // LLVM/LLD we just hack around it here. This thin wrapper will take the - // output from llvm-config and replace all instances of `\` with `/` to - // ensure we don't hit the same bugs with escaping. It means that you - // can't build on a system where your paths require `\` on Windows, but - // there's probably a lot of reasons you can't do that other than this. - let llvm_config_shim = env::current_exe().unwrap().with_file_name("llvm-config-wrapper"); cfg.out_dir(&out_dir) .profile("Release") -- .env("LLVM_CONFIG_REAL", llvm_config) +- .env("LLVM_CONFIG_REAL", &llvm_config) - .define("LLVM_CONFIG_PATH", llvm_config_shim) -+ .define("LLVM_CONFIG_PATH", llvm_config) ++ .define("LLVM_CONFIG_PATH", &llvm_config) .define("LLVM_INCLUDE_TESTS", "OFF"); - cfg.build(); + // While we're using this horrible workaround to shim the execution of