#!/bin/bash set -e # exit on failure (same as -o errexit) lsb_release -a travis_retry sudo apt-get -qq update if [[ "$CC" == gcc-5 ]]; then travis_retry sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test travis_retry sudo apt-get -qq update travis_retry sudo apt-get install -qq g++-5 elif [[ "$CC" == gcc-6 ]]; then travis_retry sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test travis_retry sudo apt-get -qq update travis_retry sudo apt-get install -qq g++-6 elif [[ "$CC" == gcc-7 ]]; then travis_retry sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test travis_retry sudo apt-get -qq update travis_retry sudo apt-get install -qq g++-7 elif [[ "$CC" == gcc-8 ]]; then travis_retry sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test travis_retry sudo apt-get -qq update travis_retry sudo apt-get install -qq g++-8 fi travis_retry sudo apt-get -qq install libboost-dev WITHLANG=$SWIGLANG case "$SWIGLANG" in "") ;; "csharp") travis_retry sudo apt-get -qq install mono-devel ;; "d") travis_retry wget http://downloads.dlang.org/releases/2014/dmd_2.066.0-0_amd64.deb travis_retry sudo dpkg -i dmd_2.066.0-0_amd64.deb ;; "go") ;; "javascript") case "$ENGINE" in "node") if [[ -z "$VER" ]]; then travis_retry sudo apt-get install -qq nodejs node-gyp else travis_retry wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.10/install.sh | bash export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" travis_retry nvm install ${VER} nvm use ${VER} travis_retry npm install -g node-gyp fi ;; "jsc") travis_retry sudo apt-get install -qq libwebkitgtk-dev ;; "v8") travis_retry sudo apt-get install -qq libv8-dev ;; esac ;; "guile") travis_retry sudo apt-get -qq install guile-2.0-dev ;; "lua") if [[ -z "$VER" ]]; then travis_retry sudo apt-get -qq install lua5.2 liblua5.2-dev else travis_retry sudo add-apt-repository -y ppa:ubuntu-cloud-archive/mitaka-staging travis_retry sudo apt-get -qq update travis_retry sudo apt-get -qq install lua${VER} liblua${VER}-dev fi ;; "mzscheme") travis_retry sudo apt-get -qq install racket ;; "ocaml") # configure also looks for ocamldlgen, but this isn't packaged. But it isn't used by default so this doesn't matter. travis_retry sudo apt-get -qq install ocaml ocaml-findlib ;; "octave") if [[ -z "$VER" ]]; then travis_retry sudo apt-get -qq install liboctave-dev else # Travis adds external PPAs which contain newer versions of packages # than in baseline trusty. These newer packages prevent some of the # Octave packages in ppa:kwwette/octave, which rely on the older # packages in trusty, from installing. To prevent these kind of # interactions arising, clean out all external PPAs added by Travis # before installing Octave sudo rm -rf /etc/apt/sources.list.d/* travis_retry sudo apt-get -qq update travis_retry sudo add-apt-repository -y ppa:kwwette/octaves travis_retry sudo apt-get -qq update travis_retry sudo apt-get -qq install liboctave${VER}-dev fi ;; "php") travis_retry sudo add-apt-repository -y ppa:ondrej/php travis_retry sudo apt-get -qq update travis_retry sudo apt-get -qq install php$VER-cli php$VER-dev ;; "python") pip install --user pycodestyle if [[ "$PY3" ]]; then travis_retry sudo apt-get install -qq python3-dev fi WITHLANG=$SWIGLANG$PY3 if [[ "$VER" ]]; then travis_retry sudo add-apt-repository -y ppa:deadsnakes/ppa travis_retry sudo apt-get -qq update travis_retry sudo apt-get -qq install python${VER}-dev WITHLANG=$SWIGLANG$PY3=$SWIGLANG$VER fi ;; "r") travis_retry sudo apt-get -qq install r-base ;; "ruby") if [[ "$VER" ]]; then travis_retry rvm install $VER fi ;; "scilab") travis_retry sudo apt-get -qq install scilab ;; "tcl") travis_retry sudo apt-get -qq install tcl-dev ;; esac set +e # turn off exit on failure (same as +o errexit)