awesome/.travis.yml

99 lines
3.4 KiB
YAML

language: c
env:
matrix:
# Note: luarocks does not work with Lua 5.0.
# - LUA=5.0 LUAPKG=50 LUALIB=/usr/lib/liblua50.so
# Disable 5.1 for now: no need to test both 5.1 and 5.2 currently.
# - LUA=5.1 LUAPKG=5.1 LUALIB=/usr/lib/x86_64-linux-gnu/liblua5.1.so
- LUA=5.2 LUAPKG=5.2 LUALIB=/usr/lib/x86_64-linux-gnu/liblua5.2.so
before_install:
- cmake --version
install:
# Travis boilerplate: the apt-get cache might be out of date.
- sudo apt-get update -qq
# Do not install recommended packages with apt-get.
- echo 'APT::Install-Recommends "false";' | sudo tee /etc/apt/apt.conf.d/no-recommends
# Install dependencies according to:
# apt-cache showsrc awesome | grep -E '^(Version|Build-Depends)'
- sudo apt-get install libcairo2-dev xmlto asciidoc libpango1.0-dev cmake gperf luadoc libxcb-xtest0-dev libxcb-icccm4-dev libxcb-randr0-dev libxcb-keysyms1-dev libxcb-xinerama0-dev libxcb-image0-dev libev-dev libimlib2-dev libdbus-1-dev libxdg-basedir-dev libstartup-notification0-dev imagemagick libxcb1-dev libxcb-shape0-dev libxcb-util0-dev libxcursor-dev libx11-xcb-dev
# Install Lua (per env).
- sudo apt-get install liblua${LUAPKG}-dev lua${LUAPKG}
# For missing libxcb-cursor-dev.
- sudo apt-get install -qq xutils-dev libxcb-render-util0-dev gperf
- wget http://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.2.tar.gz
- tar xf xcb-util-cursor-0.1.2.tar.gz
- cd xcb-util-cursor-0.1.2
- ./configure
- sudo make install
- sudo ldconfig
- cd ..
# For xcb-proto >= 1.11, required by libxcb.
- wget http://xcb.freedesktop.org/dist/xcb-proto-1.11.tar.bz2
- tar xf xcb-proto-1.11.tar.bz2
- cd xcb-proto-1.11
- ./configure
- sudo make install
- cd ..
# For missing libxcb-xkb-dev.
- wget http://xcb.freedesktop.org/dist/libxcb-1.11.tar.bz2
- tar xf libxcb-1.11.tar.bz2
- cd libxcb-1.11
- ./configure
- sudo make install
- sudo ldconfig
- cd ..
# For missing libxcbcommon-dev/libxcbcommon-x11-dev (PR #227).
- wget http://xkbcommon.org/download/libxkbcommon-0.5.0.tar.xz
- tar xf libxkbcommon-0.5.0.tar.xz
- cd libxkbcommon-0.5.0
- ./configure
- sudo make install
- sudo ldconfig
- cd ..
# lgi: is too old on travis, install it via luarocks.
# - sudo apt-get install -qq lua-lgi
- sudo apt-get install -qq gir1.2-pango-1.0
# Install luarocks (for the selected Lua version).
- wget http://keplerproject.github.io/luarocks/releases/luarocks-2.2.2.tar.gz
- tar xf luarocks-2.2.2.tar.gz
- cd luarocks-2.2.2
- ./configure --lua-version=$LUA
- make build
- sudo make install
- cd ..
- sudo apt-get install -qq libgirepository1.0-dev
- sudo luarocks install lgi
# Install busted for "make check".
# Use luassert 1.7.6 (1.7.7 causes infinite loop).
# Ref: https://github.com/Olivine-Labs/luassert/issues/118
- sudo luarocks install luassert 1.7.6
- sudo luarocks install busted 2.0.rc8
# Install ldoc for building docs.
- sudo luarocks install ldoc
# Install CMake 3+, via http://www.cmake.org/download/#latest.
- wget http://www.cmake.org/files/v3.2/cmake-3.2.3-Linux-x86_64.tar.Z
- tar xf cmake-3.2.3-Linux-x86_64.tar.Z
- PATH=$PWD/cmake-3.2.3-Linux-x86_64/bin:$PATH
# Deps for functional tests.
- sudo apt-get install -qq dbus-x11 xterm xdotool xterm xvfb
script:
- export CMAKE_ARGS="-DLUA_LIBRARY=${LUALIB} -DLUA_INCLUDE_DIR=/usr/include/lua${LUAPKG}"
- make && sudo env PATH=$PATH make install && awesome --version && tests/run.sh