From 087a277e66c0456c2d6fdb7403d032ad09cbd18b Mon Sep 17 00:00:00 2001
From: wraitii <wraitii@3db68df2-c116-0410-a063-a993310a9797>
Date: Sat, 27 Feb 2021 09:31:17 +0000
Subject: [PATCH] Patch SM78.6 for Rust 1.50

Upstreamed from https://hg.mozilla.org/releases/mozilla-esr78/rev/0e8f444683cb
(this fix is integrated in SM78.8)

Reviewed By: s0600204

Differential Revision: https://code.wildfiregames.com/D3590



git-svn-id: https://svn.wildfiregames.com/public/ps/trunk@24941 3db68df2-c116-0410-a063-a993310a9797
---
 libraries/source/spidermonkey/FixRust150.diff | 65 +++++++++++++++++++
 libraries/source/spidermonkey/patch.sh        |  4 ++
 2 files changed, 69 insertions(+)
 create mode 100644 libraries/source/spidermonkey/FixRust150.diff

diff --git a/libraries/source/spidermonkey/FixRust150.diff b/libraries/source/spidermonkey/FixRust150.diff
new file mode 100644
index 00000000000..cfb0d58b4a0
--- /dev/null
+++ b/libraries/source/spidermonkey/FixRust150.diff
@@ -0,0 +1,65 @@
+
+# HG changeset patch
+# User Emilio Cobos Álvarez <emilio@crisal.io>
+# Date 1609006565 0
+# Node ID 0e8f444683cb9c4079d3b2250f32f986043ea582
+# Parent  55097a5cf353f1b2a2228820bdf26bb69a1372a0
+Bug 1684261 - Fix build with rust nightly. r=jrmuizel, a=RyanVM
+
+Fixes errors like:
+
+  dependency (nix) specification is ambiguous. Only one of `branch`, `tag` or `rev` is allowed.
+
+I've left the most specific dependency, but for wgpu the rev is not
+right, so I've kept the branch which effectively preserves behavior.
+
+Differential Revision: https://phabricator.services.mozilla.com/D100485
+
+diff --git a/.cargo/config.in b/.cargo/config.in
+--- a/.cargo/config.in
++++ b/.cargo/config.in
+@@ -1,16 +1,16 @@
+ # This file contains vendoring instructions for cargo.
+ # It was generated by `mach vendor rust`.
+ # Please do not edit.
+ 
+ [source."https://github.com/shravanrn/nix/"]
+-branch = "r0.13.1"
+ git = "https://github.com/shravanrn/nix/"
+ replace-with = "vendored-sources"
++rev = "4af6c367603869a30fddb5ffb0aba2b9477ba92e"
+ 
+ [source."https://github.com/mozilla/rkv"]
+ git = "https://github.com/mozilla/rkv"
+ replace-with = "vendored-sources"
+ rev = "e3c3388e6632cf55e08d773b32e58b1cab9b2731"
+ 
+ [source."https://github.com/mozilla/neqo"]
+ git = "https://github.com/mozilla/neqo"
+diff --git a/Cargo.lock b/Cargo.lock
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -3200,7 +3200,7 @@
+ [[package]]
+ name = "nix"
+ version = "0.13.1"
+-source = "git+https://github.com/shravanrn/nix/?branch=r0.13.1#4af6c367603869a30fddb5ffb0aba2b9477ba92e"
++source = "git+https://github.com/shravanrn/nix/?rev=4af6c367603869a30fddb5ffb0aba2b9477ba92e#4af6c367603869a30fddb5ffb0aba2b9477ba92e"
+ dependencies = [
+  "bitflags",
+  "cc",
+diff --git a/Cargo.toml b/Cargo.toml
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -60,8 +60,8 @@
+ [patch.crates-io]
+ packed_simd = { git = "https://github.com/hsivonen/packed_simd", rev="3541e3818fdc7c2a24f87e3459151a4ce955a67a" }
+ rlbox_lucet_sandbox = { git = "https://github.com/PLSysSec/rlbox_lucet_sandbox/", rev="d510da5999a744c563b0acd18056069d1698273f" }
+-nix = { git = "https://github.com/shravanrn/nix/", branch = "r0.13.1", rev="4af6c367603869a30fddb5ffb0aba2b9477ba92e" }
+-spirv_cross = { git = "https://github.com/kvark/spirv_cross", branch = "wgpu3", rev = "20191ad2f370afd6d247edcb9ff9da32d3bedb9c" }
++nix = { git = "https://github.com/shravanrn/nix/", rev="4af6c367603869a30fddb5ffb0aba2b9477ba92e" }
++spirv_cross = { git = "https://github.com/kvark/spirv_cross", branch = "wgpu3" }
+ # failure's backtrace feature might break our builds, see bug 1608157.
+ failure = { git = "https://github.com/badboy/failure", rev = "64af847bc5fdcb6d2438bec8a6030812a80519a5" }
+ failure_derive = { git = "https://github.com/badboy/failure", rev = "64af847bc5fdcb6d2438bec8a6030812a80519a5" }
+
diff --git a/libraries/source/spidermonkey/patch.sh b/libraries/source/spidermonkey/patch.sh
index 58be1fbdef0..879964b0f2e 100644
--- a/libraries/source/spidermonkey/patch.sh
+++ b/libraries/source/spidermonkey/patch.sh
@@ -39,6 +39,10 @@ patch -p1 < ../FixMacBuild.diff
 # https://bugzilla.mozilla.org/show_bug.cgi?id=1536491
 patch -p1 < ../FixRpiUnalignedFpAccess.diff
 
+# Bug 1684261 upstreamed from 78.8: https://hg.mozilla.org/releases/mozilla-esr78/rev/0e8f444683cb
+# Note that this isn't quite the upstream patch to match our version.
+patch -p1 < ../FixRust150.diff
+
 # Patch those separately, as they might interfere with normal behaviour.
 if [ "$(uname -s)" = "FreeBSD" ];
 then
