62 lines
1.4 KiB
Bash
62 lines
1.4 KiB
Bash
![]() |
#!/usr/bin/env /bash
|
||
|
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 ci/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 )
|
||
|
|
||
|
# 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
|
||
|
|
||
|
# mv built lua install to target Lua dir
|
||
|
LUA_DIR=$PROJECT_DIR/ci/lua
|
||
|
rm -rf $LUA_DIR
|
||
|
mv $SCRIPT_DIR/$LUA_BASE/install $LUA_DIR
|
||
|
|
||
|
# add to path required by luarocks installer
|
||
|
export PATH=$LUA_DIR/bin:$PATH
|
||
|
|
||
|
|
||
|
# 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 install
|
||
|
|
||
|
# cleanup source dirs
|
||
|
cd $SCRIPT_DIR
|
||
|
rm -rf $LUAROCKS_BASE
|
||
|
rm -rf $LUA_BASE
|
||
|
|