install.sh 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #!/bin/bash
  2. set -e
  3. export DEBIAN_FRONTEND=noninteractive
  4. export LANG='C.UTF-8'
  5. export DC=gdc
  6. pkgs=(
  7. python3-pytest-xdist
  8. python3-pip libxml2-dev libxslt1-dev libyaml-dev libjson-glib-dev
  9. wget unzip cmake doxygen
  10. clang
  11. pkg-config-arm-linux-gnueabihf
  12. qt4-linguist-tools qt5-default qtbase5-private-dev
  13. python-dev
  14. libomp-dev
  15. ldc
  16. libclang-dev
  17. libgcrypt20-dev
  18. libgpgme-dev
  19. libhdf5-dev openssh-server
  20. libboost-python-dev libboost-regex-dev
  21. libblocksruntime-dev
  22. libperl-dev libscalapack-mpi-dev libncurses-dev
  23. )
  24. boost_pkgs=(atomic chrono date-time filesystem log regex serialization system test thread)
  25. sed -i '/^#\sdeb-src /s/^#//' "/etc/apt/sources.list"
  26. apt-get -y update
  27. apt-get -y upgrade
  28. apt-get -y install eatmydata
  29. # Base stuff
  30. eatmydata apt-get -y build-dep meson
  31. # Add boost packages
  32. for i in "${boost_pkgs[@]}"; do
  33. for j in "1.62.0" "1.65.1"; do
  34. pkgs+=("libboost-${i}${j}")
  35. done
  36. done
  37. # packages
  38. eatmydata apt-get -y install "${pkgs[@]}"
  39. eatmydata python3 -m pip install codecov jsonschema
  40. # Install the ninja 0.10
  41. wget https://github.com/ninja-build/ninja/releases/download/v1.10.0/ninja-linux.zip
  42. unzip ninja-linux.zip -d /ci
  43. # cleanup
  44. apt-get -y remove ninja-build
  45. apt-get -y clean
  46. apt-get -y autoclean
  47. rm ninja-linux.zip