media/libstagefright/binding/update-rust.sh
author Alfredo Yang <ayang@mozilla.com>
Thu, 25 May 2017 14:33:36 +0800
changeset 584328 d7e010f17c5c4e4894425ec0011859ccf46381a6
parent 566683 65ca05fc7aadd830457f58b492eb46c1f31d0b65
child 585000 12ca88702e981ce66b082dd452127025bd091ef1
permissions -rwxr-xr-x
Bug 1363669 - update rust mp4 parser for mp4v. r?kinetik MozReview-Commit-ID: 3HhKbIxTBPV

#!/bin/sh -e
# Script to update mp4parse-rust sources to latest upstream

# Default version.
VER=70b2008dc9fd5cd09fb5b047e72616c5cf52c1d7

# Accept version or commit from the command line.
if test -n "$1"; then
  VER=$1
fi

echo "Fetching sources..."
rm -rf _upstream
git clone https://github.com/mozilla/mp4parse-rust _upstream/mp4parse
pushd _upstream/mp4parse
git checkout ${VER}
echo "Verifying sources..."
pushd mp4parse
cargo test
popd
echo "Constructing C api header..."
pushd mp4parse_capi
cargo build
echo "Verifying sources..."
cargo test
popd
popd
rm -rf mp4parse
mkdir -p mp4parse/src
cp _upstream/mp4parse/mp4parse/Cargo.toml mp4parse/
cp _upstream/mp4parse/mp4parse/src/*.rs mp4parse/src/
mkdir -p mp4parse/tests
cp _upstream/mp4parse/mp4parse/tests/*.rs mp4parse/tests/
cp _upstream/mp4parse/mp4parse/tests/*.mp4 mp4parse/tests/
rm -rf mp4parse_capi
mkdir -p mp4parse_capi/src
cp _upstream/mp4parse/mp4parse_capi/Cargo.toml mp4parse_capi/
cp _upstream/mp4parse/mp4parse_capi/build.rs mp4parse_capi/
cp _upstream/mp4parse/mp4parse_capi/include/mp4parse.h include/
cp _upstream/mp4parse/mp4parse_capi/src/*.rs mp4parse_capi/src/

echo "Applying patches..."
patch -p4 < mp4parse-cargo.patch

echo "Cleaning up..."
rm -rf _upstream

echo "Updating gecko Cargo.lock..."
pushd ../../../toolkit/library/rust/
cargo update --package mp4parse_capi
popd
pushd ../../../toolkit/library/gtest/rust/
cargo update --package mp4parse_capi
popd

echo "Updated to ${VER}."