|
|
|
#!/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
|