toxcore/other/travis/toxcore-linux-install
2017-01-02 23:43:42 +00:00

59 lines
1.8 KiB
Bash
Executable File

#!/bin/sh
# Set up opam.
opam init -y
eval `opam config env`
# Install required opam packages.
opam install -y ocamlfind ppx_deriving menhir
# Build apidsl.
git clone --depth=1 https://github.com/TokTok/apidsl ../apidsl
make -C ../apidsl -j$NPROC
# Install cpp-coveralls to upload test coverage results.
pip install --user urllib3[secure] cpp-coveralls
# Work around https://github.com/eddyxu/cpp-coveralls/issues/108 by manually
# installing the pyOpenSSL module and injecting it into urllib3 as per
# https://urllib3.readthedocs.io/en/latest/user-guide.html#ssl-py2
sed -i -e '/^import sys$/a import urllib3.contrib.pyopenssl\nurllib3.contrib.pyopenssl.inject_into_urllib3()' `which coveralls`
# Install astyle (version in ubuntu-precise too old).
[ -f $ASTYLE ] || {
wget -O ../astyle.tar.gz https://launchpad.net/ubuntu/+archive/primary/+files/astyle_2.05.1.orig.tar.gz
tar -xf ../astyle.tar.gz -C $CACHE_DIR
make -C $CACHE_DIR/astyle/build/gcc -j$NPROC
}
# Install libsodium (not in ubuntu-precise).
[ -f $CACHE_DIR/lib/libsodium.a ] || {
git clone --depth=1 --branch=stable https://github.com/jedisct1/libsodium ../libsodium
cd ../libsodium # pushd
./autogen.sh
./configure --prefix=$CACHE_DIR
make install -j$NPROC
cd - # popd
}
# Install libconfig (version in ubuntu-precise too old).
[ -f $CACHE_DIR/lib/libconfig.a ] || {
git clone --depth=1 --branch=REL1_6_STABLE https://github.com/hyperrealm/libconfig ../libconfig
cd ../libconfig # pushd
autoreconf -fi
./configure --prefix=$CACHE_DIR
touch lib/scanner.l
make install -j$NPROC
cd - # popd
}
# Install libopus (not in ubuntu-precise).
[ -f $CACHE_DIR/lib/libopus.a ] || {
git clone --depth=1 --branch=1.1.2 https://github.com/xiph/opus ../opus
cd ../opus # pushd
./autogen.sh
./configure --prefix=$CACHE_DIR
make install -j$NPROC
cd - # popd
}