aboutsummaryrefslogtreecommitdiffstats
path: root/lang
diff options
context:
space:
mode:
authorjbeich <jbeich@FreeBSD.org>2017-10-24 06:58:48 +0800
committerjbeich <jbeich@FreeBSD.org>2017-10-24 06:58:48 +0800
commit1ca2f13d6a9e7b64c12d3405c9e45a6878b6d50f (patch)
tree99aeb4165862799eee7929d4f32c609073df1b94 /lang
parentaf5991d48c6ac50c26cadc66d75b922f54fa5964 (diff)
downloadfreebsd-ports-gnome-1ca2f13d6a9e7b64c12d3405c9e45a6878b6d50f.tar.gz
freebsd-ports-gnome-1ca2f13d6a9e7b64c12d3405c9e45a6878b6d50f.tar.zst
freebsd-ports-gnome-1ca2f13d6a9e7b64c12d3405c9e45a6878b6d50f.zip
lang/rust: unbreak FFI for returning struct on i386
As this fixes Stylo on i386, remove the workaround in www/firefox. PR: 223047 Suggested by: Sebastien Marie <semarie@openbsd.org> Approved by: rust (dumbbell) MFH: 2017Q4 (required by Firefox 57 scheduled on 2017-11-14)
Diffstat (limited to 'lang')
-rw-r--r--lang/rust/Makefile1
-rw-r--r--lang/rust/files/patch-src_librustc__back_target_freebsd__base.rs12
2 files changed, 13 insertions, 0 deletions
diff --git a/lang/rust/Makefile b/lang/rust/Makefile
index 7c394d37e7dd..62cb77e1d69e 100644
--- a/lang/rust/Makefile
+++ b/lang/rust/Makefile
@@ -3,6 +3,7 @@
PORTNAME= rust
PORTVERSION?= 1.20.0
+PORTREVISION?= 1
CATEGORIES= lang
MASTER_SITES= http://static.rust-lang.org/dist/:src \
https://static.rust-lang.org/dist/:rust_bootstrap \
diff --git a/lang/rust/files/patch-src_librustc__back_target_freebsd__base.rs b/lang/rust/files/patch-src_librustc__back_target_freebsd__base.rs
new file mode 100644
index 000000000000..40890bb39ab8
--- /dev/null
+++ b/lang/rust/files/patch-src_librustc__back_target_freebsd__base.rs
@@ -0,0 +1,12 @@
+Return struct like OpenBSD, see src/librustc_trans/cabi_x86.rs
+
+--- src/librustc_back/target/freebsd_base.rs.orig 2017-07-17 22:10:50 UTC
++++ src/librustc_back/target/freebsd_base.rs
+@@ -31,6 +31,7 @@ pub fn opts() -> TargetOptions {
+ target_family: Some("unix".to_string()),
+ linker_is_gnu: true,
+ has_rpath: true,
++ is_like_openbsd: true,
+ pre_link_args: args,
+ position_independent_executables: true,
+ exe_allocation_crate: super::maybe_jemalloc(),