#!/bin/sh
|
|
|
|
# only argument should be the version to upgrade to
|
|
if [ $# != 1 ]
|
|
then
|
|
echo "Expected a version tag like v2.7.1"
|
|
exit 1
|
|
fi
|
|
|
|
VERSION="$1"
|
|
URL="https://github.com/skypjack/entt/archive/$VERSION.tar.gz"
|
|
FORMULA="entt.rb"
|
|
|
|
echo "Updating homebrew package to $VERSION"
|
|
|
|
echo "Cloning..."
|
|
git clone https://github.com/skypjack/homebrew-entt.git
|
|
if [ $? != 0 ]
|
|
then
|
|
exit 1
|
|
fi
|
|
cd homebrew-entt
|
|
|
|
# download the repo at the version
|
|
# exit with error messages if curl fails
|
|
echo "Curling..."
|
|
curl "$URL" --location --fail --silent --show-error --output archive.tar.gz
|
|
if [ $? != 0 ]
|
|
then
|
|
exit 1
|
|
fi
|
|
|
|
# compute sha256 hash
|
|
echo "Hashing..."
|
|
HASH="$(openssl sha256 archive.tar.gz | cut -d " " -f 2)"
|
|
|
|
# delete the archive
|
|
rm archive.tar.gz
|
|
|
|
echo "Sedding..."
|
|
|
|
# change the url in the formula file
|
|
# the slashes in the URL must be escaped
|
|
ESCAPED_URL="$(sed -e 's/[\/&]/\\&/g' <<< "$URL")"
|
|
sed -i -e '/url/s/".*"/"'$ESCAPED_URL'"/' $FORMULA
|
|
|
|
# change the hash in the formula file
|
|
sed -i -e '/sha256/s/".*"/"'$HASH'"/' $FORMULA
|
|
|
|
# delete temporary file created by sed
|
|
rm "$FORMULA-e"
|
|
|
|
# update remote repo
|
|
echo "Gitting..."
|
|
git add entt.rb
|
|
git commit -m "Update to $VERSION"
|
|
git push origin master
|
|
|
|
# out of homebrew-entt dir
|
|
cd ..
|