servo: Merge #12863 - script: Disable our dependency in ffmpeg until the media madness is over (from emilio:disable-media); r=larsbergstrom

<!-- Please describe your changes on the following line: -->

r? @larsbergstrom

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: fb7cb92076b42caf3e66b46391e79f551bf4ba88
This commit is contained in:
Emilio Cobos Álvarez 2016-08-18 11:22:06 -05:00
parent 269e1420aa
commit 6aef8a7d74
6 changed files with 8 additions and 70 deletions

View File

@ -27,13 +27,13 @@ Please select your operating system:
#### On OS X (homebrew)
``` sh
brew install automake pkg-config python cmake ffmpeg
brew install automake pkg-config python cmake
pip install virtualenv
```
#### On OS X (MacPorts)
``` sh
sudo port install python27 py27-virtualenv cmake ffmpeg
sudo port install python27 py27-virtualenv cmake
```
#### On OS X 10.11 (El Capitan), you also have to install openssl
@ -53,16 +53,6 @@ export DEP_OPENSSL_INCLUDE=/usr/local/include
./mach build ...
```
If you get this error:
``` sh
"Couldn't find libavformat", do the following:
brew uninstall ffmpeg
brew install ffmpeg --build-from-source
./mach clean
./mach build
```
If you've already partially compiled servo but forgot to do this step, run ./mach clean, link openssl, and recompile.
#### On Debian-based Linuxes
@ -72,8 +62,7 @@ sudo apt-get install git curl freeglut3-dev autoconf \
libfreetype6-dev libgl1-mesa-dri libglib2.0-dev xorg-dev \
gperf g++ build-essential cmake virtualenv python-pip \
libssl-dev libbz2-dev libosmesa6-dev libxmu6 libxmu-dev \
libglu1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libdbus-1-dev \
libavformat-dev
libglu1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libdbus-1-dev
```
If you are on **Ubuntu 14.04** and encountered errors on installing these dependencies involving `libcheese`, see [#6158](https://github.com/servo/servo/issues/6158) for a workaround.
@ -86,7 +75,7 @@ sudo dnf install curl freeglut-devel libtool gcc-c++ libXi-devel \
freetype-devel mesa-libGL-devel mesa-libEGL-devel glib2-devel libX11-devel libXrandr-devel gperf \
fontconfig-devel cabextract ttmkfdir python python-virtualenv python-pip expat-devel \
rpm-build openssl-devel cmake bzip2-devel libXcursor-devel libXmu-devel mesa-libOSMesa-devel \
dbus-devel ffmpeg-devel
dbus-devel
```
#### On Arch Linux
@ -116,7 +105,7 @@ pacman -Su
pacman -Sy git mingw-w64-x86_64-toolchain mingw-w64-x86_64-freetype \
mingw-w64-x86_64-icu mingw-w64-x86_64-nspr mingw-w64-x86_64-ca-certificates \
mingw-w64-x86_64-expat mingw-w64-x86_64-cmake tar diffutils patch \
patchutils make python2-setuptools mingw-w64-x86_64-ffmpeg
patchutils make python2-setuptools
export GCC_URL=http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc
export GCC_EXT=5.4.0-1-any.pkg.tar.xz
pacman -U --noconfirm $GCC_URL-$GCC_EXT $GCC_URL-ada-$GCC_EXT \

View File

@ -20,9 +20,6 @@ cmake = "0.1"
[target.'cfg(any(target_os = "macos", target_os = "linux", target_os = "windows"))'.dependencies]
tinyfiledialogs = {git = "https://github.com/jdm/tinyfiledialogs"}
[target.'cfg(not(any(target_os = "android", target_arch = "arm", target_arch = "aarch64")))'.dependencies]
video-metadata = {git = "https://github.com/GuillaumeGomez/video-metadata-rs"}
[dependencies]
angle = {git = "https://github.com/servo/angle", branch = "servo"}
app_units = "0.3"

View File

@ -36,8 +36,6 @@ use string_cache::Atom;
use task_source::TaskSource;
use time::{self, Timespec, Duration};
use url::Url;
#[cfg(not(any(target_os = "android", target_arch = "arm", target_arch = "aarch64")))]
use video_metadata;
struct HTMLMediaElementContext {
/// The element that initiated the request.
@ -161,31 +159,11 @@ impl HTMLMediaElementContext {
}
}
#[cfg(not(any(target_os = "android", target_arch = "arm", target_arch = "aarch64")))]
fn check_metadata(&mut self, elem: &HTMLMediaElement) {
match video_metadata::get_format_from_slice(&self.data) {
Ok(meta) => {
let dur = meta.duration.unwrap_or(::std::time::Duration::new(0, 0));
*elem.video.borrow_mut() = Some(VideoMedia {
format: format!("{:?}", meta.format),
duration: Duration::seconds(dur.as_secs() as i64) +
Duration::nanoseconds(dur.subsec_nanos() as i64),
width: meta.size.width,
height: meta.size.height,
video: meta.video,
audio: meta.audio,
});
// Step 6
elem.change_ready_state(HAVE_METADATA);
self.have_metadata = true;
}
_ => {}
}
}
#[cfg(any(target_os = "android", target_arch = "arm", target_arch = "aarch64"))]
fn check_metadata(&mut self, elem: &HTMLMediaElement) {
// Step 6.
//
// TODO: Properly implement once we have figured out the build and
// licensing ffmpeg issues.
elem.change_ready_state(HAVE_METADATA);
self.have_metadata = true;
}

View File

@ -89,8 +89,6 @@ extern crate url;
#[macro_use]
extern crate util;
extern crate uuid;
#[cfg(not(any(target_os = "android", target_arch = "arm", target_arch = "aarch64")))]
extern crate video_metadata;
extern crate webrender_traits;
extern crate websocket;
extern crate xml5ever;

View File

@ -1941,7 +1941,6 @@ dependencies = [
"url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"util 0.0.1",
"uuid 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"video-metadata 0.1.3 (git+https://github.com/GuillaumeGomez/video-metadata-rs)",
"webrender_traits 0.3.0 (git+https://github.com/servo/webrender_traits)",
"websocket 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)",
"xml5ever 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2479,17 +2478,6 @@ dependencies = [
"serde 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "video-metadata"
version = "0.1.3"
source = "git+https://github.com/GuillaumeGomez/video-metadata-rs#ca921f8529d4ed4b3e093fe30143b3fba08a7bf4"
dependencies = [
"gcc 0.3.28 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "void"
version = "1.0.2"

View File

@ -1793,7 +1793,6 @@ dependencies = [
"url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"util 0.0.1",
"uuid 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"video-metadata 0.1.3 (git+https://github.com/GuillaumeGomez/video-metadata-rs)",
"webrender_traits 0.3.0 (git+https://github.com/servo/webrender_traits)",
"websocket 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)",
"xml5ever 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2339,17 +2338,6 @@ dependencies = [
"serde 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "video-metadata"
version = "0.1.3"
source = "git+https://github.com/GuillaumeGomez/video-metadata-rs#ca921f8529d4ed4b3e093fe30143b3fba08a7bf4"
dependencies = [
"gcc 0.3.28 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "void"
version = "1.0.2"