1#! /bin/bash
2
3# A script for setting up environment for travis-ci testing.
4# Sets up Lua and Luarocks.
5# LUA must be "lua5.1", "lua5.2" or "luajit".
6# luajit2.0 - master v2.0
7# luajit2.1 - master v2.1
8
9LUAJIT_BASE="LuaJIT-2.0.3"
10
11source .travis/platform.sh
12
13LUAJIT="no"
14
15if [ "$PLATFORM" == "macosx" ]; then
16  if [ "$LUA" == "luajit" ]; then
17    LUAJIT="yes";
18  fi
19  if [ "$LUA" == "luajit2.0" ]; then
20    LUAJIT="yes";
21  fi
22  if [ "$LUA" == "luajit2.1" ]; then
23    LUAJIT="yes";
24  fi;
25elif [ "$(expr substr $LUA 1 6)" == "luajit" ]; then
26  LUAJIT="yes";
27fi
28
29if [ "$LUAJIT" == "yes" ]; then
30
31  if [ "$LUA" == "luajit" ]; then
32    curl http://luajit.org/download/$LUAJIT_BASE.tar.gz | tar xz;
33  else
34    git clone http://luajit.org/git/luajit-2.0.git $LUAJIT_BASE;
35  fi
36
37  cd $LUAJIT_BASE
38
39  if [ "$LUA" == "luajit2.1" ]; then
40    git checkout v2.1;
41  fi
42
43  make && sudo make install
44
45  if [ "$LUA" == "luajit2.1" ]; then
46    sudo ln -s /usr/local/bin/luajit-2.1.0-alpha /usr/local/bin/luajit
47    sudo ln -s /usr/local/bin/luajit /usr/local/bin/lua;
48  else
49    sudo ln -s /usr/local/bin/luajit /usr/local/bin/lua;
50  fi;
51
52else
53  if [ "$LUA" == "lua5.1" ]; then
54    curl http://www.lua.org/ftp/lua-5.1.5.tar.gz | tar xz
55    cd lua-5.1.5;
56  elif [ "$LUA" == "lua5.2" ]; then
57    curl http://www.lua.org/ftp/lua-5.2.3.tar.gz | tar xz
58    cd lua-5.2.3;
59  elif [ "$LUA" == "lua5.3" ]; then
60    curl http://www.lua.org/work/lua-5.3.0-beta.tar.gz | tar xz
61    cd lua-5.3.0-beta;
62  fi
63  sudo make $PLATFORM install;
64fi
65
66cd $TRAVIS_BUILD_DIR;
67
68LUAROCKS_BASE=luarocks-$LUAROCKS
69
70# curl http://luarocks.org/releases/$LUAROCKS_BASE.tar.gz | tar xz
71
72git clone https://github.com/keplerproject/luarocks.git $LUAROCKS_BASE
73cd $LUAROCKS_BASE
74
75git checkout v$LUAROCKS
76
77if [ "$LUA" == "luajit" ]; then
78  ./configure --lua-suffix=jit --with-lua-include=/usr/local/include/luajit-2.0;
79elif [ "$LUA" == "luajit2.0" ]; then
80  ./configure --lua-suffix=jit --with-lua-include=/usr/local/include/luajit-2.0;
81elif [ "$LUA" == "luajit2.1" ]; then
82  ./configure --lua-suffix=jit --with-lua-include=/usr/local/include/luajit-2.1;
83else
84  ./configure;
85fi
86
87make build && sudo make install
88
89cd $TRAVIS_BUILD_DIR
90
91rm -rf $LUAROCKS_BASE
92
93if [ "$LUAJIT" == "yes" ]; then
94  rm -rf $LUAJIT_BASE;
95elif [ "$LUA" == "lua5.1" ]; then
96  rm -rf lua-5.1.5;
97elif [ "$LUA" == "lua5.2" ]; then
98  rm -rf lua-5.2.3;
99elif [ "$LUA" == "lua5.3" ]; then
100  rm -rf lua-5.3.0-beta;
101fi
102