Index: Mk/Uses/cargo.mk =================================================================== --- Mk/Uses/cargo.mk +++ Mk/Uses/cargo.mk @@ -97,7 +97,7 @@ CARGO_BUILDDEP?= yes .if ${CARGO_BUILDDEP:tl} == "yes" -BUILD_DEPENDS+= ${RUST_DEFAULT}>=1.56.0:lang/${RUST_DEFAULT} +BUILD_DEPENDS+= ${RUST_DEFAULT}>=1.57.0:lang/${RUST_DEFAULT} .endif # Location of toolchain (default to lang/rust's toolchain) Index: Mk/bsd.gecko.mk =================================================================== --- Mk/bsd.gecko.mk +++ Mk/bsd.gecko.mk @@ -76,7 +76,7 @@ BUILD_DEPENDS+= llvm${LLVM_DEFAULT}>0:devel/llvm${LLVM_DEFAULT} \ rust-cbindgen>=0.19.0:devel/rust-cbindgen \ - ${RUST_DEFAULT}>=1.56.0:lang/${RUST_DEFAULT} \ + ${RUST_DEFAULT}>=1.57.0:lang/${RUST_DEFAULT} \ node:www/node LIB_DEPENDS+= libdrm.so:graphics/libdrm RUN_DEPENDS+= ${LOCALBASE}/lib/libpci.so:devel/libpci Index: lang/rust-bootstrap/Makefile =================================================================== --- lang/rust-bootstrap/Makefile +++ lang/rust-bootstrap/Makefile @@ -2,7 +2,7 @@ # to upload them to ~/public_distfiles on freefall in preparation # for the next lang/rust update. PORTNAME= rust -PORTVERSION= 1.56.0 +PORTVERSION= 1.57.0 CATEGORIES= lang MASTER_SITES= https://static.rust-lang.org/dist/ PKGNAMEPREFIX= ${FLAVOR:S/_/-/g}- Index: lang/rust-bootstrap/distinfo =================================================================== --- lang/rust-bootstrap/distinfo +++ lang/rust-bootstrap/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1634575103 -SHA256 (rust/rustc-1.56.0-src.tar.xz) = f13468889833c88e744ad579c5d8fbb7ecb53216159b54481a90e5dcdaa9e320 -SIZE (rust/rustc-1.56.0-src.tar.xz) = 121802340 +TIMESTAMP = 1638276833 +SHA256 (rust/rustc-1.57.0-src.tar.xz) = fad07ea1daf9c6195c32e6e9c43ece4565c5f2f1de3c3771574790d6abbc9704 +SIZE (rust/rustc-1.57.0-src.tar.xz) = 122681768 Index: lang/rust/Makefile =================================================================== --- lang/rust/Makefile +++ lang/rust/Makefile @@ -1,7 +1,7 @@ # Created by: Jyun-Yan You PORTNAME= rust -PORTVERSION?= 1.56.0 +PORTVERSION?= 1.57.0 PORTREVISION?= 0 CATEGORIES= lang MASTER_SITES= https://static.rust-lang.org/dist/:src \ @@ -66,9 +66,9 @@ _RUST_TARGETS+=wasm32-unknown-unknown WASM_VARS_OFF= _RUST_BUILD_WASM=false -# See WRKSRC/src/stage0.txt for the date and version values. -BOOTSTRAPS_DATE?= 2021-09-09 -RUST_BOOTSTRAP_VERSION?= 1.55.0 +# See WRKSRC/src/stage0.json for the date and version values +BOOTSTRAPS_DATE?= 2021-10-21 +RUST_BOOTSTRAP_VERSION?= 1.56.0 BOOTSTRAPS_SUFFIX?= ${BOOTSTRAPS_SUFFIX_${ARCH}} BOOTSTRAPS_SUFFIX_powerpc64?= -${PPC_ABI:tl} Index: lang/rust/distinfo =================================================================== --- lang/rust/distinfo +++ lang/rust/distinfo @@ -1,57 +1,57 @@ -TIMESTAMP = 1634575102 -SHA256 (rust/rustc-1.56.0-src.tar.xz) = f13468889833c88e744ad579c5d8fbb7ecb53216159b54481a90e5dcdaa9e320 -SIZE (rust/rustc-1.56.0-src.tar.xz) = 121802340 -SHA256 (rust/2021-09-09/rustc-1.55.0-aarch64-unknown-freebsd.tar.xz) = 29560cf6b45b4dc9a128c17f9d901b54b4d1d3d9cad4d0bdc05aca194b41dd3f -SIZE (rust/2021-09-09/rustc-1.55.0-aarch64-unknown-freebsd.tar.xz) = 46686528 -SHA256 (rust/2021-09-09/rust-std-1.55.0-aarch64-unknown-freebsd.tar.xz) = eec90b645eefefb3a052be28665cb737f76b660ae2db9a1393b50461ef5ce348 -SIZE (rust/2021-09-09/rust-std-1.55.0-aarch64-unknown-freebsd.tar.xz) = 18828192 -SHA256 (rust/2021-09-09/cargo-1.55.0-aarch64-unknown-freebsd.tar.xz) = 6285f42cd47a6c4ab94a43a6f46094f4a73218dd40dc678ac13d6f378975a137 -SIZE (rust/2021-09-09/cargo-1.55.0-aarch64-unknown-freebsd.tar.xz) = 4479688 -SHA256 (rust/2021-09-09/rustc-1.55.0-x86_64-unknown-freebsd.tar.xz) = 522f5639daa8b4275bbf1479c1a5b2d6c374020b048eefd9bd4b05e9802a4805 -SIZE (rust/2021-09-09/rustc-1.55.0-x86_64-unknown-freebsd.tar.xz) = 42185720 -SHA256 (rust/2021-09-09/rust-std-1.55.0-x86_64-unknown-freebsd.tar.xz) = 99fce10914ccd14f205c96eb80d102cd79a84133183834c5df2b8c5543024194 -SIZE (rust/2021-09-09/rust-std-1.55.0-x86_64-unknown-freebsd.tar.xz) = 19530980 -SHA256 (rust/2021-09-09/cargo-1.55.0-x86_64-unknown-freebsd.tar.xz) = 4b700830a5482979b201ccc6b0b14fe5e6db28a27a70780a305f5be3f452a307 -SIZE (rust/2021-09-09/cargo-1.55.0-x86_64-unknown-freebsd.tar.xz) = 5199584 -SHA256 (rust/2021-09-09/rustc-1.55.0-armv6-unknown-freebsd.tar.xz) = 18f3396cde609f353f1bdde6ae1f669581de1ec9a5a396d5868917f249643155 -SIZE (rust/2021-09-09/rustc-1.55.0-armv6-unknown-freebsd.tar.xz) = 47608836 -SHA256 (rust/2021-09-09/rust-std-1.55.0-armv6-unknown-freebsd.tar.xz) = e086292a71fc513ace373f0208affe402ac4488743e6c2929d92c4d7e0997761 -SIZE (rust/2021-09-09/rust-std-1.55.0-armv6-unknown-freebsd.tar.xz) = 17897508 -SHA256 (rust/2021-09-09/cargo-1.55.0-armv6-unknown-freebsd.tar.xz) = 23f7040f4cb4fcfacf4795449804a8b64db8aa21aac4eb4c5aa6de8adc84c159 -SIZE (rust/2021-09-09/cargo-1.55.0-armv6-unknown-freebsd.tar.xz) = 4607048 -SHA256 (rust/2021-09-09/rustc-1.55.0-armv7-unknown-freebsd.tar.xz) = d067d57b587b342680f0ca18ab1f2af100803dc4bd2b824a8033421b156b14df -SIZE (rust/2021-09-09/rustc-1.55.0-armv7-unknown-freebsd.tar.xz) = 47647600 -SHA256 (rust/2021-09-09/rust-std-1.55.0-armv7-unknown-freebsd.tar.xz) = c6d71af3d485a67bf48e2277765a22584f52724cd9682782e052a103d816dc6d -SIZE (rust/2021-09-09/rust-std-1.55.0-armv7-unknown-freebsd.tar.xz) = 18488040 -SHA256 (rust/2021-09-09/cargo-1.55.0-armv7-unknown-freebsd.tar.xz) = 16a16a0d670d6e6e964994a39e531d7eef9e6861806ca9de1d34a3b3ca553394 -SIZE (rust/2021-09-09/cargo-1.55.0-armv7-unknown-freebsd.tar.xz) = 4589416 -SHA256 (rust/2021-09-09/rustc-1.55.0-i686-unknown-freebsd.tar.xz) = b865fc32e5e91111fd2ad90fd893923910cd46e5ab457a8ded6397b74e610d96 -SIZE (rust/2021-09-09/rustc-1.55.0-i686-unknown-freebsd.tar.xz) = 50347892 -SHA256 (rust/2021-09-09/rust-std-1.55.0-i686-unknown-freebsd.tar.xz) = 71e460d7610592e41e8d5e326eb970b2c5584178abbf7c26d8fa215c16398f04 -SIZE (rust/2021-09-09/rust-std-1.55.0-i686-unknown-freebsd.tar.xz) = 19393280 -SHA256 (rust/2021-09-09/cargo-1.55.0-i686-unknown-freebsd.tar.xz) = 94e8f12be0f7c491055fa4f88476d42f7fe4c4775993a7465e6731e27f9b01d6 -SIZE (rust/2021-09-09/cargo-1.55.0-i686-unknown-freebsd.tar.xz) = 5271776 -SHA256 (rust/2021-09-09/rustc-1.55.0-powerpc-unknown-freebsd.tar.xz) = 7c3d2cab681b09aac0711c09a8b3f8d4e178f368cfe5ba51b067b07ca830b20b -SIZE (rust/2021-09-09/rustc-1.55.0-powerpc-unknown-freebsd.tar.xz) = 49009564 -SHA256 (rust/2021-09-09/rust-std-1.55.0-powerpc-unknown-freebsd.tar.xz) = c20d673c868da9c0b3fa17d6226974151efe4dd6422399b52ba4aa57707541b7 -SIZE (rust/2021-09-09/rust-std-1.55.0-powerpc-unknown-freebsd.tar.xz) = 17595980 -SHA256 (rust/2021-09-09/cargo-1.55.0-powerpc-unknown-freebsd.tar.xz) = a441ccfab4501d1ed2cb8d67bc2c90cacae4d98933c6c82e1ef51cb5a0b3c8c2 -SIZE (rust/2021-09-09/cargo-1.55.0-powerpc-unknown-freebsd.tar.xz) = 5015316 -SHA256 (rust/2021-09-09/rustc-1.55.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = a540d96ba3de0ef26c6a25d6dc8cd05cd8ce70cebca3e8133c3b2ecc3b5f08c0 -SIZE (rust/2021-09-09/rustc-1.55.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 56762480 -SHA256 (rust/2021-09-09/rust-std-1.55.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = b1781903a25f6b804013a6bf69cc00c8a26279335f7d81776a08db4cfd1cc16d -SIZE (rust/2021-09-09/rust-std-1.55.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 17733272 -SHA256 (rust/2021-09-09/cargo-1.55.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 9c45a3c2e5f0aa4f70d5be85e9791e29ea953d4b2229bd8f7e94f26730f5812b -SIZE (rust/2021-09-09/cargo-1.55.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 5060744 -SHA256 (rust/2021-09-09/rustc-1.55.0-powerpc64le-unknown-freebsd.tar.xz) = 73ffacdd8a1b41863464b273cdfaf659492325b25e72ec839c8d2f93c313d860 -SIZE (rust/2021-09-09/rustc-1.55.0-powerpc64le-unknown-freebsd.tar.xz) = 49886844 -SHA256 (rust/2021-09-09/rust-std-1.55.0-powerpc64le-unknown-freebsd.tar.xz) = 4d1dd307b6e632c26ccbf2cdfc18ff38a88e4bc4c9bc517b659b20e48304bb86 -SIZE (rust/2021-09-09/rust-std-1.55.0-powerpc64le-unknown-freebsd.tar.xz) = 17887308 -SHA256 (rust/2021-09-09/cargo-1.55.0-powerpc64le-unknown-freebsd.tar.xz) = 9e6c36063fcf4da9e0725207c569189ab1897403be6e6037f80bda03c16e5c12 -SIZE (rust/2021-09-09/cargo-1.55.0-powerpc64le-unknown-freebsd.tar.xz) = 4994980 -SHA256 (rust/2021-09-09/rustc-1.55.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 6811bd7329e9f9a37c33e0e1a213190c5b6c26cb4c573555172d029468f032e7 -SIZE (rust/2021-09-09/rustc-1.55.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 47847012 -SHA256 (rust/2021-09-09/rust-std-1.55.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 892debb299bb150b8798478627ba3652d8c1f8f02b8b720f21697cda9d4af3a4 -SIZE (rust/2021-09-09/rust-std-1.55.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 17689860 -SHA256 (rust/2021-09-09/cargo-1.55.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 1c6ae90f873104cb43be4173cce78d5b354d451fcb37a8dac0538f1e504890d3 -SIZE (rust/2021-09-09/cargo-1.55.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 4747664 +TIMESTAMP = 1638276823 +SHA256 (rust/rustc-1.57.0-src.tar.xz) = fad07ea1daf9c6195c32e6e9c43ece4565c5f2f1de3c3771574790d6abbc9704 +SIZE (rust/rustc-1.57.0-src.tar.xz) = 122681768 +SHA256 (rust/2021-10-21/rustc-1.56.0-aarch64-unknown-freebsd.tar.xz) = 82a236e2d72daa16743df13f1099958b57551a4a8ed41eb4b59667caa777080a +SIZE (rust/2021-10-21/rustc-1.56.0-aarch64-unknown-freebsd.tar.xz) = 47996592 +SHA256 (rust/2021-10-21/rust-std-1.56.0-aarch64-unknown-freebsd.tar.xz) = 8820ad8aed80fcddde255b5fdf6eb7113c9a9e618f785238da0e06ffd56ff16d +SIZE (rust/2021-10-21/rust-std-1.56.0-aarch64-unknown-freebsd.tar.xz) = 19678584 +SHA256 (rust/2021-10-21/cargo-1.56.0-aarch64-unknown-freebsd.tar.xz) = 3d853f970f0b5eade8e8b3aa6eaba32d00eee08936dd6acd0cf4caae583a019c +SIZE (rust/2021-10-21/cargo-1.56.0-aarch64-unknown-freebsd.tar.xz) = 4559904 +SHA256 (rust/2021-10-21/rustc-1.56.0-x86_64-unknown-freebsd.tar.xz) = bc423830573a46d8cee0efd848da71be9b36115ecf34747da952fcd045f48047 +SIZE (rust/2021-10-21/rustc-1.56.0-x86_64-unknown-freebsd.tar.xz) = 43726460 +SHA256 (rust/2021-10-21/rust-std-1.56.0-x86_64-unknown-freebsd.tar.xz) = 47d9a983de22a43187d5bc1b1c14391590a50d3430b5ee6ab55a9d6baa23cd88 +SIZE (rust/2021-10-21/rust-std-1.56.0-x86_64-unknown-freebsd.tar.xz) = 20550680 +SHA256 (rust/2021-10-21/cargo-1.56.0-x86_64-unknown-freebsd.tar.xz) = 079ae609bd970eb387d3803a91e4fc6628722262cbc8f041a9e5b6848f6684e3 +SIZE (rust/2021-10-21/cargo-1.56.0-x86_64-unknown-freebsd.tar.xz) = 5298904 +SHA256 (rust/2021-10-21/rustc-1.56.0-armv6-unknown-freebsd.tar.xz) = ae0fc0c317cf7fc3d4efd2a3246e86704111019ef3f2ac62d054b0ae907f2822 +SIZE (rust/2021-10-21/rustc-1.56.0-armv6-unknown-freebsd.tar.xz) = 48727792 +SHA256 (rust/2021-10-21/rust-std-1.56.0-armv6-unknown-freebsd.tar.xz) = 71f14d1c93cd0c8cdc5e52fe0febae60fcadbe99ed32a80fb12cf73a25249704 +SIZE (rust/2021-10-21/rust-std-1.56.0-armv6-unknown-freebsd.tar.xz) = 18669524 +SHA256 (rust/2021-10-21/cargo-1.56.0-armv6-unknown-freebsd.tar.xz) = 75494c867ca1f2710edf6b5e43de04a861ffbc01aee7948870c028e5dfba5ca8 +SIZE (rust/2021-10-21/cargo-1.56.0-armv6-unknown-freebsd.tar.xz) = 4705020 +SHA256 (rust/2021-10-21/rustc-1.56.0-armv7-unknown-freebsd.tar.xz) = 40e174760b9a4360d28d2b3104516176dbb0e3c188c6628d1b2abe56d3cc8e03 +SIZE (rust/2021-10-21/rustc-1.56.0-armv7-unknown-freebsd.tar.xz) = 48981152 +SHA256 (rust/2021-10-21/rust-std-1.56.0-armv7-unknown-freebsd.tar.xz) = 3b09cfd7d392b6047ac1e9ffff065b3dc803e4afe8b6b41b96111d9f5f9b9ecf +SIZE (rust/2021-10-21/rust-std-1.56.0-armv7-unknown-freebsd.tar.xz) = 19441136 +SHA256 (rust/2021-10-21/cargo-1.56.0-armv7-unknown-freebsd.tar.xz) = 4f9b55eff84c6011fdcbffca2ebdbc939340a35f87f95ab1fa00f18a342a7679 +SIZE (rust/2021-10-21/cargo-1.56.0-armv7-unknown-freebsd.tar.xz) = 4692220 +SHA256 (rust/2021-10-21/rustc-1.56.0-i686-unknown-freebsd.tar.xz) = db1a697eced4bc65b36ddf590b8c0bb5b8c50a75032b7a3e088c8fe1b2c86c52 +SIZE (rust/2021-10-21/rustc-1.56.0-i686-unknown-freebsd.tar.xz) = 52722604 +SHA256 (rust/2021-10-21/rust-std-1.56.0-i686-unknown-freebsd.tar.xz) = f48e0b23e0979bc44db13b4470d65eb057c68f508af1df5e1f38497cc66e8e2f +SIZE (rust/2021-10-21/rust-std-1.56.0-i686-unknown-freebsd.tar.xz) = 20434844 +SHA256 (rust/2021-10-21/cargo-1.56.0-i686-unknown-freebsd.tar.xz) = 748b14fa68924216c7a08bebb2758933f923feabc4cabefb8356924ea4515aae +SIZE (rust/2021-10-21/cargo-1.56.0-i686-unknown-freebsd.tar.xz) = 5438960 +SHA256 (rust/2021-10-21/rustc-1.56.0-powerpc-unknown-freebsd.tar.xz) = 76638a9b16960288aea7efdea4249b96a931b2f93b88ad8b4614c046ebc41206 +SIZE (rust/2021-10-21/rustc-1.56.0-powerpc-unknown-freebsd.tar.xz) = 49648024 +SHA256 (rust/2021-10-21/rust-std-1.56.0-powerpc-unknown-freebsd.tar.xz) = d06ff829d0fbc05fe740f60d648f2768f6907b21747f8dfc3ca38b8dde5d55de +SIZE (rust/2021-10-21/rust-std-1.56.0-powerpc-unknown-freebsd.tar.xz) = 18478484 +SHA256 (rust/2021-10-21/cargo-1.56.0-powerpc-unknown-freebsd.tar.xz) = e4668521bc16b5b81b61280ff601f016185299cf4c74b07e1ea023704b7ef1f6 +SIZE (rust/2021-10-21/cargo-1.56.0-powerpc-unknown-freebsd.tar.xz) = 5054048 +SHA256 (rust/2021-10-21/rustc-1.56.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = d5f6563c40110e0d5e63e1ce0fbd1a8522d4da80de8a04d56313cfde0f906a58 +SIZE (rust/2021-10-21/rustc-1.56.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 58767712 +SHA256 (rust/2021-10-21/rust-std-1.56.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = f8f40ff0d3592766b95e66d048fe7724110970d5274281e72073ce3bd70411fb +SIZE (rust/2021-10-21/rust-std-1.56.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 18692716 +SHA256 (rust/2021-10-21/cargo-1.56.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = a623c36df322e4dc5376821387c4121499cc799e933d04a45b934d4731d84b38 +SIZE (rust/2021-10-21/cargo-1.56.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 5105400 +SHA256 (rust/2021-10-21/rustc-1.56.0-powerpc64le-unknown-freebsd.tar.xz) = 7edfbf3c163742ca56401dcf44ad7d54ebe4dc8fae4b8c111b46e5583abde2bd +SIZE (rust/2021-10-21/rustc-1.56.0-powerpc64le-unknown-freebsd.tar.xz) = 50451092 +SHA256 (rust/2021-10-21/rust-std-1.56.0-powerpc64le-unknown-freebsd.tar.xz) = d713bb476500e87b9b1a4bc3f1caa7912d586727ad0a7b0792911358cb5efde0 +SIZE (rust/2021-10-21/rust-std-1.56.0-powerpc64le-unknown-freebsd.tar.xz) = 18805860 +SHA256 (rust/2021-10-21/cargo-1.56.0-powerpc64le-unknown-freebsd.tar.xz) = c29c558c07d09e56c0288d2c9528b63311072ca491a047b9588ea3320d1699bb +SIZE (rust/2021-10-21/cargo-1.56.0-powerpc64le-unknown-freebsd.tar.xz) = 5046108 +SHA256 (rust/2021-10-21/rustc-1.56.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = b5f715c8b66e53ae3ef4a0dcd6fd70b033595316ded47c5b733c34408e8bf1e5 +SIZE (rust/2021-10-21/rustc-1.56.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 48308540 +SHA256 (rust/2021-10-21/rust-std-1.56.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 012200453f449bd1a5b7b43ccafe11fa6169b6bf3c009f5de689740a43bd39ec +SIZE (rust/2021-10-21/rust-std-1.56.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 18631992 +SHA256 (rust/2021-10-21/cargo-1.56.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = b4d09cf715f0be1aa3a0d681e8e2f9de5d254422bb813bd5ed3a3d4df57823cd +SIZE (rust/2021-10-21/cargo-1.56.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 4791156 Index: lang/rust/files/patch-src_bootstrap_lib.rs =================================================================== --- /dev/null +++ lang/rust/files/patch-src_bootstrap_lib.rs @@ -1,28 +0,0 @@ -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. - ---- src/bootstrap/lib.rs.orig 2020-07-23 20:16:43 UTC -+++ src/bootstrap/lib.rs -@@ -1173,10 +1173,6 @@ impl Build { - if metadata.file_type().is_symlink() { - let link = t!(fs::read_link(src)); - t!(symlink_file(link, dst)); -- } else if let Ok(()) = fs::hard_link(src, dst) { -- // Attempt to "easy copy" by creating a hard link -- // (symlinks don't work on windows), but if that fails -- // just fall back to a slow `copy` operation. - } else { - if let Err(e) = fs::copy(src, dst) { - panic!("failed to copy `{}` to `{}`: {}", src.display(), dst.display(), e) Index: lang/rust/files/patch-src_bootstrap_native.rs =================================================================== --- /dev/null +++ lang/rust/files/patch-src_bootstrap_native.rs @@ -1,35 +0,0 @@ -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-08-24 15:00:49 UTC -+++ src/bootstrap/native.rs -@@ -517,26 +522,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) -- .define("LLVM_CONFIG_PATH", llvm_config_shim) -+ .define("LLVM_CONFIG_PATH", &llvm_config) - .define("LLVM_INCLUDE_TESTS", "OFF"); - - // While we're using this horrible workaround to shim the execution of Index: lang/rust/files/patch-vendor_cc-1.0.69_src_lib.rs =================================================================== --- /dev/null +++ lang/rust/files/patch-vendor_cc-1.0.69_src_lib.rs @@ -0,0 +1,38 @@ +When the compiler has "clang" in its name the cc crate will pass +an LLVM target triple to it. Rust uses a triple that lacks the OS +version and LLVM will default to FreeBSD 9 behavior, i.e., it will +default to libstdc++ which is no longer available in newer releases. + +To avoid this issue assume we have a GNU compatible toolchain instead +until LLVM can be updated to use libc++ by default. + +https://reviews.llvm.org/D77776 + +--- vendor/cc-1.0.69/src/lib.rs.orig 2021-03-04 20:58:54 UTC ++++ vendor/cc-1.0.69/src/lib.rs +@@ -2659,24 +2659,7 @@ impl Tool { + } + + fn with_features(path: PathBuf, clang_driver: Option<&str>, cuda: bool) -> Self { +- // Try to detect family of the tool from its name, falling back to Gnu. +- let family = if let Some(fname) = path.file_name().and_then(|p| p.to_str()) { +- if fname.contains("clang-cl") { +- ToolFamily::Msvc { clang_cl: true } +- } else if fname.ends_with("cl") || fname == "cl.exe" { +- ToolFamily::Msvc { clang_cl: false } +- } else if fname.contains("clang") { +- match clang_driver { +- Some("cl") => ToolFamily::Msvc { clang_cl: true }, +- _ => ToolFamily::Clang, +- } +- } else { +- ToolFamily::Gnu +- } +- } else { +- ToolFamily::Gnu +- }; +- ++ let family = ToolFamily::Gnu; + Tool { + path: path, + cc_wrapper_path: None, Index: lang/rust/files/patch-vendor_openssl-sys_build_main.rs =================================================================== --- /dev/null +++ lang/rust/files/patch-vendor_openssl-sys_build_main.rs @@ -0,0 +1,19 @@ +--- vendor/openssl-sys/build/main.rs.orig 2021-11-29 20:27:34 UTC ++++ vendor/openssl-sys/build/main.rs +@@ -237,6 +237,7 @@ See rust-openssl README for more information: + (3, 3, 0) => ('3', '3', '0'), + (3, 3, 1) => ('3', '3', '1'), + (3, 3, _) => ('3', '3', 'x'), ++ (3, 4, _) => ('3', '4', 'x'), + _ => version_error(), + }; + +@@ -279,7 +280,7 @@ fn version_error() -> ! { + " + + This crate is only compatible with OpenSSL 1.0.1 through 1.1.1, or LibreSSL 2.5 +-through 3.3.x, but a different version of OpenSSL was found. The build is now aborting ++through 3.4.x, but a different version of OpenSSL was found. The build is now aborting + due to this version mismatch. + + " Index: lang/rust/update.sh =================================================================== --- lang/rust/update.sh +++ lang/rust/update.sh @@ -1,38 +1,25 @@ #!/bin/sh -# Requires: pkg install portfmt +# Requires: pkg install portfmt yq # Run in lang/rust set -eu -get_commit() { - awk ' -$1 == "[pkg.rustc]" { pkg_rustc = 1 } -pkg_rustc && $1 == "git_commit_hash" { - print substr($3, 2, 10) - exit -}' -} - fetch -qo /tmp/channel-rust-stable.toml https://dev-static.rust-lang.org/dist/channel-rust-stable.toml -version=$(=).*(:lang/\\$\\{RUST_DEFAULT\\}),\\1${version}\\2," \ ../../Mk/Uses/cargo.mk ../../Mk/bsd.gecko.mk portedit set-version -i "${version}" . -make makesum portedit set-version -i "${version}" ../rust-bootstrap + +make makesum make -C ../rust-bootstrap makesum echo "lang/rust: Update to ${version}