Index: third_party/jinja2/get_jinja2.sh |
diff --git a/third_party/jinja2/get_jinja2.sh b/third_party/jinja2/get_jinja2.sh |
new file mode 100755 |
index 0000000000000000000000000000000000000000..950214653ba1c69356157e7d01ab8550c0e59841 |
--- /dev/null |
+++ b/third_party/jinja2/get_jinja2.sh |
@@ -0,0 +1,123 @@ |
+#!/bin/bash |
+# Download and extract Jinja2 |
+# Homepage: |
+# http://jinja.pocoo.org/ |
+# Installation instructions: |
+# http://jinja.pocoo.org/docs/intro/#from-the-tarball-release |
+# Download page: |
+# https://pypi.python.org/pypi/Jinja2 |
+PACKAGE='Jinja2' |
+VERSION='2.7.1' |
+PACKAGE_DIR='jinja2' |
+ |
+CHROMIUM_FILES="README.chromium OWNERS get_jinja2.sh" |
+EXTRA_FILES='LICENSE AUTHORS' |
+REMOVE_FILES='testsuite' |
+ |
+SRC_URL='https://pypi.python.org/packages/source/' |
+SRC_URL+="${PACKAGE:0:1}/$PACKAGE/$PACKAGE-$VERSION.tar.gz" |
+FILENAME="$(basename $SRC_URL)" |
+MD5_FILENAME="$FILENAME.md5" |
+SHA512_FILENAME="$FILENAME.sha512" |
+CHROMIUM_FILES+=" $MD5_FILENAME $SHA512_FILENAME" |
+ |
+BUILD_DIR="$PACKAGE-$VERSION" |
+THIRD_PARTY="$(dirname $(realpath $(dirname "${BASH_SOURCE[0]}")))" |
+INSTALL_DIR="$THIRD_PARTY/$PACKAGE_DIR" |
+OUT_DIR="$INSTALL_DIR/$BUILD_DIR/$PACKAGE_DIR" |
+OLD_DIR="$THIRD_PARTY/$PACKAGE_DIR.old" |
+ |
+function check_hashes { |
+ # Hashes generated via: |
+ # FILENAME=Jinja2-2.7.1.tar.gz |
+ # md5sum "$FILENAME" > "$FILENAME.md5" |
+ # sha512sum "$FILENAME" > "$FILENAME.sha512" |
+ # unset FILENAME |
+ |
+ # MD5 |
+ if ! [ -f "$MD5_FILENAME" ] |
+ then |
+ echo "MD5 hash file $MD5_FILENAME not found, could not verify archive" |
+ exit 1 |
+ fi |
+ |
+ # 32-digit hash, followed by filename |
+ MD5_HASHFILE_REGEX="^[0-9a-f]{32} $FILENAME" |
+ if ! grep --extended-regex --line-regex --silent \ |
+ "$MD5_HASHFILE_REGEX" "$MD5_FILENAME" |
+ then |
+ echo "MD5 hash file $MD5_FILENAME does not contain hash for $FILENAME," \ |
+ 'could not verify archive' |
+ echo 'Hash file contents are:' |
+ cat "$MD5_FILENAME" |
+ exit 1 |
+ fi |
+ |
+ if ! md5sum --check "$MD5_FILENAME" |
+ then |
+ echo 'MD5 hash does not match,' \ |
+ "archive file $FILENAME corrupt or compromised!" |
+ exit 1 |
+ fi |
+ |
+ # SHA-512 |
+ if ! [ -f "$SHA512_FILENAME" ] |
+ then |
+ echo "SHA-512 hash file $SHA512_FILENAME not found," \ |
+ 'could not verify archive' |
+ exit 1 |
+ fi |
+ |
+ # 128-digit hash, followed by filename |
+ SHA512_HASHFILE_REGEX="^[0-9a-f]{128} $FILENAME" |
+ if ! grep --extended-regex --line-regex --silent \ |
+ "$SHA512_HASHFILE_REGEX" "$SHA512_FILENAME" |
+ then |
+ echo "SHA-512 hash file $SHA512_FILENAME does not contain hash for" \ |
+ "$FILENAME, could not verify archive" |
+ echo 'Hash file contents are:' |
+ cat "$SHA512_FILENAME" |
+ exit 1 |
+ fi |
+ |
+ if ! sha512sum --check "$SHA512_FILENAME" |
+ then |
+ echo 'SHA-512 hash does not match,' \ |
+ "archive file $FILENAME corrupt or compromised!" |
+ exit 1 |
+ fi |
+} |
+ |
+ |
+################################################################################ |
+# Body |
+ |
+cd "$INSTALL_DIR" |
+echo "Downloading $SRC_URL" |
+curl --remote-name "$SRC_URL" |
+check_hashes |
+tar xvzf "$FILENAME" |
+# Copy extra files over |
+for FILE in $CHROMIUM_FILES |
+do |
+ cp "$FILE" "$OUT_DIR" |
+done |
+ |
+cd "$BUILD_DIR" |
+for FILE in $EXTRA_FILES |
+do |
+ cp "$FILE" "$OUT_DIR" |
+done |
+ |
+cd "$OUT_DIR" |
+for FILE in $REMOVE_FILES |
+do |
+ rm -fr "$FILE" |
+done |
+ |
+# Replace with new directory |
+cd .. |
+mv "$INSTALL_DIR" "$OLD_DIR" |
+mv "$PACKAGE_DIR" "$INSTALL_DIR" |
+cd "$INSTALL_DIR" |
+rm -fr "$OLD_DIR" |