| #!/bin/bash | |
| set -e | |
| export DEBIAN_FRONTEND=noninteractive | |
| export LANG='C.UTF-8' | |
| export DC=gdc | |
| pkgs=( | |
| python3-pytest-xdist | |
| python3-pip libxml2-dev libxslt1-dev libyaml-dev libjson-glib-dev | |
| wget unzip cmake doxygen | |
| clang | |
| pkg-config-arm-linux-gnueabihf | |
| qt4-linguist-tools qt5-default qtbase5-private-dev | |
| python-dev | |
| libomp-dev | |
| llvm lcov | |
| ldc | |
| libclang-dev | |
| libgcrypt20-dev | |
| libgpgme-dev | |
| libhdf5-dev openssh-server | |
| libboost-python-dev libboost-regex-dev | |
| libblocksruntime-dev | |
| libperl-dev libscalapack-mpi-dev libncurses-dev | |
| ) | |
| boost_pkgs=(atomic chrono date-time filesystem log regex serialization system test thread) | |
| sed -i '/^#\sdeb-src /s/^#//' "/etc/apt/sources.list" | |
| apt-get -y update | |
| apt-get -y upgrade | |
| apt-get -y install eatmydata | |
| # Base stuff | |
| eatmydata apt-get -y build-dep meson | |
| # Add boost packages | |
| for i in "${boost_pkgs[@]}"; do | |
| for j in "1.62.0" "1.65.1"; do | |
| pkgs+=("libboost-${i}${j}") | |
| done | |
| done | |
| # packages | |
| eatmydata apt-get -y install "${pkgs[@]}" | |
| eatmydata python3 -m pip install codecov gcovr jsonschema | |
| # Install the ninja 0.10 | |
| wget https://github.com/ninja-build/ninja/releases/download/v1.10.0/ninja-linux.zip | |
| unzip ninja-linux.zip -d /ci | |
| # cleanup | |
| apt-get -y remove ninja-build | |
| apt-get -y clean | |
| apt-get -y autoclean | |
| rm ninja-linux.zip |