|  | @@ -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\)
 | 
	
		
			
				|  |  | -
 |