From 488304b5a5cff6ae63d5f0aa3950b61fd2f512f3 Mon Sep 17 00:00:00 2001 From: Ignacio BurgueƱo Date: Thu, 21 Jan 2016 13:54:17 -0300 Subject: Updates Travis CI scripts --- .travis.yml | 4 +-- .travis/platform.sh | 2 +- .travis/setenv_lua.sh | 3 +++ .travis/setup_lua.sh | 75 ++++++++++++++++++++++++++++++++------------------- 4 files changed, 54 insertions(+), 30 deletions(-) create mode 100644 .travis/setenv_lua.sh diff --git a/.travis.yml b/.travis.yml index 67b5812..7829ae4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,7 @@ language: c env: global: - - LUAROCKS=2.2.0-rc1 + - LUAROCKS=2.3.0 matrix: - LUA=lua5.1 - LUA=lua5.2 @@ -20,7 +20,7 @@ before_install: install: - sudo luarocks make rockspecs/luafilesystem-cvs-3.rockspec CFLAGS="-O2 -fPIC -ftest-coverage -fprofile-arcs" LIBFLAG="-shared --coverage" -script: +script: - cd tests - sudo lua test.lua diff --git a/.travis/platform.sh b/.travis/platform.sh index 4a3af0d..7259a7d 100644 --- a/.travis/platform.sh +++ b/.travis/platform.sh @@ -1,4 +1,4 @@ -if [ -z "$PLATFORM" ]; then +if [ -z "${PLATFORM:-}" ]; then PLATFORM=$TRAVIS_OS_NAME; fi diff --git a/.travis/setenv_lua.sh b/.travis/setenv_lua.sh new file mode 100644 index 0000000..8d8c825 --- /dev/null +++ b/.travis/setenv_lua.sh @@ -0,0 +1,3 @@ +export PATH=${PATH}:$HOME/.lua:$HOME/.local/bin:${TRAVIS_BUILD_DIR}/install/luarocks/bin +bash .travis/setup_lua.sh +eval `$HOME/.lua/luarocks path` diff --git a/.travis/setup_lua.sh b/.travis/setup_lua.sh index 373e24d..6dcc0c6 100644 --- a/.travis/setup_lua.sh +++ b/.travis/setup_lua.sh @@ -6,10 +6,19 @@ # luajit2.0 - master v2.0 # luajit2.1 - master v2.1 -LUAJIT_BASE="LuaJIT-2.0.3" +set -eufo pipefail + +LUAJIT_VERSION="2.0.4" +LUAJIT_BASE="LuaJIT-$LUAJIT_VERSION" source .travis/platform.sh +LUA_HOME_DIR=$TRAVIS_BUILD_DIR/install/lua + +LR_HOME_DIR=$TRAVIS_BUILD_DIR/install/luarocks + +mkdir $HOME/.lua + LUAJIT="no" if [ "$PLATFORM" == "macosx" ]; then @@ -26,68 +35,80 @@ elif [ "$(expr substr $LUA 1 6)" == "luajit" ]; then LUAJIT="yes"; fi +mkdir -p "$LUA_HOME_DIR" + if [ "$LUAJIT" == "yes" ]; then if [ "$LUA" == "luajit" ]; then - curl http://luajit.org/download/$LUAJIT_BASE.tar.gz | tar xz; + curl --location https://github.com/LuaJIT/LuaJIT/archive/v$LUAJIT_VERSION.tar.gz | tar xz; else - git clone http://luajit.org/git/luajit-2.0.git $LUAJIT_BASE; + git clone https://github.com/LuaJIT/LuaJIT.git $LUAJIT_BASE; fi cd $LUAJIT_BASE if [ "$LUA" == "luajit2.1" ]; then git checkout v2.1; + # force the INSTALL_TNAME to be luajit + perl -i -pe 's/INSTALL_TNAME=.+/INSTALL_TNAME= luajit/' Makefile fi - make && sudo make install + make && make install PREFIX="$LUA_HOME_DIR" - if [ "$LUA" == "luajit2.1" ]; then - sudo ln -s /usr/local/bin/luajit-2.1.0-alpha /usr/local/bin/luajit - sudo ln -s /usr/local/bin/luajit /usr/local/bin/lua; - else - sudo ln -s /usr/local/bin/luajit /usr/local/bin/lua; - fi; + 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 curl http://www.lua.org/ftp/lua-5.1.5.tar.gz | tar xz cd lua-5.1.5; elif [ "$LUA" == "lua5.2" ]; then - curl http://www.lua.org/ftp/lua-5.2.3.tar.gz | tar xz - cd lua-5.2.3; + curl http://www.lua.org/ftp/lua-5.2.4.tar.gz | tar xz + cd lua-5.2.4; elif [ "$LUA" == "lua5.3" ]; then - curl http://www.lua.org/work/lua-5.3.0-beta.tar.gz | tar xz - cd lua-5.3.0-beta; + curl http://www.lua.org/ftp/lua-5.3.2.tar.gz | tar xz + cd lua-5.3.2; fi - sudo make $PLATFORM install; + + # Build Lua without backwards compatibility for testing + perl -i -pe 's/-DLUA_COMPAT_(ALL|5_2)//' 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; +cd $TRAVIS_BUILD_DIR + +lua -v LUAROCKS_BASE=luarocks-$LUAROCKS -# curl http://luarocks.org/releases/$LUAROCKS_BASE.tar.gz | tar xz +curl --location http://luarocks.org/releases/$LUAROCKS_BASE.tar.gz | tar xz -git clone https://github.com/keplerproject/luarocks.git $LUAROCKS_BASE cd $LUAROCKS_BASE -git checkout v$LUAROCKS - if [ "$LUA" == "luajit" ]; then - ./configure --lua-suffix=jit --with-lua-include=/usr/local/include/luajit-2.0; + ./configure --lua-suffix=jit --with-lua-include="$LUA_HOME_DIR/include/luajit-2.0" --prefix="$LR_HOME_DIR"; elif [ "$LUA" == "luajit2.0" ]; then - ./configure --lua-suffix=jit --with-lua-include=/usr/local/include/luajit-2.0; + ./configure --lua-suffix=jit --with-lua-include="$LUA_HOME_DIR/include/luajit-2.0" --prefix="$LR_HOME_DIR"; elif [ "$LUA" == "luajit2.1" ]; then - ./configure --lua-suffix=jit --with-lua-include=/usr/local/include/luajit-2.1; + ./configure --lua-suffix=jit --with-lua-include="$LUA_HOME_DIR/include/luajit-2.1" --prefix="$LR_HOME_DIR"; else - ./configure; + ./configure --with-lua="$LUA_HOME_DIR" --prefix="$LR_HOME_DIR" fi -make build && sudo make install +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 @@ -95,7 +116,7 @@ if [ "$LUAJIT" == "yes" ]; then elif [ "$LUA" == "lua5.1" ]; then rm -rf lua-5.1.5; elif [ "$LUA" == "lua5.2" ]; then - rm -rf lua-5.2.3; + rm -rf lua-5.2.4; elif [ "$LUA" == "lua5.3" ]; then - rm -rf lua-5.3.0-beta; + rm -rf lua-5.3.2; fi -- cgit v1.2.3-55-g6feb