Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Sep 2021 09:15:57 GMT
From:      Tobias Kortkamp <tobik@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 6f1fefb50e75 - main - lang/rust: Update to 1.55.0
Message-ID:  <202109190915.18J9FvAv009425@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by tobik:

URL: https://cgit.FreeBSD.org/ports/commit/?id=6f1fefb50e755d727f471aeb75ebe4e28f876b4b

commit 6f1fefb50e755d727f471aeb75ebe4e28f876b4b
Author:     Tobias Kortkamp <tobik@FreeBSD.org>
AuthorDate: 2021-09-07 08:14:14 +0000
Commit:     Tobias Kortkamp <tobik@FreeBSD.org>
CommitDate: 2021-09-19 09:03:21 +0000

    lang/rust: Update to 1.55.0
    
    - Set codegen-units=1 [1]
    - Add hack to skip cargo update on git sources as a step towards solving [2]
    - Fix 'capacity overflow' panics on armv* [3]
    
    Changes:        https://blog.rust-lang.org/2021-09-09/Rust-1.55.0.html
    PR:             258337
    PR:             256099 [1]
    PR:             256581 [2]
    PR:             257419 [3]
    Reviewed by:    mikael, pkubaj
    Exp-run by:     antoine
    Differential Revision:  https://reviews.freebsd.org/D31872
    With hat:       rust
---
 Mk/Uses/cargo.mk                                   |   2 +-
 Mk/bsd.gecko.mk                                    |   2 +-
 lang/rust-bootstrap/Makefile                       |   8 +-
 lang/rust-bootstrap/distinfo                       |   6 +-
 lang/rust/Makefile                                 |  12 +--
 lang/rust/distinfo                                 | 114 ++++++++++-----------
 ...m-project_compiler-rt_lib_builtins_cpu__model.c |  21 ++--
 ...src_tools_cargo_src_cargo_sources_git_source.rs |  45 ++++++++
 ...atch-src_tools_cargo_src_cargo_util_toml_mod.rs |  22 ++++
 .../files/patch-vendor_openssl-sys_build_main.rs   |  19 ----
 ...or_libc_src_unix_bsd_freebsdlike_freebsd_mod.rs |  12 ---
 ...ibc_src_unix_bsd_freebsdlike_freebsd_powerpc.rs |  50 ---------
 .../powerpc64-elfv1/patch-src_bootstrap_native.rs  |  10 +-
 .../patch-compiler_rustc__target_src_spec_mod.rs   |  10 --
 ...arget_src_spec_powerpc64le__unknown__freebsd.rs |  19 ----
 15 files changed, 154 insertions(+), 198 deletions(-)

diff --git a/Mk/Uses/cargo.mk b/Mk/Uses/cargo.mk
index bd9c49b5c37d..987818215665 100644
--- a/Mk/Uses/cargo.mk
+++ b/Mk/Uses/cargo.mk
@@ -60,7 +60,7 @@ DISTFILES+=	${CARGO_DIST_SUBDIR}/${_crate}${CARGO_CRATE_EXT}:_cargo_${_index}
 
 CARGO_BUILDDEP?=	yes
 .if ${CARGO_BUILDDEP:tl} == "yes"
-BUILD_DEPENDS+=	${RUST_DEFAULT}>=1.54.0:lang/${RUST_DEFAULT}
+BUILD_DEPENDS+=	${RUST_DEFAULT}>=1.55.0:lang/${RUST_DEFAULT}
 .endif
 
 # Location of cargo binary (default to lang/rust's Cargo binary)
diff --git a/Mk/bsd.gecko.mk b/Mk/bsd.gecko.mk
index 85666282f2e7..47c882bc9d1b 100644
--- a/Mk/bsd.gecko.mk
+++ b/Mk/bsd.gecko.mk
@@ -79,7 +79,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.54.0:lang/${RUST_DEFAULT} \
+				${RUST_DEFAULT}>=1.55.0:lang/${RUST_DEFAULT} \
 				node:www/node
 LIB_DEPENDS+=	libdrm.so:graphics/libdrm
 .if ${MOZILLA_VER:R:R} >= 85
diff --git a/lang/rust-bootstrap/Makefile b/lang/rust-bootstrap/Makefile
index cd8a411b165b..76c7b3050f36 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.54.0
+PORTVERSION=	1.55.0
 CATEGORIES=	lang
 MASTER_SITES=	https://static.rust-lang.org/dist/:rust \
 		LOCAL/tobik/rust:${FLAVOR} \
@@ -34,7 +34,6 @@ FLAVORS=	aarch64 amd64 armv6 armv7 i386 powerpc64_elfv1 powerpc64_elfv2 \
 FLAVOR?=	${FLAVORS:[1]}
 
 aarch64_PKGNAMEPREFIX=		aarch64-
-aarch64_BUILD_DEPENDS=		llvm90>0:devel/llvm90
 amd64_PKGNAMEPREFIX=		amd64-
 armv6_PKGNAMEPREFIX=		armv6-
 armv7_PKGNAMEPREFIX=		armv7-
@@ -52,10 +51,6 @@ USE_GCC=	9:build
 .endif
 # for openssl-src crate
 USE_PERL5=	build
-.if ${FLAVOR} == aarch64
-CC=		clang90
-CXX=		clang++90
-.endif
 PATCHDIR=	${.CURDIR}/../rust/files
 # rustc stashes intermediary files in TMPDIR (default /tmp) which
 # might cause issues for users that for some reason space limit
@@ -112,6 +107,7 @@ _RUST_LLVM_TARGET_powerpc64_elfv2=	PowerPC
 _RUST_LLVM_TARGET_powerpc64le=		PowerPC
 _RUST_LLVM_TARGET_powerpc=		PowerPC
 _RUST_LLVM_TRIPLE=			${_RUST_LLVM_TRIPLE_${FLAVOR}:U${_RUST_TARGET}}
+_RUST_LLVM_TRIPLE_aarch64=		aarch64-unknown-freebsd12.0
 _RUST_LLVM_TRIPLE_armv6=		armv6-gnueabihf-freebsd
 _RUST_LLVM_TRIPLE_armv7=		armv7-gnueabihf-freebsd
 _RUST_LLVM_TRIPLE_powerpc=		powerpc-unknown-freebsd13.0 # secure-plt
diff --git a/lang/rust-bootstrap/distinfo b/lang/rust-bootstrap/distinfo
index 1e7b681bd809..1e004183dca8 100644
--- a/lang/rust-bootstrap/distinfo
+++ b/lang/rust-bootstrap/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1629292342
-SHA256 (rust/rustc-1.54.0-src.tar.xz) = a2934f85f76a35a3796c0fefd31e91f5b6dd8377cd8c3769c1c10e7ce7a495f4
-SIZE (rust/rustc-1.54.0-src.tar.xz) = 116286856
+TIMESTAMP = 1631002417
+SHA256 (rust/rustc-1.55.0-src.tar.xz) = aec85a7c1f40b7a40818a58ae13632f8a12cfaa4d3e2a10957d0e9d16dfdd556
+SIZE (rust/rustc-1.55.0-src.tar.xz) = 117197580
 SHA256 (rust/bootstrap/FreeBSD-12.2-RELEASE-arm64.tar.xz) = 3f82224fbcc6b2a2e1a1358cec5f32c0a08b5c5e6796e1a998369eb624a11cf3
 SIZE (rust/bootstrap/FreeBSD-12.2-RELEASE-arm64.tar.xz) = 158493712
 SHA256 (rust/bootstrap/FreeBSD-11.4-RELEASE-amd64.tar.xz) = 3bac8257bdd5e5b071f7b80cc591ebecd01b9314ca7839a2903096cbf82169f9
diff --git a/lang/rust/Makefile b/lang/rust/Makefile
index da3b0ae3ebba..c6815b26b515 100644
--- a/lang/rust/Makefile
+++ b/lang/rust/Makefile
@@ -1,8 +1,8 @@
 # Created by: Jyun-Yan You <jyyou@cs.nctu.edu.tw>
 
 PORTNAME=	rust
-PORTVERSION?=	1.54.0
-PORTREVISION?=	2
+PORTVERSION?=	1.55.0
+PORTREVISION?=	0
 CATEGORIES=	lang
 MASTER_SITES=	https://static.rust-lang.org/dist/:src \
 		https://dev-static.rust-lang.org/dist/:src \
@@ -68,8 +68,10 @@ WASM_VARS=		_RUST_BUILD_WASM=true \
 WASM_VARS_OFF=		_RUST_BUILD_WASM=false
 
 # See WRKSRC/src/stage0.txt for the date and version values.
-BOOTSTRAPS_DATE?=		2021-06-17
-RUST_BOOTSTRAP_VERSION?=	1.53.0
+BOOTSTRAPS_DATE?=			2021-07-29
+BOOTSTRAPS_DATE_powerpc?=		2021-09-09
+RUST_BOOTSTRAP_VERSION?=		1.54.0
+RUST_BOOTSTRAP_VERSION_powerpc?=	1.55.0
 
 BOOTSTRAPS_SUFFIX?=		${BOOTSTRAPS_SUFFIX_${ARCH}}
 BOOTSTRAPS_SUFFIX_powerpc64?=	-${PPC_ABI:tl}
@@ -173,9 +175,7 @@ do-configure:
 	@${ECHO_CMD} 'sysconfdir="${PREFIX}/etc"' >> ${WRKSRC}/config.toml
 	@${ECHO_CMD} '[rust]' >> ${WRKSRC}/config.toml
 	@${ECHO_CMD} 'channel="${PKGNAMESUFFIX:Ustable:S/^-//}"' >> ${WRKSRC}/config.toml
-.if defined(NIGHTLY_DATE)
 	@${ECHO_CMD} 'codegen-units=1' >> ${WRKSRC}/config.toml
-.endif
 	@${ECHO_CMD} 'default-linker="${CC}"' >> ${WRKSRC}/config.toml
 	@${ECHO_CMD} 'deny-warnings=false' >> ${WRKSRC}/config.toml
 	@${ECHO_CMD} 'verbose-tests=true' >> ${WRKSRC}/config.toml
diff --git a/lang/rust/distinfo b/lang/rust/distinfo
index 68bb36c9db71..80bfe71ca0c9 100644
--- a/lang/rust/distinfo
+++ b/lang/rust/distinfo
@@ -1,57 +1,57 @@
-TIMESTAMP = 1629292249
-SHA256 (rust/rustc-1.54.0-src.tar.xz) = a2934f85f76a35a3796c0fefd31e91f5b6dd8377cd8c3769c1c10e7ce7a495f4
-SIZE (rust/rustc-1.54.0-src.tar.xz) = 116286856
-SHA256 (rust/2021-06-17/rustc-1.53.0-aarch64-unknown-freebsd.tar.xz) = e34bc2850c1e76cc8e0e5dda656694f2e2e6284f66e93fc5cb2479ba8b1cccbb
-SIZE (rust/2021-06-17/rustc-1.53.0-aarch64-unknown-freebsd.tar.xz) = 45271048
-SHA256 (rust/2021-06-17/rust-std-1.53.0-aarch64-unknown-freebsd.tar.xz) = a035ef383a9122e9cc30ba5975bbecc7cd6a134b9b8380bab2a18a8eeac399f7
-SIZE (rust/2021-06-17/rust-std-1.53.0-aarch64-unknown-freebsd.tar.xz) = 17196428
-SHA256 (rust/2021-06-17/cargo-1.53.0-aarch64-unknown-freebsd.tar.xz) = e96ccd334ebbb679ac1f2da6e09b28c68b82661c2159e3b9190719359e0ec4f7
-SIZE (rust/2021-06-17/cargo-1.53.0-aarch64-unknown-freebsd.tar.xz) = 4401588
-SHA256 (rust/2021-06-17/rustc-1.53.0-x86_64-unknown-freebsd.tar.xz) = 853010d8748f4851b394898888d99a89805f74bb9476ee729b89b4b6e3d8a009
-SIZE (rust/2021-06-17/rustc-1.53.0-x86_64-unknown-freebsd.tar.xz) = 40967620
-SHA256 (rust/2021-06-17/rust-std-1.53.0-x86_64-unknown-freebsd.tar.xz) = 84a6ae0cc5da6490c0423c7cd5066c8de6957e9e6e6f272a7b23469f306d1857
-SIZE (rust/2021-06-17/rust-std-1.53.0-x86_64-unknown-freebsd.tar.xz) = 22646668
-SHA256 (rust/2021-06-17/cargo-1.53.0-x86_64-unknown-freebsd.tar.xz) = ad9501ba9511813d135eb7f803f75b59497f02ecb04e3d44674d43782326d70f
-SIZE (rust/2021-06-17/cargo-1.53.0-x86_64-unknown-freebsd.tar.xz) = 5155176
-SHA256 (rust/2021-06-17/rustc-1.53.0-armv6-unknown-freebsd.tar.xz) = 6a519885a99a7852c6cfbce7432235ddcd76c2ecd4c7d41f2bd0ab6e5decd9e4
-SIZE (rust/2021-06-17/rustc-1.53.0-armv6-unknown-freebsd.tar.xz) = 46405940
-SHA256 (rust/2021-06-17/rust-std-1.53.0-armv6-unknown-freebsd.tar.xz) = 854d6bab840963326cbc96a2595a13d330a49b74661f3494398558b27c21315f
-SIZE (rust/2021-06-17/rust-std-1.53.0-armv6-unknown-freebsd.tar.xz) = 17134736
-SHA256 (rust/2021-06-17/cargo-1.53.0-armv6-unknown-freebsd.tar.xz) = 82f1c9f977a22d245a399fb901e35e3ae1aa78ccd20652aad0a568709316ce4d
-SIZE (rust/2021-06-17/cargo-1.53.0-armv6-unknown-freebsd.tar.xz) = 4544880
-SHA256 (rust/2021-06-17/rustc-1.53.0-armv7-unknown-freebsd.tar.xz) = e784383ae7ce49c568d75d02c4c858d984c6a521acfa54d1003ae645b72a7686
-SIZE (rust/2021-06-17/rustc-1.53.0-armv7-unknown-freebsd.tar.xz) = 46399456
-SHA256 (rust/2021-06-17/rust-std-1.53.0-armv7-unknown-freebsd.tar.xz) = d1542d274cfb0b8d6c1b29bb93d748fad0199dcb9110d90d0f3d2d69afa26d5f
-SIZE (rust/2021-06-17/rust-std-1.53.0-armv7-unknown-freebsd.tar.xz) = 17304176
-SHA256 (rust/2021-06-17/cargo-1.53.0-armv7-unknown-freebsd.tar.xz) = 55b0c7d619785ea8873b77a018a610f03b06f911f3051addceee49482fe7e4cb
-SIZE (rust/2021-06-17/cargo-1.53.0-armv7-unknown-freebsd.tar.xz) = 4533940
-SHA256 (rust/2021-06-17/rustc-1.53.0-i686-unknown-freebsd.tar.xz) = 7539cbbc6c0066ebace7aada572020f899f830cc247864e77c7c15d739077c8a
-SIZE (rust/2021-06-17/rustc-1.53.0-i686-unknown-freebsd.tar.xz) = 48599256
-SHA256 (rust/2021-06-17/rust-std-1.53.0-i686-unknown-freebsd.tar.xz) = b2a47cfbe9cec9b3e91abd9bcb8df9d8bf67f790dd73e60d9cca43502dff4402
-SIZE (rust/2021-06-17/rust-std-1.53.0-i686-unknown-freebsd.tar.xz) = 22529204
-SHA256 (rust/2021-06-17/cargo-1.53.0-i686-unknown-freebsd.tar.xz) = 7e6cd0c5c02b0168d77f93d2564dc204141b70e1c883eb86b6c57743b0595c36
-SIZE (rust/2021-06-17/cargo-1.53.0-i686-unknown-freebsd.tar.xz) = 5205264
-SHA256 (rust/2021-06-17/rustc-1.53.0-powerpc-unknown-freebsd.tar.xz) = 6b8b3b715dfe97cab4ef0791d75dfdbdf50dacaeff4010751d035b3deda83150
-SIZE (rust/2021-06-17/rustc-1.53.0-powerpc-unknown-freebsd.tar.xz) = 47256744
-SHA256 (rust/2021-06-17/rust-std-1.53.0-powerpc-unknown-freebsd.tar.xz) = 450463c4063d5a82c0d8ee73cae4de8e855ff76f53c8a1cf3ed04b8615d38e74
-SIZE (rust/2021-06-17/rust-std-1.53.0-powerpc-unknown-freebsd.tar.xz) = 16767420
-SHA256 (rust/2021-06-17/cargo-1.53.0-powerpc-unknown-freebsd.tar.xz) = 029392eabed33aadf6294e4f1d42ecf8226e187a4873242a791bfcf5e6844ef3
-SIZE (rust/2021-06-17/cargo-1.53.0-powerpc-unknown-freebsd.tar.xz) = 4949280
-SHA256 (rust/2021-06-17/rustc-1.53.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 8d03cc993c0b799b66517ae11f050830f25b7a93a4c337b1bf4ffcad0d9099fe
-SIZE (rust/2021-06-17/rustc-1.53.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 55399432
-SHA256 (rust/2021-06-17/rust-std-1.53.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 284b8849990df55c540b86f46d306af1960f364b263f1474ecc317f7a741f6bd
-SIZE (rust/2021-06-17/rust-std-1.53.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 16998160
-SHA256 (rust/2021-06-17/cargo-1.53.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = e1fb85decdcc10317fff06ccf350b5a57303dcd719df50979f38447b7020ca1f
-SIZE (rust/2021-06-17/cargo-1.53.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 5016992
-SHA256 (rust/2021-06-17/rustc-1.53.0-powerpc64le-unknown-freebsd.tar.xz) = 5a32604c1c3bcb64919ed11db4b5cbb6cef5aea54d4e7f35fad445220f5dbfa6
-SIZE (rust/2021-06-17/rustc-1.53.0-powerpc64le-unknown-freebsd.tar.xz) = 48344072
-SHA256 (rust/2021-06-17/rust-std-1.53.0-powerpc64le-unknown-freebsd.tar.xz) = 8cdf9cf3be93494649d250a222dd4a8db6867a679f1c110dfe92bd9f2b761535
-SIZE (rust/2021-06-17/rust-std-1.53.0-powerpc64le-unknown-freebsd.tar.xz) = 17106944
-SHA256 (rust/2021-06-17/cargo-1.53.0-powerpc64le-unknown-freebsd.tar.xz) = 8665168eea8b04ee983de7ced7f7c6a3e88ec136561a0a8c89355ed3d55365dc
-SIZE (rust/2021-06-17/cargo-1.53.0-powerpc64le-unknown-freebsd.tar.xz) = 4969784
-SHA256 (rust/2021-06-17/rustc-1.53.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 0df88d458b36bd5b7684b222ec555eb9a26db23f6355ec2034314f63a711c8de
-SIZE (rust/2021-06-17/rustc-1.53.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 46170144
-SHA256 (rust/2021-06-17/rust-std-1.53.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 3728222329ca5175a2c58043893db99f6ae52a69ce79a8dd531d10a75cad01be
-SIZE (rust/2021-06-17/rust-std-1.53.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 17010544
-SHA256 (rust/2021-06-17/cargo-1.53.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 4ff53b2649df6d6f449ff4be81b5e6ccbf8a1ae6b0a6ce70767547ef7e2e45c7
-SIZE (rust/2021-06-17/cargo-1.53.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 4710772
+TIMESTAMP = 1631724657
+SHA256 (rust/rustc-1.55.0-src.tar.xz) = aec85a7c1f40b7a40818a58ae13632f8a12cfaa4d3e2a10957d0e9d16dfdd556
+SIZE (rust/rustc-1.55.0-src.tar.xz) = 117197580
+SHA256 (rust/2021-07-29/rustc-1.54.0-aarch64-unknown-freebsd.tar.xz) = 56efb59e3f7147d0c9ee2bb471737e5779cb1ea5e73234a64dc6291e666e49a3
+SIZE (rust/2021-07-29/rustc-1.54.0-aarch64-unknown-freebsd.tar.xz) = 46151160
+SHA256 (rust/2021-07-29/rust-std-1.54.0-aarch64-unknown-freebsd.tar.xz) = 9fa671383ab60de43df07e08c0b0615854e769be6dc8cacafbb1fd518aba3ea7
+SIZE (rust/2021-07-29/rust-std-1.54.0-aarch64-unknown-freebsd.tar.xz) = 18330268
+SHA256 (rust/2021-07-29/cargo-1.54.0-aarch64-unknown-freebsd.tar.xz) = c3de6774bfdad350d378e33ff1b8798018656aae7f5d07a2db4863527c580adb
+SIZE (rust/2021-07-29/cargo-1.54.0-aarch64-unknown-freebsd.tar.xz) = 4403188
+SHA256 (rust/2021-07-29/rustc-1.54.0-x86_64-unknown-freebsd.tar.xz) = 5a8ad87eac3c0b829f2c7a9b29a5f06cff07523fd2ea95e9cdb30df997b905ab
+SIZE (rust/2021-07-29/rustc-1.54.0-x86_64-unknown-freebsd.tar.xz) = 41303952
+SHA256 (rust/2021-07-29/rust-std-1.54.0-x86_64-unknown-freebsd.tar.xz) = 7735c8fc42be576cb8decbce68ce57ba585213f2d7ae3d87cc1c2504202ef2f2
+SIZE (rust/2021-07-29/rust-std-1.54.0-x86_64-unknown-freebsd.tar.xz) = 19183104
+SHA256 (rust/2021-07-29/cargo-1.54.0-x86_64-unknown-freebsd.tar.xz) = 397d2b9698c19b5777a88e72a900ea2ab2b3e44574beecb952509fff28da306e
+SIZE (rust/2021-07-29/cargo-1.54.0-x86_64-unknown-freebsd.tar.xz) = 5142356
+SHA256 (rust/2021-07-29/rustc-1.54.0-armv6-unknown-freebsd.tar.xz) = 2f59d74563a8c4009de3a8a34772d42d9e101985ba6901fe9eec6e602a70e7fa
+SIZE (rust/2021-07-29/rustc-1.54.0-armv6-unknown-freebsd.tar.xz) = 46926436
+SHA256 (rust/2021-07-29/rust-std-1.54.0-armv6-unknown-freebsd.tar.xz) = f4897bd301f9e52047084ce86825129c8d6325a6e18ff41acfc83a4ea3099983
+SIZE (rust/2021-07-29/rust-std-1.54.0-armv6-unknown-freebsd.tar.xz) = 17622324
+SHA256 (rust/2021-07-29/cargo-1.54.0-armv6-unknown-freebsd.tar.xz) = 50052a2f091bf767a4de94abc65a517ad925bd3242493c19d43d9d63304828dd
+SIZE (rust/2021-07-29/cargo-1.54.0-armv6-unknown-freebsd.tar.xz) = 4551464
+SHA256 (rust/2021-07-29/rustc-1.54.0-armv7-unknown-freebsd.tar.xz) = 3927fc48020b3b94bdbaf160720664b4a6cdeb6f96b3415d7026326873e20368
+SIZE (rust/2021-07-29/rustc-1.54.0-armv7-unknown-freebsd.tar.xz) = 46448620
+SHA256 (rust/2021-07-29/rust-std-1.54.0-armv7-unknown-freebsd.tar.xz) = bc80b15a9ba60c66250d1b31fb610941205b3a2d2787021a5bdb96e667b28d45
+SIZE (rust/2021-07-29/rust-std-1.54.0-armv7-unknown-freebsd.tar.xz) = 18206828
+SHA256 (rust/2021-07-29/cargo-1.54.0-armv7-unknown-freebsd.tar.xz) = b0d89e13cc35a943ba3da5de5247d97d6b3dac0abcd331736bc9176e413e8eee
+SIZE (rust/2021-07-29/cargo-1.54.0-armv7-unknown-freebsd.tar.xz) = 4542272
+SHA256 (rust/2021-07-29/rustc-1.54.0-i686-unknown-freebsd.tar.xz) = 6cf57c022f8f8ca41ce89ef5497d0dda7d371293be7ee4e5dccb3675ea9f72fc
+SIZE (rust/2021-07-29/rustc-1.54.0-i686-unknown-freebsd.tar.xz) = 49120788
+SHA256 (rust/2021-07-29/rust-std-1.54.0-i686-unknown-freebsd.tar.xz) = fcb2575667eaf5c1a1bd96fbd544f7d79704faae90eadcdec9229119abfdbf28
+SIZE (rust/2021-07-29/rust-std-1.54.0-i686-unknown-freebsd.tar.xz) = 19086512
+SHA256 (rust/2021-07-29/cargo-1.54.0-i686-unknown-freebsd.tar.xz) = c0fc5501eaea33ec266d1c0fa21c1fb5075896091f54fed4b70ad850836a12d7
+SIZE (rust/2021-07-29/cargo-1.54.0-i686-unknown-freebsd.tar.xz) = 5219840
+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-07-29/rustc-1.54.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = e8e053a8342f57ddbfbb3f4c214f36c00fdccbf0b2df606deb3bad1549b763c0
+SIZE (rust/2021-07-29/rustc-1.54.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 55871324
+SHA256 (rust/2021-07-29/rust-std-1.54.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = bcbf8d84580446a715ba398778f56e437d97f62ce30c8c4c59140eb8b597fff7
+SIZE (rust/2021-07-29/rust-std-1.54.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 17444940
+SHA256 (rust/2021-07-29/cargo-1.54.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 149aa51d0abcbe8774438a016df30707c58dab0fd2d788d726db209259163292
+SIZE (rust/2021-07-29/cargo-1.54.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 5025436
+SHA256 (rust/2021-07-29/rustc-1.54.0-powerpc64le-unknown-freebsd.tar.xz) = 77b45e9b81827a2aa5a70902d1529c5f44e29c176365d2ac8d66a0a0c9e2dd64
+SIZE (rust/2021-07-29/rustc-1.54.0-powerpc64le-unknown-freebsd.tar.xz) = 49194104
+SHA256 (rust/2021-07-29/rust-std-1.54.0-powerpc64le-unknown-freebsd.tar.xz) = f0442fd38bdd40e547989a897826dc0536b98cccec6f62e6e24aaab03e87733f
+SIZE (rust/2021-07-29/rust-std-1.54.0-powerpc64le-unknown-freebsd.tar.xz) = 17547780
+SHA256 (rust/2021-07-29/cargo-1.54.0-powerpc64le-unknown-freebsd.tar.xz) = 3336d8516385817977129bc287df36adb3f750da906c7fb6d3cd490795acbd69
+SIZE (rust/2021-07-29/cargo-1.54.0-powerpc64le-unknown-freebsd.tar.xz) = 4956324
+SHA256 (rust/2021-07-29/rustc-1.54.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 5d1e6e16d853ac6a2f724c556f613201a6e156da079f85d1e9f4c06feee63a10
+SIZE (rust/2021-07-29/rustc-1.54.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 47172304
+SHA256 (rust/2021-07-29/rust-std-1.54.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 6fd90639d63bce2af5240334387194117c4c78442227f90870d27ec11c29c7e2
+SIZE (rust/2021-07-29/rust-std-1.54.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 17413108
+SHA256 (rust/2021-07-29/cargo-1.54.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = bdc28cc18eb4118faaa952e89c39d6113bf1d30b8b750bd8bd52f1827a6936cd
+SIZE (rust/2021-07-29/cargo-1.54.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 4714772
diff --git a/lang/rust/files/patch-src_llvm-project_compiler-rt_lib_builtins_cpu__model.c b/lang/rust/files/patch-src_llvm-project_compiler-rt_lib_builtins_cpu__model.c
index b58648815199..714cb844ceb4 100644
--- a/lang/rust/files/patch-src_llvm-project_compiler-rt_lib_builtins_cpu__model.c
+++ b/lang/rust/files/patch-src_llvm-project_compiler-rt_lib_builtins_cpu__model.c
@@ -1,16 +1,19 @@
---- src/llvm-project/compiler-rt/lib/builtins/cpu_model.c.orig	2021-05-22 10:27:43 UTC
+https://reviews.llvm.org/D109330
+
+--- src/llvm-project/compiler-rt/lib/builtins/cpu_model.c.orig	2021-07-12 08:53:30 UTC
 +++ src/llvm-project/compiler-rt/lib/builtins/cpu_model.c
-@@ -775,7 +775,12 @@ _Bool __aarch64_have_lse_atomics
+@@ -775,8 +775,14 @@ _Bool __aarch64_have_lse_atomics
  #define HWCAP_ATOMICS (1 << 8)
  #endif
  static void CONSTRUCTOR_ATTRIBUTE init_have_lse_atomics(void) {
--  unsigned long hwcap = getauxval(AT_HWCAP);
-+  unsigned long hwcap = 0;
-+#if defined(__linux__)
-+  hwcap = getauxval(AT_HWCAP);
-+#elif defined(__FreeBSD__)
-+  elf_aux_info(AT_HWCAP, &hwcap, sizeof(unsigned long));
-+#endif
++#if defined(__FreeBSD__)
++  unsigned long hwcap;
++  int result = elf_aux_info(AT_HWCAP, &hwcap, sizeof hwcap);
++  __aarch64_have_lse_atomics = result == 0 && (hwcap & HWCAP_ATOMICS) != 0;
++#else
+   unsigned long hwcap = getauxval(AT_HWCAP);
    __aarch64_have_lse_atomics = (hwcap & HWCAP_ATOMICS) != 0;
++#endif
  }
  #endif // defined(__has_include)
+ #endif // __has_include(<sys/auxv.h>)
diff --git a/lang/rust/files/patch-src_tools_cargo_src_cargo_sources_git_source.rs b/lang/rust/files/patch-src_tools_cargo_src_cargo_sources_git_source.rs
new file mode 100644
index 000000000000..90312d1fb270
--- /dev/null
+++ b/lang/rust/files/patch-src_tools_cargo_src_cargo_sources_git_source.rs
@@ -0,0 +1,45 @@
+We run cargo update during USES=cargo ports builds to update specific
+crates and patch Cargo.lock for us.  For normal crates this is based
+on what's available in the vendor dir.  For Git sources this pulls
+new changes from the net instead even if we replace the source with
+a static path in a patch section in the config file.  Add a hack
+to skip this.
+
+This is for experimentation to solve [1].  For this to maybe be
+useful for USES=cargo, the patch-in-config feature also needs to
+be stabilized first.  It will be available in Rust 1.56.
+
+[1] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=256581
+
+--- src/tools/cargo/src/cargo/sources/git/source.rs.orig	2021-09-06 18:42:51 UTC
++++ src/tools/cargo/src/cargo/sources/git/source.rs
+@@ -84,6 +84,9 @@ impl<'cfg> Debug for GitSource<'cfg> {
+ 
+ impl<'cfg> Source for GitSource<'cfg> {
+     fn query(&mut self, dep: &Dependency, f: &mut dyn FnMut(Summary)) -> CargoResult<()> {
++        if std::env::var("CARGO_FREEBSD_PORTS_SKIP_GIT_UPDATE").is_ok() {
++            return Ok(());
++        }
+         let src = self
+             .path_source
+             .as_mut()
+@@ -92,6 +95,9 @@ impl<'cfg> Source for GitSource<'cfg> {
+     }
+ 
+     fn fuzzy_query(&mut self, dep: &Dependency, f: &mut dyn FnMut(Summary)) -> CargoResult<()> {
++        if std::env::var("CARGO_FREEBSD_PORTS_SKIP_GIT_UPDATE").is_ok() {
++            return Ok(());
++        }
+         let src = self
+             .path_source
+             .as_mut()
+@@ -112,6 +118,9 @@ impl<'cfg> Source for GitSource<'cfg> {
+     }
+ 
+     fn update(&mut self) -> CargoResult<()> {
++        if std::env::var("CARGO_FREEBSD_PORTS_SKIP_GIT_UPDATE").is_ok() {
++            return Ok(());
++        }
+         let git_path = self.config.git_path();
+         let git_path = self.config.assert_package_cache_locked(&git_path);
+         let db_path = git_path.join("db").join(&self.ident);
diff --git a/lang/rust/files/patch-src_tools_cargo_src_cargo_util_toml_mod.rs b/lang/rust/files/patch-src_tools_cargo_src_cargo_util_toml_mod.rs
new file mode 100644
index 000000000000..9ce835bc6039
--- /dev/null
+++ b/lang/rust/files/patch-src_tools_cargo_src_cargo_util_toml_mod.rs
@@ -0,0 +1,22 @@
+Revert https://github.com/rust-lang/cargo/commit/6f214ac7520d71c480dbe93e3874f14cfdaf594b
+since it break CARGO_USE_GITHUB ports.
+
+--- src/tools/cargo/src/cargo/util/toml/mod.rs.orig	2021-09-06 18:42:51 UTC
++++ src/tools/cargo/src/cargo/util/toml/mod.rs
+@@ -1780,11 +1780,12 @@ impl<P: ResolveToPath> DetailedTomlDependency<P> {
+ 
+             for &(key, key_name) in &git_only_keys {
+                 if key.is_some() {
+-                    bail!(
+-                        "key `{}` is ignored for dependency ({}).",
+-                        key_name,
+-                        name_in_toml
++                    let msg = format!(
++                        "key `{}` is ignored for dependency ({}). \
++                         This will be considered an error in future versions",
++                        key_name, name_in_toml
+                     );
++                    cx.warnings.push(msg)
+                 }
+             }
+         }
diff --git a/lang/rust/files/patch-vendor_openssl-sys_build_main.rs b/lang/rust/files/patch-vendor_openssl-sys_build_main.rs
deleted file mode 100644
index d2944b186075..000000000000
--- a/lang/rust/files/patch-vendor_openssl-sys_build_main.rs
+++ /dev/null
@@ -1,19 +0,0 @@
---- vendor/openssl-sys/build/main.rs.orig	2021-07-26 15:20:39 UTC
-+++ vendor/openssl-sys/build/main.rs
-@@ -232,6 +232,7 @@ See rust-openssl README for more information:
-             (3, 2, _) => ('3', '2', 'x'),
-             (3, 3, 0) => ('3', '3', '0'),
-             (3, 3, 1) => ('3', '3', '1'),
-+            (3, 3, _) => ('3', '3', 'x'),
-             _ => version_error(),
-         };
- 
-@@ -272,7 +273,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.1, but a different version of OpenSSL was found. The build is now aborting
-+through 3.3.x, but a different version of OpenSSL was found. The build is now aborting
- due to this version mismatch.
- 
- "
diff --git a/lang/rust/files/powerpc/patch-vendor_libc_src_unix_bsd_freebsdlike_freebsd_mod.rs b/lang/rust/files/powerpc/patch-vendor_libc_src_unix_bsd_freebsdlike_freebsd_mod.rs
deleted file mode 100644
index 4852d7daf4d1..000000000000
--- a/lang/rust/files/powerpc/patch-vendor_libc_src_unix_bsd_freebsdlike_freebsd_mod.rs
+++ /dev/null
@@ -1,12 +0,0 @@
---- vendor/libc/src/unix/bsd/freebsdlike/freebsd/mod.rs.orig
-+++ vendor/libc/src/unix/bsd/freebsdlike/freebsd/mod.rs
-@@ -1568,6 +1568,9 @@ cfg_if! {
-     } else if #[cfg(target_arch = "arm")] {
-         mod arm;
-         pub use self::arm::*;
-+    } else if #[cfg(target_arch = "powerpc")] {
-+        mod powerpc;
-+        pub use self::powerpc::*;
-     } else if #[cfg(target_arch = "powerpc64")] {
-         mod powerpc64;
-         pub use self::powerpc64::*;
diff --git a/lang/rust/files/powerpc/patch-vendor_libc_src_unix_bsd_freebsdlike_freebsd_powerpc.rs b/lang/rust/files/powerpc/patch-vendor_libc_src_unix_bsd_freebsdlike_freebsd_powerpc.rs
deleted file mode 100644
index 9e74de7b6fdf..000000000000
--- a/lang/rust/files/powerpc/patch-vendor_libc_src_unix_bsd_freebsdlike_freebsd_powerpc.rs
+++ /dev/null
@@ -1,50 +0,0 @@
---- /dev/null
-+++ vendor/libc/src/unix/bsd/freebsdlike/freebsd/powerpc.rs
-@@ -0,0 +1,47 @@
-+pub type c_char = u8;
-+pub type c_long = i32;
-+pub type c_ulong = u32;
-+pub type wchar_t = u32;
-+pub type time_t = i64;
-+pub type suseconds_t = i32;
-+pub type register_t = i32;
-+
-+s! {
-+    pub struct stat {
-+        pub st_dev: ::dev_t,
-+        pub st_ino: ::ino_t,
-+        pub st_mode: ::mode_t,
-+        pub st_nlink: ::nlink_t,
-+        pub st_uid: ::uid_t,
-+        pub st_gid: ::gid_t,
-+        pub st_rdev: ::dev_t,
-+        pub st_atime: ::time_t,
-+        pub st_atime_nsec: ::c_long,
-+        pub st_mtime: ::time_t,
-+        pub st_mtime_nsec: ::c_long,
-+        pub st_ctime: ::time_t,
-+        pub st_ctime_nsec: ::c_long,
-+        pub st_size: ::off_t,
-+        pub st_blocks: ::blkcnt_t,
-+        pub st_blksize: ::blksize_t,
-+        pub st_flags: ::fflags_t,
-+        pub st_gen: u32,
-+        pub st_lspare: i32,
-+        pub st_birthtime: ::time_t,
-+        pub st_birthtime_nsec: ::c_long,
-+        __unused: [u8; 8],
-+    }
-+}
-+
-+// should be pub(crate), but that requires Rust 1.18.0
-+cfg_if! {
-+    if #[cfg(libc_const_size_of)] {
-+        #[doc(hidden)]
-+        pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_int>() - 1;
-+    } else {
-+        #[doc(hidden)]
-+        pub const _ALIGNBYTES: usize = 4 - 1;
-+    }
-+}
-+pub const MAP_32BIT: ::c_int = 0x00080000;
-+pub const MINSIGSTKSZ: ::size_t = 2048; // 512 * 4
diff --git a/lang/rust/files/powerpc64-elfv1/patch-src_bootstrap_native.rs b/lang/rust/files/powerpc64-elfv1/patch-src_bootstrap_native.rs
index 854b992fcffe..c34a7fe90781 100644
--- a/lang/rust/files/powerpc64-elfv1/patch-src_bootstrap_native.rs
+++ b/lang/rust/files/powerpc64-elfv1/patch-src_bootstrap_native.rs
@@ -1,6 +1,6 @@
---- src/bootstrap/native.rs.orig	2019-11-04 15:45:21 UTC
+--- src/bootstrap/native.rs.orig	2021-09-06 18:42:35 UTC
 +++ src/bootstrap/native.rs
-@@ -241,6 +241,10 @@ impl Step for Llvm {
+@@ -277,6 +277,10 @@ impl Step for Llvm {
              }
          }
  
@@ -8,6 +8,6 @@
 +            cfg.define("CMAKE_EXE_LINKER_FLAGS", "-Wl,-rpath=/usr/local/lib/%CC% -L/usr/local/lib/%CC%");
 +        }
 +
-         // http://llvm.org/docs/HowToCrossCompileLLVM.html
-         if target != builder.config.build && !emscripten {
-             builder.ensure(Llvm {
+         // https://llvm.org/docs/HowToCrossCompileLLVM.html
+         if target != builder.config.build {
+             builder.ensure(Llvm { target: builder.config.build });
diff --git a/lang/rust/files/powerpc64le/patch-compiler_rustc__target_src_spec_mod.rs b/lang/rust/files/powerpc64le/patch-compiler_rustc__target_src_spec_mod.rs
deleted file mode 100644
index 138d21a72021..000000000000
--- a/lang/rust/files/powerpc64le/patch-compiler_rustc__target_src_spec_mod.rs
+++ /dev/null
@@ -1,10 +0,0 @@
---- compiler/rustc_target/src/spec/mod.rs.orig        2020-09-30 18:06:16.613040000 -0500
-+++ compiler/rustc_target/src/spec/mod.rs     2020-09-30 18:06:47.040460000 -0500
-@@ -553,6 +553,7 @@ supported_targets! {
-     ("armv7-unknown-freebsd", armv7_unknown_freebsd),
-     ("i686-unknown-freebsd", i686_unknown_freebsd),
-     ("powerpc64-unknown-freebsd", powerpc64_unknown_freebsd),
-+    ("powerpc64le-unknown-freebsd", powerpc64le_unknown_freebsd),
-     ("x86_64-unknown-freebsd", x86_64_unknown_freebsd),
- 
-     ("x86_64-unknown-dragonfly", x86_64_unknown_dragonfly),
diff --git a/lang/rust/files/powerpc64le/patch-compiler_rustc__target_src_spec_powerpc64le__unknown__freebsd.rs b/lang/rust/files/powerpc64le/patch-compiler_rustc__target_src_spec_powerpc64le__unknown__freebsd.rs
deleted file mode 100644
index 05124570bd9f..000000000000
--- a/lang/rust/files/powerpc64le/patch-compiler_rustc__target_src_spec_powerpc64le__unknown__freebsd.rs
+++ /dev/null
@@ -1,19 +0,0 @@
---- compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs.orig	2021-01-07 03:05:53 UTC
-+++ compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs
-@@ -0,0 +1,16 @@
-+use crate::spec::{LinkerFlavor, Target, TargetOptions};
-+
-+pub fn target() -> Target {
-+    let mut base = super::freebsd_base::opts();
-+    base.cpu = "ppc64le".to_string();
-+    base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m64".to_string());
-+    base.max_atomic_width = Some(64);
-+
-+    Target {
-+        llvm_target: "powerpc64le-unknown-freebsd".to_string(),
-+        pointer_width: 64,
-+        data_layout: "e-m:e-i64:64-n32:64".to_string(),
-+        arch: "powerpc64".to_string(),
-+        options: TargetOptions { mcount: "_mcount".to_string(), ..base },
-+    }
-+}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202109190915.18J9FvAv009425>