aboutsummaryrefslogtreecommitdiffstats
path: root/testing/firefox/fix-rust-target.patch
diff options
context:
space:
mode:
Diffstat (limited to 'testing/firefox/fix-rust-target.patch')
-rw-r--r--testing/firefox/fix-rust-target.patch41
1 files changed, 23 insertions, 18 deletions
diff --git a/testing/firefox/fix-rust-target.patch b/testing/firefox/fix-rust-target.patch
index f81418efd2..14f39691cf 100644
--- a/testing/firefox/fix-rust-target.patch
+++ b/testing/firefox/fix-rust-target.patch
@@ -1,26 +1,31 @@
+Allow us to just set RUST_TARGEt ourselves instead of hacking around in mozilla's
+weird custom build system...
+
--- a/build/moz.configure/rust.configure
+++ b/build/moz.configure/rust.configure
-@@ -280,9 +280,13 @@
- die("Don't know how to translate {} for rustc".format(
- host_or_target.alias))
+@@ -224,6 +224,8 @@
+ rust_supported_targets, arm_target, when=rust_compiler)
+ @checking('for rust %s triplet' % host_or_target_str)
+ @imports('os')
++ @imports(_from='mozbuild.util', _import='ensure_unicode')
++ @imports(_from='mozbuild.util', _import='system_encoding')
+ @imports(_from='mozbuild.configure.util', _import='LineIO')
+ @imports(_from='mozbuild.shellutil', _import='quote')
+ @imports(_from='tempfile', _import='mkstemp')
+@@ -328,7 +330,7 @@
+
+ return None
+
+- rustc_target = find_candidate(candidates)
++ rustc_target = os.environ['RUST_TARGET']
-+ fixed_alias = rustc_target.alias.replace("-gnu", "-musl")
-+ if host_or_target.cpu != 'aarch64':
-+ fixed_alias = fixed_alias.replace("-unknown-", "-alpine-")
-+
- # Check to see whether our rustc has a reasonably functional stdlib
- # for our chosen target.
-- target_arg = '--target=' + rustc_target.alias
-+ target_arg = '--target=' + fixed_alias
- in_fd, in_path = mkstemp(prefix='conftest', suffix='.rs')
- out_fd, out_path = mkstemp(prefix='conftest', suffix='.rlib')
- os.close(out_fd)
-@@ -319,7 +323,7 @@
+ if rustc_target is None:
+ die("Don't know how to translate {} for rustc".format(
+@@ -373,7 +375,7 @@
os.remove(out_path)
# This target is usable.
-- return rustc_target.alias
-+ return fixed_alias
+- return rustc_target
++ return ensure_unicode(rustc_target, system_encoding)
return rust_target
-