| #!/bin/bash |
| |
| set -e |
| |
| source /ci/common.sh |
| |
| export DEBIAN_FRONTEND=noninteractive |
| export LANG='C.UTF-8' |
| export DC=gdc |
| |
| pkgs=( |
| python3-pip libxml2-dev libxslt1-dev libyaml-dev libjson-glib-dev |
| python3.7 python3.7-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 |
| itstool |
| openjdk-11-jre |
| ) |
| |
| 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[@]}" |
| |
| # Actually select the right python version |
| update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1 \ |
| --slave /usr/lib/x86_64-linux-gnu/pkgconfig/python3.pc python3.pc /usr/lib/x86_64-linux-gnu/pkgconfig/python-3.6.pc |
| update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2 \ |
| --slave /usr/lib/x86_64-linux-gnu/pkgconfig/python3.pc python3.pc /usr/lib/x86_64-linux-gnu/pkgconfig/python-3.7.pc |
| |
| python3 -m pip install -U "${base_python_pkgs[@]}" "${python_pkgs[@]}" |
| |
| # 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 |