summaryrefslogtreecommitdiff
path: root/lang/rust
diff options
context:
space:
mode:
authorPiotr Kubaj <pkubaj@FreeBSD.org>2020-06-18 20:36:08 +0000
committerPiotr Kubaj <pkubaj@FreeBSD.org>2020-06-18 20:36:08 +0000
commit3a6db341d91719807dbfeefc12c3dac5deeac4c5 (patch)
treebcdd68ca45d9bbfd6e192541901b2fc1069bdc42 /lang/rust
parentMk/bsd.gecko.mk: add devel/binutils to BUILD_DEPENDS (diff)
lang/rust: build with Clang on powerpc64 elfv2
It looks like the LLVM bug that made Rust fail to build is gone (or Rust just doesn't trigger it anymore). I tested that Rust itself and Firefox build. Bump PORTREVISION because of dependency change. PR: 247388 Approved by: tobik (maintainer)
Notes
Notes: svn path=/head/; revision=539571
Diffstat (limited to 'lang/rust')
-rw-r--r--lang/rust/Makefile4
-rw-r--r--lang/rust/files/powerpc64-elfv2/patch-src_bootstrap_native.rs13
-rw-r--r--lang/rust/files/powerpc64-elfv2/patch-src_librustc__llvm_build.rs14
3 files changed, 2 insertions, 29 deletions
diff --git a/lang/rust/Makefile b/lang/rust/Makefile
index 0cc7e051a6a9..cae53f4de613 100644
--- a/lang/rust/Makefile
+++ b/lang/rust/Makefile
@@ -3,7 +3,7 @@
PORTNAME= rust
PORTVERSION?= 1.44.1
-PORTREVISION?= 0
+PORTREVISION?= 1
CATEGORIES= lang
MASTER_SITES= https://static.rust-lang.org/dist/:src \
LOCAL/tobik/rust:bootstrap \
@@ -87,7 +87,7 @@ _CARGO_BOOTSTRAP= ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/cargo-${CARGO_B
EXTRA_PATCHES+= ${PATCHDIR}/${ARCH}${BOOTSTRAPS_SUFFIX}
.endif
-.if ${ARCH} == powerpc64
+.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
diff --git a/lang/rust/files/powerpc64-elfv2/patch-src_bootstrap_native.rs b/lang/rust/files/powerpc64-elfv2/patch-src_bootstrap_native.rs
deleted file mode 100644
index 854b992fcffe..000000000000
--- a/lang/rust/files/powerpc64-elfv2/patch-src_bootstrap_native.rs
+++ /dev/null
@@ -1,13 +0,0 @@
---- src/bootstrap/native.rs.orig 2019-11-04 15:45:21 UTC
-+++ src/bootstrap/native.rs
-@@ -241,6 +241,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%");
-+ }
-+
- // http://llvm.org/docs/HowToCrossCompileLLVM.html
- if target != builder.config.build && !emscripten {
- builder.ensure(Llvm {
diff --git a/lang/rust/files/powerpc64-elfv2/patch-src_librustc__llvm_build.rs b/lang/rust/files/powerpc64-elfv2/patch-src_librustc__llvm_build.rs
deleted file mode 100644
index 85b1c4af268b..000000000000
--- a/lang/rust/files/powerpc64-elfv2/patch-src_librustc__llvm_build.rs
+++ /dev/null
@@ -1,14 +0,0 @@
---- src/librustc_llvm/build.rs.orig 2020-03-09 22:11:17 UTC
-+++ src/librustc_llvm/build.rs
-@@ -264,7 +264,10 @@ fn main() {
- };
-
- // C++ runtime library
-- if !target.contains("msvc") {
-+ if target == "powerpc64-unknown-freebsd" && !is_crossed {
-+ 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);