Files
cappuccino/bootstrap.sh
T
2009-11-03 14:14:08 -08:00

99 lines
2.9 KiB
Bash
Executable File

#!/bin/sh
function prompt () {
while true; do
echo "Enter \"yes\" or \"no\": "
read response
case $response
in
Y*) return 0 ;;
y*) return 0 ;;
N*) return 1 ;;
n*) return 1 ;;
*)
esac
done
}
function path_instructions () {
echo "Add \"$INSTALL_DIRECTORY/bin\" to your PATH environment variable in your shell configuration file (e.x. .profile, .bashrc, .bash_profile)."
echo "For example:"
echo " export PATH=$INSTALL_DIRECTORY/bin:\$PATH"
}
TEMPZIP="/tmp/narwhal.zip"
INSTALL_DIRECTORY="/usr/local/narwhal"
ORIGINAL_PATH="$PATH"
if ! which -s "narwhal"; then
echo "Narwhal JavaScript platform is required. Install it into \"$INSTALL_DIRECTORY\"?"
if prompt; then
echo "Downloading Narwhal..."
curl -L -o "$TEMPZIP" "http://github.com/tlrobinson/narwhal/zipball/master"
echo "Installing Narwhal..."
unzip "$TEMPZIP" -d "$INSTALL_DIRECTORY"
rm "$TEMPZIP"
mv $INSTALL_DIRECTORY/tlrobinson-narwhal-*/* $INSTALL_DIRECTORY/.
rm -rf $INSTALL_DIRECTORY/tlrobinson-narwhal-*
if ! which -s "narwhal"; then
export PATH="$INSTALL_DIRECTORY/bin:$PATH"
fi
else
echo "Narwhal required, aborting installation. To install Narwhal manually follow the instructions at http://narwhaljs.org/"
exit 1
fi
fi
if ! which -s "narwhal"; then
echo "Error: problem installing Narwhal"
exit 1
fi
echo "Installing necessary dependencies..."
tusk install browserjs
tusk install jake
if [ `uname` = "Darwin" ]; then
echo "Would you like to install the JavaScriptCore engine for Narwhal? This is optional but will make building and running Objective-J much faster."
if prompt; then
tusk install narwhal-jsc
pushd "$INSTALL_DIRECTORY/packages/narwhal-jsc"
make webkit
popd
fi
fi
export PATH="$ORIGINAL_PATH"
if ! which -s "narwhal"; then
SHELL_CONFIG=""
if [ -f "$HOME/.bashrc" ]; then
SHELL_CONFIG="$HOME/.bashrc"
elif [ -f "$HOME/.bash_profile" ]; then
SHELL_CONFIG="$HOME/.bash_profile"
elif [ -f "$HOME/.profile" ]; then
SHELL_CONFIG="$HOME/.profile"
elif [ -f "$HOME/.bash_login" ]; then
SHELL_CONFIG="$HOME/.bash_login"
fi
EXPORT_PATH_STRING="\nexport PATH=\"$INSTALL_DIRECTORY/bin:\$PATH\""
echo "You must add Narwhal's \"bin\" directory to your PATH environment variable. Do this automatically now?"
echo "\"$EXPORT_PATH_STRING\" will be appended to \"$SHELL_CONFIG\"."
if prompt; then
if [ "$SHELL_CONFIG" ]; then
echo "$EXPORT_PATH_STRING" >> "$SHELL_CONFIG"
echo "Added to \"$SHELL_CONFIG\". Restart your shell or run \"source $SHELL_CONFIG\"."
else
echo "Couldn't find a shell configuration file."
path_instructions
fi
else
path_instructions
fi
fi