gecko: unbreak RUST=on with cargo >= 0.18

error[E0463]: can't find crate for `cheddar`
 --> media/libstagefright/binding/mp4parse_capi/build.rs:1:1
  |
1 | extern crate cheddar;
  | ^^^^^^^^^^^^^^^^^^^^^ can't find crate

error: aborting due to previous error

fatal runtime error: failed to initiate panic, error 5
error: Could not compile `mp4parse_capi`.

Caused by:
  process didn't exit successfully: `/usr/local/bin/rustc --crate-name build_script_build media/libstagefright/binding/mp4parse_capi/build.rs --crate-type bin --emit=dep-info,link -C opt-level=2 -C debuginfo=2 -C metadata=13cd8b0152b68b4e -C extra-filename=-13cd8b0152b68b4e--out-dir obj-x86_64-unknown-freebsd12.0/toolkit/library/rust/./release/build/mp4parse_capi-13cd8b0152b68b4e -L dependency=obj-x86_64-unknown-freebsd12.0/toolkit/library/rust/./release/deps` (exit code: 1)
Build failed, waiting for other jobs to finish...
error: build failed
This commit is contained in:
Jan Beich 2017-05-02 03:43:15 +00:00
parent 34573161ae
commit a7fec0e97a
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=439925
4 changed files with 199 additions and 1 deletions

View file

@ -391,7 +391,7 @@ post-patch-SNDIO-on:
.if ${PORT_OPTIONS:MRUST}
BUILD_DEPENDS+= rustc:${RUST_PORT}
. if ${MOZILLA_VER:R:R} >= 51
BUILD_DEPENDS+= cargo:devel/cargo
BUILD_DEPENDS+= cargo>=0.16.0:devel/cargo
. endif
RUST_PORT?= lang/rust
MOZ_OPTIONS+= --enable-rust

View file

@ -0,0 +1,66 @@
commit bbd48a5613c8
Author: Ralph Giles <giles@mozilla.com>
Date: Fri Feb 10 12:58:18 2017 -0800
Bug 1338655 - Don't try to build mp4parse bindings. r=froydnj
We use the cheddar crate to generate a C header file
for our mp4parse_capi wrapper crate. Currently we
do this at code check-in time via update-rust.sh.
Cargo 0.18 and later will try to execute a build.rs
file in the crate source tree regardless of whether
it's specified in Cargo.toml so patching out that
line just results in 'crate cheddar not found'.
This change restores the old behaviour by substituting
a 'build = false' line instead.
We do have syntex vendored, but we don't currently build
it by default, so I prefer this solution to just vendoring
cheddar and generating the header at build time. The syntex
crate is quite large and adds significantly to our compile
time.
MozReview-Commit-ID: InJRRODWAdP
--HG--
extra : rebase_source : 29378fcbc86015ce6cc22dc66d38a43ddbac204e
---
media/libstagefright/binding/mp4parse-cargo.patch | 5 +++--
media/libstagefright/binding/mp4parse_capi/Cargo.toml | 2 ++
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git media/libstagefright/binding/mp4parse-cargo.patch media/libstagefright/binding/mp4parse-cargo.patch
index 1dd13d20472a..bfa0ab74b424 100644
--- mozilla/media/libstagefright/binding/mp4parse-cargo.patch
+++ mozilla/media/libstagefright/binding/mp4parse-cargo.patch
@@ -25,12 +25,13 @@ diff --git a/media/libstagefright/binding/mp4parse_cap
index aeeebc65..5c0836a 100644
--- a/media/libstagefright/binding/mp4parse_capi/Cargo.toml
+++ b/media/libstagefright/binding/mp4parse_capi/Cargo.toml
-@@ -18,17 +18,9 @@ exclude = [
+@@ -18,17 +18,11 @@ exclude = [
"*.mp4",
]
-build = "build.rs"
--
++build = false
+
[dependencies]
"mp4parse" = {version = "0.6.0", path = "../mp4parse"}
diff --git media/libstagefright/binding/mp4parse_capi/Cargo.toml media/libstagefright/binding/mp4parse_capi/Cargo.toml
index aee7ee947151..d7e3f55119d3 100644
--- mozilla/media/libstagefright/binding/mp4parse_capi/Cargo.toml
+++ mozilla/media/libstagefright/binding/mp4parse_capi/Cargo.toml
@@ -18,6 +18,8 @@ exclude = [
"*.mp4",
]
+build = false
+
[dependencies]
byteorder = "1.0.0"
"mp4parse" = {version = "0.6.0", path = "../mp4parse"}

View file

@ -0,0 +1,66 @@
commit bbd48a5613c8
Author: Ralph Giles <giles@mozilla.com>
Date: Fri Feb 10 12:58:18 2017 -0800
Bug 1338655 - Don't try to build mp4parse bindings. r=froydnj
We use the cheddar crate to generate a C header file
for our mp4parse_capi wrapper crate. Currently we
do this at code check-in time via update-rust.sh.
Cargo 0.18 and later will try to execute a build.rs
file in the crate source tree regardless of whether
it's specified in Cargo.toml so patching out that
line just results in 'crate cheddar not found'.
This change restores the old behaviour by substituting
a 'build = false' line instead.
We do have syntex vendored, but we don't currently build
it by default, so I prefer this solution to just vendoring
cheddar and generating the header at build time. The syntex
crate is quite large and adds significantly to our compile
time.
MozReview-Commit-ID: InJRRODWAdP
--HG--
extra : rebase_source : 29378fcbc86015ce6cc22dc66d38a43ddbac204e
---
media/libstagefright/binding/mp4parse-cargo.patch | 5 +++--
media/libstagefright/binding/mp4parse_capi/Cargo.toml | 2 ++
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git media/libstagefright/binding/mp4parse-cargo.patch media/libstagefright/binding/mp4parse-cargo.patch
index 1dd13d20472a..bfa0ab74b424 100644
--- media/libstagefright/binding/mp4parse-cargo.patch
+++ media/libstagefright/binding/mp4parse-cargo.patch
@@ -25,12 +25,13 @@ diff --git a/media/libstagefright/binding/mp4parse_cap
index aeeebc65..5c0836a 100644
--- a/media/libstagefright/binding/mp4parse_capi/Cargo.toml
+++ b/media/libstagefright/binding/mp4parse_capi/Cargo.toml
-@@ -18,17 +18,9 @@ exclude = [
+@@ -18,17 +18,11 @@ exclude = [
"*.mp4",
]
-build = "build.rs"
--
++build = false
+
[dependencies]
"mp4parse" = {version = "0.6.0", path = "../mp4parse"}
diff --git media/libstagefright/binding/mp4parse_capi/Cargo.toml media/libstagefright/binding/mp4parse_capi/Cargo.toml
index aee7ee947151..d7e3f55119d3 100644
--- media/libstagefright/binding/mp4parse_capi/Cargo.toml
+++ media/libstagefright/binding/mp4parse_capi/Cargo.toml
@@ -18,6 +18,8 @@ exclude = [
"*.mp4",
]
+build = false
+
[dependencies]
byteorder = "1.0.0"
"mp4parse" = {version = "0.6.0", path = "../mp4parse"}

View file

@ -0,0 +1,66 @@
commit bbd48a5613c8
Author: Ralph Giles <giles@mozilla.com>
Date: Fri Feb 10 12:58:18 2017 -0800
Bug 1338655 - Don't try to build mp4parse bindings. r=froydnj
We use the cheddar crate to generate a C header file
for our mp4parse_capi wrapper crate. Currently we
do this at code check-in time via update-rust.sh.
Cargo 0.18 and later will try to execute a build.rs
file in the crate source tree regardless of whether
it's specified in Cargo.toml so patching out that
line just results in 'crate cheddar not found'.
This change restores the old behaviour by substituting
a 'build = false' line instead.
We do have syntex vendored, but we don't currently build
it by default, so I prefer this solution to just vendoring
cheddar and generating the header at build time. The syntex
crate is quite large and adds significantly to our compile
time.
MozReview-Commit-ID: InJRRODWAdP
--HG--
extra : rebase_source : 29378fcbc86015ce6cc22dc66d38a43ddbac204e
---
media/libstagefright/binding/mp4parse-cargo.patch | 5 +++--
media/libstagefright/binding/mp4parse_capi/Cargo.toml | 2 ++
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git media/libstagefright/binding/mp4parse-cargo.patch media/libstagefright/binding/mp4parse-cargo.patch
index 1dd13d20472a..bfa0ab74b424 100644
--- media/libstagefright/binding/mp4parse-cargo.patch
+++ media/libstagefright/binding/mp4parse-cargo.patch
@@ -27,12 +27,13 @@ diff --git a/media/libstagefright/binding/mp4parse_capi/Cargo.toml b/media/libst
index aeeebc65..5c0836a 100644
--- a/media/libstagefright/binding/mp4parse_capi/Cargo.toml
+++ b/media/libstagefright/binding/mp4parse_capi/Cargo.toml
-@@ -18,18 +18,10 @@ exclude = [
+@@ -18,18 +18,12 @@ exclude = [
"*.mp4",
]
-build = "build.rs"
--
++build = false
+
[dependencies]
byteorder = "1.0.0"
"mp4parse" = {version = "0.6.0", path = "../mp4parse"}
diff --git media/libstagefright/binding/mp4parse_capi/Cargo.toml media/libstagefright/binding/mp4parse_capi/Cargo.toml
index aee7ee947151..d7e3f55119d3 100644
--- media/libstagefright/binding/mp4parse_capi/Cargo.toml
+++ media/libstagefright/binding/mp4parse_capi/Cargo.toml
@@ -18,6 +18,8 @@ exclude = [
"*.mp4",
]
+build = false
+
[dependencies]
byteorder = "1.0.0"
"mp4parse" = {version = "0.6.0", path = "../mp4parse"}