From 1de290b38c75d37f04edc2729e62418148584173 Mon Sep 17 00:00:00 2001 From: lethosor Date: Thu, 22 Jun 2017 11:06:37 -0400 Subject: [PATCH] Travis: Add script to build Lua 5.3 --- .travis.yml | 11 +++++++--- travis/build-lua.sh | 50 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 travis/build-lua.sh diff --git a/.travis.yml b/.travis.yml index 3e5677ff7..84175522d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,12 @@ sudo: false language: cpp +cache: + pip: true + directories: + - $HOME/lua53 addons: apt: packages: &default_packages - - lua5.2 - libxml-libxml-perl - libxml-libxslt-perl - zlib1g-dev:i386 @@ -19,8 +22,10 @@ matrix: - gcc-4.8-multilib - g++-4.8-multilib before_install: - pip install --user "sphinx==1.4" "requests[security]" +- pip install --user "sphinx==1.4" "requests[security]" +- sh travis/build-lua.sh script: +- export PATH="$PATH:$HOME/lua53/bin" - git tag tmp-travis-build - sh travis/git-info.sh - sphinx-build -qW -j3 . docs/html @@ -28,7 +33,7 @@ script: - python travis/lint.py - python travis/authors-rst.py - python travis/script-docs.py -- python travis/script-syntax.py --ext=lua --cmd="luac5.2 -p" || true +- python travis/script-syntax.py --ext=lua --cmd="luac5.3 -p" || true - python travis/script-syntax.py --ext=rb --cmd="ruby -c" - mkdir build-travis - cd build-travis diff --git a/travis/build-lua.sh b/travis/build-lua.sh new file mode 100644 index 000000000..38abfd2a9 --- /dev/null +++ b/travis/build-lua.sh @@ -0,0 +1,50 @@ +#!/bin/sh + +set -e + +LUA_URL="https://www.lua.org/ftp/lua-5.3.3.tar.gz" +LUA_TAR=$(basename "$LUA_URL") +LUA_DIR="${LUA_TAR%.tar.*}" +LUA_SHA1="a0341bc3d1415b814cc738b2ec01ae56045d64ef" + +echo $LUA_TAR +echo $LUA_DIR + +sha1() { + python -c 'import hashlib, sys; print(hashlib.sha1(open(sys.argv[1],"rb").read()).hexdigest())' "$1" +} + +download() { + echo "Downloading $LUA_URL" + wget -O "$LUA_TAR" "$LUA_URL" + tar xvf "$LUA_TAR" +} + +build() { + cd "$LUA_DIR/src" + make generic +} + +main() { + mkdir -p "$HOME/lua53" + cd "$HOME/lua53" + mkdir -p bin + + if [ "$(sha1 "$LUA_TAR" 2>/dev/null)" != "$LUA_SHA1" ]; then + download + build + else + echo "Already downloaded" + fi + + if [ -x "$LUA_DIR/src/luac" ]; then + echo "Already built" + else + build + fi + + ln -sf "$(pwd)/$LUA_DIR/src/lua" bin/lua5.3 + ln -sf "$(pwd)/$LUA_DIR/src/luac" bin/luac5.3 +} + +main