git: 988dc662364d - main - lang/rust: remove support for armv6 and powerpc64 elfv1

From: Piotr Kubaj <pkubaj_at_FreeBSD.org>
Date: Thu, 26 Jan 2023 12:23:52 UTC
The branch main has been updated by pkubaj:

URL: https://cgit.FreeBSD.org/ports/commit/?id=988dc662364d9ab3d7cea82c642068a27b0c1254

commit 988dc662364d9ab3d7cea82c642068a27b0c1254
Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
AuthorDate: 2023-01-26 12:23:17 +0000
Commit:     Piotr Kubaj <pkubaj@FreeBSD.org>
CommitDate: 2023-01-26 12:23:17 +0000

    lang/rust: remove support for armv6 and powerpc64 elfv1
    
    Support for both has been removed from lang/rust-bootstrap.
---
 lang/rust/Makefile                                 | 29 +++-------------------
 lang/rust/distinfo                                 | 26 ++++++-------------
 ...ompiler_rustc__target_src_abi_call_powerpc64.rs |  0
 ..._target_src_spec_powerpc64__unknown__freebsd.rs |  0
 .../patch-compiler_rustc__llvm_build.rs            | 18 --------------
 .../powerpc64-elfv1/patch-src_bootstrap_native.rs  | 13 ----------
 6 files changed, 10 insertions(+), 76 deletions(-)

diff --git a/lang/rust/Makefile b/lang/rust/Makefile
index 0d80037cf7e4..d2e9273fbf6f 100644
--- a/lang/rust/Makefile
+++ b/lang/rust/Makefile
@@ -23,8 +23,8 @@ LICENSE_FILE_APACHE20=	${WRKSRC}/LICENSE-APACHE
 LICENSE_FILE_MIT=	${WRKSRC}/LICENSE-MIT
 
 IGNORE_FreeBSD_12_powerpc=	is missing a bootstrap for FreeBSD 12.x powerpc
-ONLY_FOR_ARCHS?=	aarch64 amd64 armv6 armv7 i386 powerpc64 powerpc64le \
-			powerpc riscv64
+ONLY_FOR_ARCHS?=	aarch64 amd64 armv7 i386 powerpc64 powerpc64le powerpc \
+			riscv64
 ONLY_FOR_ARCHS_REASON?=	requires prebuilt bootstrap compiler
 
 BUILD_DEPENDS=	cmake:devel/cmake-core
@@ -130,10 +130,6 @@ _COMPONENTS+=	rls-${_PACKAGE_VERS}-${_RUST_TARGET}
 _COMPONENTS+=	rustc-dev-${_PACKAGE_VERS}-${_RUST_TARGET}
 .endif
 
-.if exists(${PATCHDIR}/${ARCH}${BOOTSTRAPS_SUFFIX})
-EXTRA_PATCHES+=	${PATCHDIR}/${ARCH}${BOOTSTRAPS_SUFFIX}
-.endif
-
 # If the kernel does not return sane kern.proc.pathname values
 # for hardlinks then disable hardlinks in the build to avoid
 # intermittent "can't find crate for `std`" build failures,
@@ -151,22 +147,13 @@ EXTRA_PATCHES+=		${PATCHDIR}/no-hardlinks
 .  endif
 .endif
 
-.if defined(PPC_ABI) && ${PPC_ABI} == ELFv1
-# The bootstrap is hardcoded to use gcc9
-# but we can build with a newer or older compiler as provided by USE_GCC=yes
-BUILD_DEPENDS+=	gcc9:lang/gcc9
-USE_GCC=	yes
-STRIP_CMD=	${LOCALBASE}/bin/strip # unsupported e_type with base strip
-.endif
-
 .ifdef QEMU_EMULATING
 IGNORE=	fails to build with qemu-user-static
 .endif
 
 .if make(makesum)
 DISTFILES:=	${DISTFILES:M*\:src} \
-		${ONLY_FOR_ARCHS:O:@_arch@${:!${MAKE} ARCH=${_arch} PPC_ABI=ELFv1 -V'DISTFILES:N*\:src'!}@} \
-		${ONLY_FOR_ARCHS:Mpowerpc64:@_arch@${:!${MAKE} ARCH=${_arch} PPC_ABI=ELFv2 -V'DISTFILES:N*\:src'!}@}
+		${ONLY_FOR_ARCHS:O:@_arch@${:!${MAKE} ARCH=${_arch} -V'DISTFILES:N*\:src'!}@}
 .endif
 
 post-patch:
@@ -177,16 +164,6 @@ post-patch:
 # Disable vendor checksums
 	@${REINPLACE_CMD} 's,"files":{[^}]*},"files":{},' \
 		${CARGO_VENDOR_DIR}/*/.cargo-checksum.json
-.if defined(PPC_ABI) && ${PPC_ABI} == ELFv1
-	@${REINPLACE_CMD} 's,%CC%,${CC},g' \
-		${WRKSRC}/compiler/rustc_llvm/build.rs \
-		${WRKSRC}/src/bootstrap/native.rs
-.if ${LOCALBASE} != /usr/local
-	@${REINPLACE_CMD} 's,/usr/local/,${LOCALBASE}/,g' \
-		${WRKSRC}/compiler/rustc_llvm/build.rs \
-		${WRKSRC}/src/bootstrap/native.rs
-.endif
-.endif
 
 do-configure:
 # Check that the running kernel has COMPAT_FREEBSD11 required by lang/rust post-ino64
diff --git a/lang/rust/distinfo b/lang/rust/distinfo
index e7603d96b257..f5c48da1ae4b 100644
--- a/lang/rust/distinfo
+++ b/lang/rust/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1673442892
+TIMESTAMP = 1674734560
 SHA256 (rust/rustc-1.66.1-src.tar.xz) = 07ac4e6c93e0d8ecfaf3b86c4c78bbbde3f5be675f0334e7fb343cb4a0b81ebe
 SIZE (rust/rustc-1.66.1-src.tar.xz) = 141692940
 SHA256 (rust/2022-11-03/rustc-1.65.0-aarch64-unknown-freebsd.tar.xz) = fb7c58730dde8e40f831116090bda88b7708f78bbb64cafa7d7f9b0b493ef8f4
@@ -13,12 +13,6 @@ SHA256 (rust/2022-11-03/rust-std-1.65.0-x86_64-unknown-freebsd.tar.xz) = 9b8af84
 SIZE (rust/2022-11-03/rust-std-1.65.0-x86_64-unknown-freebsd.tar.xz) = 26461768
 SHA256 (rust/2022-11-03/cargo-1.65.0-x86_64-unknown-freebsd.tar.xz) = cbfd8ea9a34ae3b6a13a4c2637d8bae4dad87450cf4aaaacafbf99ae0c8c08d6
 SIZE (rust/2022-11-03/cargo-1.65.0-x86_64-unknown-freebsd.tar.xz) = 5618512
-SHA256 (rust/2022-11-03/rustc-1.65.0-armv6-unknown-freebsd.tar.xz) = 0f06525899b30fa95af327a9f03ea7706c47bcfb653d55e0d7127a1c385cceb9
-SIZE (rust/2022-11-03/rustc-1.65.0-armv6-unknown-freebsd.tar.xz) = 40501300
-SHA256 (rust/2022-11-03/rust-std-1.65.0-armv6-unknown-freebsd.tar.xz) = a0b96f5c4dfd5e3cb9b46941c9e4d3c986720638d5d27d756c35c26a50934a6f
-SIZE (rust/2022-11-03/rust-std-1.65.0-armv6-unknown-freebsd.tar.xz) = 23893052
-SHA256 (rust/2022-11-03/cargo-1.65.0-armv6-unknown-freebsd.tar.xz) = 2ae79b5045b38bc479eaecfc8b717ab05ab2dfb0154b648e519781361b433c6f
-SIZE (rust/2022-11-03/cargo-1.65.0-armv6-unknown-freebsd.tar.xz) = 4837604
 SHA256 (rust/2022-11-03/rustc-1.65.0-armv7-unknown-freebsd.tar.xz) = 3e287c70d8c72632b7a615534f0aea1a793ce32c837ad00e01bcb563c0ef1a7d
 SIZE (rust/2022-11-03/rustc-1.65.0-armv7-unknown-freebsd.tar.xz) = 40819484
 SHA256 (rust/2022-11-03/rust-std-1.65.0-armv7-unknown-freebsd.tar.xz) = 762687ac0aa3aaa89ff3390221046d22b16154ba749329c3b3dd55e548649c01
@@ -37,12 +31,12 @@ SHA256 (rust/2022-11-03/rust-std-1.65.0-powerpc-unknown-freebsd.tar.xz) = fc04bb
 SIZE (rust/2022-11-03/rust-std-1.65.0-powerpc-unknown-freebsd.tar.xz) = 23597080
 SHA256 (rust/2022-11-03/cargo-1.65.0-powerpc-unknown-freebsd.tar.xz) = e1cae5f170373c45fed8a55a35312e7dd857e872332b33d9f737ad649d522ed4
 SIZE (rust/2022-11-03/cargo-1.65.0-powerpc-unknown-freebsd.tar.xz) = 5343924
-SHA256 (rust/2022-11-03/rustc-1.65.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 9c939d00e04e1806767cafb5462331ad589ac9a23879dde79ecbbbbbc6b4d545
-SIZE (rust/2022-11-03/rustc-1.65.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 49668500
-SHA256 (rust/2022-11-03/rust-std-1.65.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = ea8d6d26a70102bd6bf1ea5e37af7476aebf432cb859ab7689f6abba743a141d
-SIZE (rust/2022-11-03/rust-std-1.65.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 23810944
-SHA256 (rust/2022-11-03/cargo-1.65.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = dc085ef2e70a9641b8e085e6c976e4047363b1e519226c9463f305a9ed88bc11
-SIZE (rust/2022-11-03/cargo-1.65.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 5497872
+SHA256 (rust/2022-11-03/rustc-1.65.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 696ac81b6fae8ab2777815e6696a840b319c3bc3ef716880e5da9f57dc66978c
+SIZE (rust/2022-11-03/rustc-1.65.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 41458412
+SHA256 (rust/2022-11-03/rust-std-1.65.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = c01867b132e85196f9bd2ffde5fc7711b61c14b94f35abd1fdc57e252ad0dc3a
+SIZE (rust/2022-11-03/rust-std-1.65.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 23729728
+SHA256 (rust/2022-11-03/cargo-1.65.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = d15b86ab084159fa489e765c614c8e2fbd32983eb4cc74e2bbd1019ab4944cb0
+SIZE (rust/2022-11-03/cargo-1.65.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 5106080
 SHA256 (rust/2022-11-03/rustc-1.65.0-powerpc64le-unknown-freebsd.tar.xz) = dab3672acbef082bc0a8f4e2a480563fa5df4c1456d3ecd5c279609d7a76114d
 SIZE (rust/2022-11-03/rustc-1.65.0-powerpc64le-unknown-freebsd.tar.xz) = 43128132
 SHA256 (rust/2022-11-03/rust-std-1.65.0-powerpc64le-unknown-freebsd.tar.xz) = c95301ad42e0cc2732fefbb15a19c159c2057fd49fce65e14cbc1bb9e7031b9c
@@ -55,9 +49,3 @@ SHA256 (rust/2022-11-03/rust-std-1.65.0-riscv64gc-unknown-freebsd.tar.xz) = b6bd
 SIZE (rust/2022-11-03/rust-std-1.65.0-riscv64gc-unknown-freebsd.tar.xz) = 31273336
 SHA256 (rust/2022-11-03/cargo-1.65.0-riscv64gc-unknown-freebsd.tar.xz) = 48a167674d3f7381d8187ca927732255fcd104f258fdbb8ae23470f5398aedb1
 SIZE (rust/2022-11-03/cargo-1.65.0-riscv64gc-unknown-freebsd.tar.xz) = 27593540
-SHA256 (rust/2022-11-03/rustc-1.65.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 696ac81b6fae8ab2777815e6696a840b319c3bc3ef716880e5da9f57dc66978c
-SIZE (rust/2022-11-03/rustc-1.65.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 41458412
-SHA256 (rust/2022-11-03/rust-std-1.65.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = c01867b132e85196f9bd2ffde5fc7711b61c14b94f35abd1fdc57e252ad0dc3a
-SIZE (rust/2022-11-03/rust-std-1.65.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 23729728
-SHA256 (rust/2022-11-03/cargo-1.65.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = d15b86ab084159fa489e765c614c8e2fbd32983eb4cc74e2bbd1019ab4944cb0
-SIZE (rust/2022-11-03/cargo-1.65.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 5106080
diff --git a/lang/rust/files/powerpc64-elfv2/patch-compiler_rustc__target_src_abi_call_powerpc64.rs b/lang/rust/files/patch-compiler_rustc__target_src_abi_call_powerpc64.rs
similarity index 100%
rename from lang/rust/files/powerpc64-elfv2/patch-compiler_rustc__target_src_abi_call_powerpc64.rs
rename to lang/rust/files/patch-compiler_rustc__target_src_abi_call_powerpc64.rs
diff --git a/lang/rust/files/powerpc64-elfv2/patch-compiler_rustc__target_src_spec_powerpc64__unknown__freebsd.rs b/lang/rust/files/patch-compiler_rustc__target_src_spec_powerpc64__unknown__freebsd.rs
similarity index 100%
rename from lang/rust/files/powerpc64-elfv2/patch-compiler_rustc__target_src_spec_powerpc64__unknown__freebsd.rs
rename to lang/rust/files/patch-compiler_rustc__target_src_spec_powerpc64__unknown__freebsd.rs
diff --git a/lang/rust/files/powerpc64-elfv1/patch-compiler_rustc__llvm_build.rs b/lang/rust/files/powerpc64-elfv1/patch-compiler_rustc__llvm_build.rs
deleted file mode 100644
index 7cbcd814aade..000000000000
--- a/lang/rust/files/powerpc64-elfv1/patch-compiler_rustc__llvm_build.rs
+++ /dev/null
@@ -1,18 +0,0 @@
---- compiler/rustc_llvm/build.rs.orig	2019-12-16 15:38:05 UTC
-+++ compiler/rustc_llvm/build.rs
-@@ -273,7 +273,14 @@ fn main() {
-     };
- 
-     // C++ runtime library
--    if !target.contains("msvc") {
-+    if target == "powerpc64-unknown-freebsd" {
-+        if is_crossed {
-+            println!("cargo:rustc-link-search=native=%WRKDIR%/usr/local/lib/%CC%");
-+        } else {
-+            println!("cargo:rustc-link-search=native=/usr/local/lib/%CC%");
-+        }
-+        println!("cargo:rustc-link-lib=static=stdc++");
-+    } else if !target.contains("msvc") {
-         if let Some(s) = llvm_static_stdcpp {
-             assert!(!cxxflags.contains("stdlib=libc++"));
-             let path = PathBuf::from(s);
diff --git a/lang/rust/files/powerpc64-elfv1/patch-src_bootstrap_native.rs b/lang/rust/files/powerpc64-elfv1/patch-src_bootstrap_native.rs
deleted file mode 100644
index c34a7fe90781..000000000000
--- a/lang/rust/files/powerpc64-elfv1/patch-src_bootstrap_native.rs
+++ /dev/null
@@ -1,13 +0,0 @@
---- src/bootstrap/native.rs.orig	2021-09-06 18:42:35 UTC
-+++ src/bootstrap/native.rs
-@@ -277,6 +277,10 @@ impl Step for Llvm {
-             }
-         }
- 
-+        if target == "powerpc64-unknown-freebsd" {
-+            cfg.define("CMAKE_EXE_LINKER_FLAGS", "-Wl,-rpath=/usr/local/lib/%CC% -L/usr/local/lib/%CC%");
-+        }
-+
-         // https://llvm.org/docs/HowToCrossCompileLLVM.html
-         if target != builder.config.build {
-             builder.ensure(Llvm { target: builder.config.build });