| Index: third_party/JSON/get_and_build_json_pm.sh
|
| diff --git a/third_party/JSON/get_and_build_json_pm.sh b/third_party/JSON/get_and_build_json_pm.sh
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..11d6c4dbeabe64b484efd1c95eb35aba537fa715
|
| --- /dev/null
|
| +++ b/third_party/JSON/get_and_build_json_pm.sh
|
| @@ -0,0 +1,50 @@
|
| +#!/bin/bash
|
| +# Download and build JSON.pm
|
| +# Homepage:
|
| +# http://search.cpan.org/~makamaka/JSON-2.58/lib/JSON.pm
|
| +# SRC_URL='http://www.cpan.org/authors/id/M/MA/MAKAMAKA/JSON-2.58.tar.gz'
|
| +PACKAGE='JSON'
|
| +VERSION='2.59'
|
| +SRC_URL="http://www.cpan.org/authors/id/M/MA/MAKAMAKA/$PACKAGE-$VERSION.tar.gz"
|
| +FILENAME="$(basename $SRC_URL)"
|
| +SHA1_FILENAME="$FILENAME.sha1"
|
| +BUILD_DIR="$PACKAGE-$VERSION"
|
| +INSTALL_DIR="$(pwd)/out"
|
| +
|
| +curl --remote-name "$SRC_URL"
|
| +
|
| +# Check hash
|
| +# SHA-1 hash generated via:
|
| +# shasum JSON-2.59.tar.gz > JSON-2.59.tar.gz.sha1
|
| +if ! [ -f "$SHA1_FILENAME" ]
|
| +then
|
| + echo "SHA-1 hash file $SHA1_FILENAME not found, could not verify archive"
|
| + exit 1
|
| +fi
|
| +
|
| +# Check that hash file contains hash for archive
|
| +HASHFILE_REGEX="^[0-9a-f]{40} $FILENAME" # 40-digit hash, followed by filename
|
| +if ! grep --extended-regex --line-regex --silent \
|
| + "$HASHFILE_REGEX" "$SHA1_FILENAME"
|
| +then
|
| + echo "SHA-1 hash file $SHA1_FILENAME does not contain hash for $FILENAME," \
|
| + 'could not verify archive'
|
| + echo 'Hash file contents are:'
|
| + cat "$SHA1_FILENAME"
|
| + exit 1
|
| +fi
|
| +
|
| +if ! shasum --check "$SHA1_FILENAME"
|
| +then
|
| + echo 'SHA-1 hash does not match,' \
|
| + "archive file $FILENAME corrupt or compromised!"
|
| + exit 1
|
| +fi
|
| +
|
| +# Extract and build
|
| +tar xvzf "$FILENAME"
|
| +cd "$BUILD_DIR"
|
| +perl Makefile.PL INSTALL_BASE="$INSTALL_DIR"
|
| +make
|
| +make test
|
| +make install
|
|
|