diff options
author | Piotr Kubaj <pkubaj@FreeBSD.org> | 2020-06-18 20:36:08 +0000 |
---|---|---|
committer | Piotr Kubaj <pkubaj@FreeBSD.org> | 2020-06-18 20:36:08 +0000 |
commit | 3a6db341d91719807dbfeefc12c3dac5deeac4c5 (patch) | |
tree | bcdd68ca45d9bbfd6e192541901b2fc1069bdc42 /lang/rust | |
parent | Mk/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/Makefile | 4 | ||||
-rw-r--r-- | lang/rust/files/powerpc64-elfv2/patch-src_bootstrap_native.rs | 13 | ||||
-rw-r--r-- | lang/rust/files/powerpc64-elfv2/patch-src_librustc__llvm_build.rs | 14 |
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); |