From 1de290b38c75d37f04edc2729e62418148584173 Mon Sep 17 00:00:00 2001 From: lethosor Date: Thu, 22 Jun 2017 11:06:37 -0400 Subject: [PATCH 1/4] 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 From 808835f1491ed538262a9c01743f05c67e4385c5 Mon Sep 17 00:00:00 2001 From: lethosor Date: Thu, 22 Jun 2017 11:13:22 -0400 Subject: [PATCH 2/4] Download Lua insecurely Travis doesn't like the HTTPS URL: https://travis-ci.org/lethosor/dfhack/builds/245829296 --- .travis.yml | 10 +++++----- travis/build-lua.sh | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 84175522d..f287c4e7a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -41,8 +41,8 @@ script: - make -j3 notifications: email: false - irc: - channels: - - "chat.freenode.net#dfhack" - on_success: change - on_failure: always + # irc: + # channels: + # - "chat.freenode.net#dfhack" + # on_success: change + # on_failure: always diff --git a/travis/build-lua.sh b/travis/build-lua.sh index 38abfd2a9..77d6e528b 100644 --- a/travis/build-lua.sh +++ b/travis/build-lua.sh @@ -2,7 +2,7 @@ set -e -LUA_URL="https://www.lua.org/ftp/lua-5.3.3.tar.gz" +LUA_URL="http://www.lua.org/ftp/lua-5.3.3.tar.gz" LUA_TAR=$(basename "$LUA_URL") LUA_DIR="${LUA_TAR%.tar.*}" LUA_SHA1="a0341bc3d1415b814cc738b2ec01ae56045d64ef" From a718aae99472a3e530ea67700ea0870c4e18430a Mon Sep 17 00:00:00 2001 From: lethosor Date: Thu, 22 Jun 2017 11:24:37 -0400 Subject: [PATCH 3/4] Fix more Lua download script issues --- travis/build-lua.sh | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/travis/build-lua.sh b/travis/build-lua.sh index 77d6e528b..18fd6a740 100644 --- a/travis/build-lua.sh +++ b/travis/build-lua.sh @@ -2,9 +2,10 @@ set -e +LUA_ROOT="$HOME/lua53" LUA_URL="http://www.lua.org/ftp/lua-5.3.3.tar.gz" LUA_TAR=$(basename "$LUA_URL") -LUA_DIR="${LUA_TAR%.tar.*}" +LUA_DIR="$LUA_ROOT/${LUA_TAR%.tar.*}" LUA_SHA1="a0341bc3d1415b814cc738b2ec01ae56045d64ef" echo $LUA_TAR @@ -16,8 +17,8 @@ sha1() { download() { echo "Downloading $LUA_URL" - wget -O "$LUA_TAR" "$LUA_URL" - tar xvf "$LUA_TAR" + wget -O "$LUA_ROOT/$LUA_TAR" "$LUA_URL" + tar xvf "$LUA_ROOT/$LUA_TAR" } build() { @@ -26,25 +27,27 @@ build() { } main() { - mkdir -p "$HOME/lua53" - cd "$HOME/lua53" + mkdir -p "$LUA_ROOT" + cd "$LUA_ROOT" mkdir -p bin - if [ "$(sha1 "$LUA_TAR" 2>/dev/null)" != "$LUA_SHA1" ]; then + if [ "$(sha1 "$LUA_ROOT/$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 + if [ -x "$LUA_DIR/src/luac" ]; then + echo "Already built" + else + build + fi fi - ln -sf "$(pwd)/$LUA_DIR/src/lua" bin/lua5.3 - ln -sf "$(pwd)/$LUA_DIR/src/luac" bin/luac5.3 + echo "Linking" + ln -sf "$LUA_DIR/src/lua" "$LUA_ROOT/bin/lua5.3" + ln -sf "$LUA_DIR/src/luac" "$LUA_ROOT/bin/luac5.3" + echo "Done" } main From f020ad0546cc92cca5a551e2a56091396e070d67 Mon Sep 17 00:00:00 2001 From: lethosor Date: Thu, 22 Jun 2017 11:37:44 -0400 Subject: [PATCH 4/4] Re-enable Lua test and IRC notifications --- .travis.yml | 12 ++++++------ travis/build-lua.sh | 5 +++-- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index f287c4e7a..ad17693a9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,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.3 -p" || true +- python travis/script-syntax.py --ext=lua --cmd="luac5.3 -p" - python travis/script-syntax.py --ext=rb --cmd="ruby -c" - mkdir build-travis - cd build-travis @@ -41,8 +41,8 @@ script: - make -j3 notifications: email: false - # irc: - # channels: - # - "chat.freenode.net#dfhack" - # on_success: change - # on_failure: always + irc: + channels: + - "chat.freenode.net#dfhack" + on_success: change + on_failure: always diff --git a/travis/build-lua.sh b/travis/build-lua.sh index 18fd6a740..e29d7ce87 100644 --- a/travis/build-lua.sh +++ b/travis/build-lua.sh @@ -8,8 +8,9 @@ LUA_TAR=$(basename "$LUA_URL") LUA_DIR="$LUA_ROOT/${LUA_TAR%.tar.*}" LUA_SHA1="a0341bc3d1415b814cc738b2ec01ae56045d64ef" -echo $LUA_TAR -echo $LUA_DIR +echo LUA_ROOT $LUA_ROOT +echo LUA_TAR $LUA_TAR +echo LUA_DIR $LUA_DIR sha1() { python -c 'import hashlib, sys; print(hashlib.sha1(open(sys.argv[1],"rb").read()).hexdigest())' "$1"