#!/bin/sh set -e LUA_ROOT="$HOME/lua53" LUA_URL="http://www.lua.org/ftp/lua-5.3.3.tar.gz" LUA_TAR=$(basename "$LUA_URL") LUA_DIR="$LUA_ROOT/${LUA_TAR%.tar.*}" LUA_SHA1="a0341bc3d1415b814cc738b2ec01ae56045d64ef" echo LUA_ROOT $LUA_ROOT echo LUA_TAR $LUA_TAR echo LUA_DIR $LUA_DIR sha1() { python -c 'import hashlib, sys; print(hashlib.sha1(open(sys.argv[1],"rb").read()).hexdigest())' "$1" } download() { echo "Downloading $LUA_URL" wget -O "$LUA_ROOT/$LUA_TAR" "$LUA_URL" tar xvf "$LUA_ROOT/$LUA_TAR" } build() { cd "$LUA_DIR/src" make generic } main() { mkdir -p "$LUA_ROOT" cd "$LUA_ROOT" mkdir -p bin if [ "$(sha1 "$LUA_ROOT/$LUA_TAR" 2>/dev/null)" != "$LUA_SHA1" ]; then download build else echo "Already downloaded" if [ -x "$LUA_DIR/src/luac" ]; then echo "Already built" else build fi fi echo "Linking" ln -sf "$LUA_DIR/src/lua" "$LUA_ROOT/bin/lua5.3" ln -sf "$LUA_DIR/src/luac" "$LUA_ROOT/bin/luac5.3" echo "Done" } main