|
@@ -1,50 +1,61 @@
|
|
|
#! /bin/bash
|
|
|
-set -e
|
|
|
+set -ev
|
|
|
+
|
|
|
+# this script installs a lua / luarocks environment in .travis/lua
|
|
|
+# this is necessary because travis docker architecture (the fast way)
|
|
|
+# does not permit sudo, and does not contain a useful lua installation
|
|
|
+
|
|
|
+# After this script is finished, you can configure your environment to
|
|
|
+# use it by sourcing lua_env.sh
|
|
|
|
|
|
source .travis/platform.sh
|
|
|
|
|
|
+# The current versions when this script was written
|
|
|
LUA_VERSION=5.2.4
|
|
|
LUAROCKS_VERSION=2.2.2
|
|
|
|
|
|
# directory where this script is located
|
|
|
SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
|
|
|
-BUILD_DIR=${TRAVIS_BUILD_DIR:=$SCRIPT_DIR}/build
|
|
|
-echo @BUILD_DIR = $BUILD_DIR
|
|
|
-mkdir -p $BUILD_DIR
|
|
|
-cd $BUILD_DIR
|
|
|
|
|
|
+# civetweb base dir
|
|
|
+PROJECT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )"/.. && pwd )
|
|
|
+
|
|
|
+# fetch and unpack lua src
|
|
|
+cd $SCRIPT_DIR
|
|
|
LUA_BASE=lua-$LUA_VERSION
|
|
|
rm -rf $LUA_BASE
|
|
|
curl http://www.lua.org/ftp/$LUA_BASE.tar.gz | tar zx
|
|
|
|
|
|
+# build lua
|
|
|
cd $LUA_BASE
|
|
|
make $PLATFORM
|
|
|
make local
|
|
|
|
|
|
-LUA_DIR=$BUILD_DIR/lua
|
|
|
+# mv built lua install to target Lua dir
|
|
|
+LUA_DIR=$SCRIPT_DIR/lua
|
|
|
rm -rf $LUA_DIR
|
|
|
-mv install/ $LUA_DIR
|
|
|
+mv $SCRIPT_DIR/$LUA_BASE/install $LUA_DIR
|
|
|
+
|
|
|
+# add to path required by luarocks installer
|
|
|
export PATH=$LUA_DIR/bin:$PATH
|
|
|
|
|
|
-cd $BUILD_DIR
|
|
|
|
|
|
+# fetch and unpack luarocks
|
|
|
+cd $SCRIPT_DIR
|
|
|
LUAROCKS_BASE=luarocks-$LUAROCKS_VERSION
|
|
|
rm -rf ${LUAROCKS_BASE}
|
|
|
LUAROCKS_URL=http://luarocks.org/releases/${LUAROCKS_BASE}.tar.gz
|
|
|
+# -L because it's a 302 redirect
|
|
|
curl -L $LUAROCKS_URL | tar xzp
|
|
|
cd $LUAROCKS_BASE
|
|
|
|
|
|
+# build luarocks
|
|
|
./configure --prefix=$LUA_DIR
|
|
|
-make build
|
|
|
+make build
|
|
|
make install
|
|
|
|
|
|
-cd $BUILD_DIR
|
|
|
-
|
|
|
+# cleanup source dirs
|
|
|
+cd $SCRIPT_DIR
|
|
|
rm -rf $LUAROCKS_BASE
|
|
|
rm -rf $LUA_BASE
|
|
|
|
|
|
-echo you need to run the following commands to setup the env vars
|
|
|
-echo export PATH=\$\($LUA_DIR/bin/luarocks path --bin\):\$PATH
|
|
|
-echo export LUA_PATH=\$\(${LUA_DIR}/bin/luarocks path --lr-path\)
|
|
|
-echo export LUA_CPATH=\$\(${LUA_DIR}/bin/luarocks path --lr-cpath\)
|
|
|
-
|