Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save loudoweb/732d908ea89900190b4bf72425b66bf8 to your computer and use it in GitHub Desktop.
Save loudoweb/732d908ea89900190b4bf72425b66bf8 to your computer and use it in GitHub Desktop.
install haxe from docker and copy to system (needs docker installed)
#!/bin/bash
# >>>>>> HELPER FUNCTIONS
function echoSection {
echo -en "\e[33m\n--------------------------------------------------------------------------------\n--\n-- " $1 "\n--\n----------------------------------------------------------------------------------\e[37m\n"
}
function echoLine {
echo -en "\e[33m\n-- " $1 "\e[37m"
}
function echoWarn {
echo -en "\e[38m\n--------------------------------------------------------------------------------\n--\n-- " $1 "\n--\n--------------------------------------------------------------------------------\e[37m\n"
}
function echoFail {
echo -en "\e[31m\n--------------------------------------------------------------------------------\n--\n-- " $1 "\n--\n--------------------------------------------------------------------------------\e[37m\n"
}
function echoConfirm {
echo -en "\n\e[35m------------------------------------------------------------------------------------\n--\n"
read -p "-- $1? [Y/n] " -n 1 -r
echo -en "\n--\n-----------------------------------------------------------------------------------\e[37m\n"
}
#END HELPER FUNCTIONS <<<<<<<<
#echo $0
DOCKER='/usr/bin/docker'
if [ "$#" -ne 1 ]; then
echo -en "\nUsage: $0 TAGNAME \ni.e. : \e[3m $0 4.1.5-buster\n\e[0m"
exit 0;
fi
if test -f "$DOCKER"
then
echoLine "Ok you have docker installed, let's get going";
else
echoConfirm "hmmm Docker is not installed yet, would you like to install (needs reboot)"
if [[ $REPLY =~ ^[Yy]$ ]]
then
curl -sSL https://get.docker.com | sh
sudo usermod -aG docker pi
echoSection "Docker is now installed, but you need to reboot and run this script again."
exit 0;
else
echoWarn "Ok, not running this script any further"
exit 0;
fi
fi
mkdir -p ./docker_haxe/
sudo mkdir -p /usr/local/share/haxe/
sudo mkdir -p /usr/local/share/haxe/std
echoSection "running/getting docker image";
docker run haxe:$1
echoSection "getting CONTAINERID"
CONTAINERID=`docker ps -aq --latest`
echoLine "copying from container: $CONTAINERID"
docker cp $CONTAINERID:/usr/local/bin/haxe ./docker_haxe/
docker cp $CONTAINERID:/usr/local/bin/haxelib ./docker_haxe/
docker cp $CONTAINERID:/usr/local/share/haxe/std ./docker_haxe/
echoLine "creative haxe-binaries.tgz archive for future use"
tar zcf haxe-binaries.tgz ./docker_haxe
cd ./docker_haxe/
echoSection "copying haxe and haxelib binaries to /usr/local/bin/"
sudo cp haxe /usr/local/bin/
sudo cp haxelib /usr/local/bin/
echoSection "copying haxe std lib to to /usr/local/share/haxe/std"
sudo cp -R std /usr/local/share/haxe/std
echoSection "adding HAXE_STD_PATH to ~/.baschrc"
if [ `grep 'export HAXE_STD_PATH' ~/.bashrc | wc -l` -eq 0 ]; then
echo -e "\nexport HAXE_STD_PATH=\"/usr/local/share/haxe/std\"" >> ~/.bashrc
fi
echoSection "installing neko"
sudo apt install neko
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment