mirror of
https://github.com/msva/lua-htmlparser.git
synced 2024-11-04 23:34:20 +00:00
110 lines
2.6 KiB
Bash
110 lines
2.6 KiB
Bash
#! /bin/bash
|
|
# vim: ft=sh sw=2 ts=2
|
|
|
|
# A script for setting up environment for travis-ci testing.
|
|
# Sets up Lua and Luarocks.
|
|
# LUA must be "lua5.x" or "luajit".
|
|
# luajit2.0 - master v2.0
|
|
# luajit2.1 - master v2.1
|
|
|
|
set -eufo pipefail
|
|
|
|
LUAJIT_VERSION="2.0.5"
|
|
LUAJIT_BASE="LuaJIT-${LUAJIT_VERSION}"
|
|
|
|
# shellcheck disable=SC1091
|
|
source .travis/platform.sh
|
|
|
|
LUA_HOME_DIR="${TRAVIS_BUILD_DIR}/install/lua"
|
|
|
|
LR_HOME_DIR="${TRAVIS_BUILD_DIR}/install/luarocks"
|
|
|
|
mkdir "${HOME}/.lua" -p
|
|
|
|
LUAJIT="no"
|
|
|
|
if [ "${LUA:0:6}" == "luajit" ]; then
|
|
LUAJIT="yes"
|
|
fi
|
|
|
|
mkdir -p "${LUA_HOME_DIR}"
|
|
|
|
if [ "${LUAJIT}" == "yes" ]; then
|
|
if [ "${LUA}" == "luajit" ]; then
|
|
curl -LSs "https://github.com/LuaJIT/LuaJIT/archive/v${LUAJIT_VERSION}.tar.gz" | tar xz
|
|
else
|
|
LJ_V="${LUA##luajit}"
|
|
[[ -z "${LJ_V}" ]] && LJ_V="2.0"
|
|
git clone https://github.com/LuaJIT/LuaJIT.git -b "v${LJ_V}" "${LUAJIT_BASE}"
|
|
fi
|
|
|
|
cd "${LUAJIT_BASE}"
|
|
|
|
if [ "${LUA}" == "luajit2.1" ]; then
|
|
# force the INSTALL_TNAME to be luajit
|
|
perl -i -pe 's/INSTALL_TNAME=.+/INSTALL_TNAME= luajit/' Makefile
|
|
fi
|
|
|
|
make && make install PREFIX="${LUA_HOME_DIR}"
|
|
|
|
ln -s "${LUA_HOME_DIR}/bin/luajit" "${HOME}/.lua/luajit"
|
|
ln -s "${LUA_HOME_DIR}/bin/luajit" "${HOME}/.lua/lua"
|
|
else
|
|
if [ "${LUA}" == "lua5.1" ]; then
|
|
suff="ftp/lua-5.1.5.tar.gz"
|
|
elif [ "${LUA}" == "lua5.2" ]; then
|
|
suff="ftp/lua-5.2.4.tar.gz"
|
|
elif [ "${LUA}" == "lua5.3" ]; then
|
|
suff="ftp/lua-5.3.5.tar.gz"
|
|
elif [ "${LUA}" == "lua5.4" ]; then
|
|
suff="work/lua-5.4.0-alpha-rc2.tar.gz"
|
|
fi
|
|
|
|
mkdir lua_build -p
|
|
curl -LSs "http://www.lua.org/${suff}" | tar xz -C lua_build --strip-components=1
|
|
cd lua_build
|
|
|
|
# Build Lua without backwards compatibility for testing
|
|
perl -i -pe 's/-DLUA_COMPAT_(ALL|5_[0-9])//' src/Makefile
|
|
make "${PLATFORM}"
|
|
make INSTALL_TOP="${LUA_HOME_DIR}" install
|
|
|
|
ln -s "${LUA_HOME_DIR}/bin/lua" "${HOME}/.lua/lua"
|
|
ln -s "${LUA_HOME_DIR}/bin/luac" "${HOME}/.lua/luac"
|
|
fi
|
|
|
|
cd "${TRAVIS_BUILD_DIR}"
|
|
|
|
lua -v
|
|
|
|
LUAROCKS_BASE=luarocks-$LUAROCKS
|
|
|
|
curl -LSs https://luarocks.github.io/luarocks/releases/"${LUAROCKS_BASE}".tar.gz | tar xz
|
|
|
|
cd "${LUAROCKS_BASE}"
|
|
|
|
if [ "${LUA}" == "luajit" ]; then
|
|
export LUA_INCDIR="${LUA_HOME_DIR}/include/luajit-2.0"
|
|
elif [ "${LUA}" == "luajit2.0" ]; then
|
|
export LUA_INCDIR="${LUA_HOME_DIR}/include/luajit-2.0"
|
|
elif [ "${LUA}" == "luajit2.1" ]; then
|
|
export LUA_INCDIR="${LUA_HOME_DIR}/include/luajit-2.1"
|
|
fi
|
|
|
|
./configure --with-lua="${LUA_HOME_DIR}" --prefix="${LR_HOME_DIR}"
|
|
make build && make install
|
|
|
|
ln -s "${LR_HOME_DIR}/bin/luarocks" "${HOME}/.lua/luarocks"
|
|
|
|
cd "${TRAVIS_BUILD_DIR}"
|
|
|
|
luarocks --version
|
|
|
|
rm -rf "${LUAROCKS_BASE}"
|
|
|
|
if [ "${LUAJIT}" == "yes" ]; then
|
|
rm -rf "${LUAJIT_BASE}"
|
|
else
|
|
rm -rf lua_build
|
|
fi
|