Path: blob/main/contrib/lutok/admin/travis-install-deps.sh
108716 views
#! /bin/sh1# Copyright 2014 Google Inc.2# All rights reserved.3#4# Redistribution and use in source and binary forms, with or without5# modification, are permitted provided that the following conditions are6# met:7#8# * Redistributions of source code must retain the above copyright9# notice, this list of conditions and the following disclaimer.10# * Redistributions in binary form must reproduce the above copyright11# notice, this list of conditions and the following disclaimer in the12# documentation and/or other materials provided with the distribution.13# * Neither the name of Google Inc. nor the names of its contributors14# may be used to endorse or promote products derived from this software15# without specific prior written permission.16#17# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS18# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT19# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR20# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT21# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,22# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT23# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,24# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY25# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT26# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE27# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.2829set -e -x3031install_deps() {32sudo apt-get update -qq3334local pkgsuffix=35local packages=36if [ "${ARCH?}" = i386 ]; then37pkgsuffix=:i38638packages="${packages} gcc-multilib"39packages="${packages} g++-multilib"40fi41packages="${packages} doxygen"42packages="${packages} gdb"43packages="${packages} liblua5.2-0${pkgsuffix}"44packages="${packages} liblua5.2-dev${pkgsuffix}"45packages="${packages} libsqlite3-0${pkgsuffix}"46packages="${packages} libsqlite3-dev${pkgsuffix}"47packages="${packages} pkg-config${pkgsuffix}"48packages="${packages} sqlite3"49sudo apt-get install -y ${packages}50}5152install_from_github() {53local project="${1}"; shift54local name="${1}"; shift55local release="${1}"; shift5657local distname="${name}-${release}"5859local baseurl="https://github.com/jmmv/${project}"60wget --no-check-certificate \61"${baseurl}/releases/download/${distname}/${distname}.tar.gz"62tar -xzvf "${distname}.tar.gz"6364local archflags=65[ "${ARCH?}" != i386 ] || archflags=-m326667cd "${distname}"68./configure \69--disable-developer \70--without-atf \71--without-doxygen \72CFLAGS="${archflags}" \73CPPFLAGS="-I/usr/local/include" \74CXXFLAGS="${archflags}" \75LDFLAGS="-L/usr/local/lib -Wl,-R/usr/local/lib" \76PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"77make78sudo make install79cd -8081rm -rf "${distname}" "${distname}.tar.gz"82}8384install_from_bintray() {85case "${ARCH?}" in86amd64)87name="20160204-usr-local-kyua-ubuntu-12-04-amd64-${CC?}.tar.gz"88;;89i386)90name="20160714-usr-local-kyua-ubuntu-12-04-i386-${CC?}.tar.gz"91;;92*)93echo "ERROR: Unknown ARCH value ${ARCH}" 1>&294exit 195;;96esac97wget "http://dl.bintray.com/jmmv/kyua/${name}" || return 198sudo tar -xzvp -C / -f "${name}"99rm -f "${name}"100}101102install_deps103if ! install_from_bintray; then104install_from_github atf atf 0.20105install_from_github lutok lutok 0.4106install_from_github kyua kyua-testers 0.2107install_from_github kyua kyua-cli 0.8108fi109110111