aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Kortkamp <tobik@FreeBSD.org>2021-11-30 12:54:55 +0000
committerTobias Kortkamp <tobik@FreeBSD.org>2021-12-05 12:35:41 +0000
commit237b36fa2e73986dc19284686e80a47cb329bb6f (patch)
treeabc3279705b006763706536c7330abed816a4690
parentca42ce1e88303283ca74cbea21f224d6d45f0f6b (diff)
downloadports-237b36fa2e73986dc19284686e80a47cb329bb6f.tar.gz
ports-237b36fa2e73986dc19284686e80a47cb329bb6f.zip
lang/rust: Update to 1.57.0
- Unbreak build with LibreSSL 3.4.x [0] - Disable backtrace's libunwind backend on armv* since it or libunwind in base seem to be buggy and cause rustc to crash when building some consumers [1] - Follow rust-nightly in d5f09dc31fcfdb77b69c86b9093bf67ec67653d9 and reenable hardlinks in the build Changes: https://blog.rust-lang.org/2021/12/02/Rust-1.57.0.html PR: 259738 [0] PR: 259799 [1] PR: 260140 Exp-run by: antoine Differential Revision: https://reviews.freebsd.org/D33190 With hat: rust
-rw-r--r--Mk/Uses/cargo.mk2
-rw-r--r--Mk/bsd.gecko.mk2
-rw-r--r--lang/rust-bootstrap/Makefile2
-rw-r--r--lang/rust-bootstrap/distinfo6
-rw-r--r--lang/rust/Makefile9
-rw-r--r--lang/rust/distinfo114
-rw-r--r--lang/rust/files/no-hardlinks/patch-src_bootstrap_lib.rs (renamed from lang/rust/files/patch-src_bootstrap_lib.rs)0
-rw-r--r--lang/rust/files/no-hardlinks/patch-src_bootstrap_native.rs (renamed from lang/rust/files/patch-src_bootstrap_native.rs)0
-rw-r--r--lang/rust/files/patch-library_backtrace_src_backtrace_mod.rs10
-rw-r--r--lang/rust/files/patch-vendor_cc-1.0.69_src_lib.rs38
-rw-r--r--lang/rust/files/patch-vendor_openssl-sys_build_main.rs19
-rw-r--r--lang/rust/update.sh31
12 files changed, 144 insertions, 89 deletions
diff --git a/Mk/Uses/cargo.mk b/Mk/Uses/cargo.mk
index 89e0d0704013..1636f2da320f 100644
--- a/Mk/Uses/cargo.mk
+++ b/Mk/Uses/cargo.mk
@@ -97,7 +97,7 @@ WRKSRC_crate_${_crate}= ${WRKDIR}/${_wrksrc}
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)
diff --git a/Mk/bsd.gecko.mk b/Mk/bsd.gecko.mk
index b4500564c0ce..e875a09d7244 100644
--- a/Mk/bsd.gecko.mk
+++ b/Mk/bsd.gecko.mk
@@ -76,7 +76,7 @@ BUNDLE_LIBS= yes
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
diff --git a/lang/rust-bootstrap/Makefile b/lang/rust-bootstrap/Makefile
index d5d0f3a2c3d2..f8e7869e9e39 100644
--- a/lang/rust-bootstrap/Makefile
+++ b/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}-
diff --git a/lang/rust-bootstrap/distinfo b/lang/rust-bootstrap/distinfo
index d00057677234..6080a9d6b614 100644
--- a/lang/rust-bootstrap/distinfo
+++ b/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
diff --git a/lang/rust/Makefile b/lang/rust/Makefile
index fd1f85d6f42f..9b5f0cc0927f 100644
--- a/lang/rust/Makefile
+++ b/lang/rust/Makefile
@@ -1,7 +1,7 @@
# Created by: Jyun-Yan You <jyyou@cs.nctu.edu.tw>
PORTNAME= rust
-PORTVERSION?= 1.56.0
+PORTVERSION?= 1.57.0
PORTREVISION?= 0
CATEGORIES= lang
MASTER_SITES= https://static.rust-lang.org/dist/:src \
@@ -37,6 +37,7 @@ USES= cpe ninja:build pkgconfig python:3.6+,build ssl tar:xz
CPE_VENDOR= rust-lang
MAKE_ENV= DESTDIR=${STAGEDIR} \
+ LIBGIT2_NO_PKG_CONFIG=1 \
OPENSSL_DIR="${OPENSSLBASE}" \
RUST_BACKTRACE=1
TEST_ENV= ${MAKE_ENV} \
@@ -66,9 +67,9 @@ WASM_VARS= _RUST_BUILD_WASM=true \
_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}
diff --git a/lang/rust/distinfo b/lang/rust/distinfo
index 5d3d2a69ccd6..ec6a829367ad 100644
--- a/lang/rust/distinfo
+++ b/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
diff --git a/lang/rust/files/patch-src_bootstrap_lib.rs b/lang/rust/files/no-hardlinks/patch-src_bootstrap_lib.rs
index 081c2056ad2c..081c2056ad2c 100644
--- a/lang/rust/files/patch-src_bootstrap_lib.rs
+++ b/lang/rust/files/no-hardlinks/patch-src_bootstrap_lib.rs
diff --git a/lang/rust/files/patch-src_bootstrap_native.rs b/lang/rust/files/no-hardlinks/patch-src_bootstrap_native.rs
index 18a334c6b76c..18a334c6b76c 100644
--- a/lang/rust/files/patch-src_bootstrap_native.rs
+++ b/lang/rust/files/no-hardlinks/patch-src_bootstrap_native.rs
diff --git a/lang/rust/files/patch-library_backtrace_src_backtrace_mod.rs b/lang/rust/files/patch-library_backtrace_src_backtrace_mod.rs
new file mode 100644
index 000000000000..3c0a3238824f
--- /dev/null
+++ b/lang/rust/files/patch-library_backtrace_src_backtrace_mod.rs
@@ -0,0 +1,10 @@
+--- library/backtrace/src/backtrace/mod.rs.orig 2021-11-10 18:42:11 UTC
++++ library/backtrace/src/backtrace/mod.rs
+@@ -138,6 +138,7 @@ cfg_if::cfg_if! {
+ unix,
+ not(target_os = "emscripten"),
+ not(all(target_os = "ios", target_arch = "arm")),
++ not(all(target_os = "freebsd", target_arch = "arm")),
+ ),
+ all(
+ target_env = "sgx",
diff --git a/lang/rust/files/patch-vendor_cc-1.0.69_src_lib.rs b/lang/rust/files/patch-vendor_cc-1.0.69_src_lib.rs
new file mode 100644
index 000000000000..1027757e0c34
--- /dev/null
+++ b/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,
diff --git a/lang/rust/files/patch-vendor_openssl-sys_build_main.rs b/lang/rust/files/patch-vendor_openssl-sys_build_main.rs
new file mode 100644
index 000000000000..547703bdc469
--- /dev/null
+++ b/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.
+
+ "
diff --git a/lang/rust/update.sh b/lang/rust/update.sh
index 030ba5888a36..a2cf1ec8f3fa 100644
--- a/lang/rust/update.sh
+++ b/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=$(</tmp/channel-rust-stable.toml awk '
-$1 == "[pkg.rustc]" { pkg_rustc = 1 }
-pkg_rustc && $1 == "version" {
- print substr($3, 2, length($3) - 1)
- exit
-}')
-new_commit=$(</tmp/channel-rust-stable.toml get_commit)
+version=$(</tmp/channel-rust-stable.toml tomlq -r '.pkg.rustc.version | split(" ")[0]')
+new_commit=$(</tmp/channel-rust-stable.toml tomlq -r '.pkg.rustc.git_commit_hash')
rm /tmp/channel-rust-stable.toml
-fetch -qo - https://raw.githubusercontent.com/rust-lang/rust/${new_commit}/src/stage0.txt | awk '
-$1 == "date:" { date = $2 }
-$1 == "rustc:" { rustc = $2 }
-END { printf("BOOTSTRAPS_DATE=%s\nRUST_BOOTSTRAP_VERSION=%s\n", date, rustc) }' | portedit merge -i .
+fetch -qo - https://raw.githubusercontent.com/rust-lang/rust/${new_commit}/src/stage0.json | jq -r '
+ "BOOTSTRAPS_DATE=\(.compiler.date)",
+ "RUST_BOOTSTRAP_VERSION=\(.compiler.version)"
+' | portedit merge -i .
sed -i '' -E -e "s,(\\$\\{RUST_DEFAULT\\}>=).*(: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}