aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Kortkamp <tobik@FreeBSD.org>2021-09-07 08:14:14 +0000
committerTobias Kortkamp <tobik@FreeBSD.org>2021-09-19 09:03:21 +0000
commit6f1fefb50e755d727f471aeb75ebe4e28f876b4b (patch)
tree394060bc14cf0e27cf1ed63c8f3a5ee168b19c93
parent2c0f38fb85951f5fa0280353d4342f95f5c55c5c (diff)
downloadports-6f1fefb50e755d727f471aeb75ebe4e28f876b4b.tar.gz
ports-6f1fefb50e755d727f471aeb75ebe4e28f876b4b.zip
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
-rw-r--r--Mk/Uses/cargo.mk2
-rw-r--r--Mk/bsd.gecko.mk2
-rw-r--r--lang/rust-bootstrap/Makefile8
-rw-r--r--lang/rust-bootstrap/distinfo6
-rw-r--r--lang/rust/Makefile12
-rw-r--r--lang/rust/distinfo114
-rw-r--r--lang/rust/files/patch-src_llvm-project_compiler-rt_lib_builtins_cpu__model.c21
-rw-r--r--lang/rust/files/patch-src_tools_cargo_src_cargo_sources_git_source.rs45
-rw-r--r--lang/rust/files/patch-src_tools_cargo_src_cargo_util_toml_mod.rs22
-rw-r--r--lang/rust/files/patch-vendor_openssl-sys_build_main.rs19
-rw-r--r--lang/rust/files/powerpc/patch-vendor_libc_src_unix_bsd_freebsdlike_freebsd_mod.rs12
-rw-r--r--lang/rust/files/powerpc/patch-vendor_libc_src_unix_bsd_freebsdlike_freebsd_powerpc.rs50
-rw-r--r--lang/rust/files/powerpc64-elfv1/patch-src_bootstrap_native.rs10
-rw-r--r--lang/rust/files/powerpc64le/patch-compiler_rustc__target_src_spec_mod.rs10
-rw-r--r--lang/rust/files/powerpc64le/patch-compiler_rustc__target_src_spec_powerpc64le__unknown__freebsd.rs19
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 },
-+ }
-+}