blob: 60ced61bc20559e7d5730c6153bf864d6403f414 [file] [log] [blame]
Alexander Afanasyevb81cff92015-07-09 09:45:09 +08001#!/usr/bin/env bash
Davide Pesavento72517b52022-08-13 18:50:55 -04002set -eo pipefail
Alexander Afanasyevb81cff92015-07-09 09:45:09 +08003
Davide Pesaventoa1b15192024-02-09 19:27:34 -05004APT_PKGS=(
Davide Pesaventoe76d7b52024-04-09 16:54:01 -04005 dpkg-dev
6 g++
Davide Pesaventoa1b15192024-02-09 19:27:34 -05007 libboost-chrono-dev
8 libboost-date-time-dev
9 libboost-dev
Davide Pesaventoa1b15192024-02-09 19:27:34 -050010 libboost-log-dev
11 libboost-program-options-dev
12 libboost-stacktrace-dev
13 libboost-test-dev
14 libboost-thread-dev
15 libpcap-dev
16 libsqlite3-dev
17 libssl-dev
18 libsystemd-dev
Davide Pesaventoe11fa9a2025-03-18 02:42:03 -040019 pkgconf
Davide Pesaventoe76d7b52024-04-09 16:54:01 -040020 python3
Davide Pesaventoa1b15192024-02-09 19:27:34 -050021)
Davide Pesaventoe11fa9a2025-03-18 02:42:03 -040022DNF_PKGS=(
23 boost-devel
24 gcc-c++
25 libasan
26 libpcap-devel
27 lld
28 openssl-devel
29 pkgconf
30 python3
31 sqlite-devel
32 systemd-devel
33)
Davide Pesavento914eb282024-12-10 15:33:26 -050034FORMULAE=(boost openssl pkgconf)
Davide Pesavento72517b52022-08-13 18:50:55 -040035PIP_PKGS=()
36case $JOB_NAME in
37 *code-coverage)
38 APT_PKGS+=(lcov python3-pip)
39 PIP_PKGS+=('gcovr~=5.2')
40 ;;
41 *Docs)
42 APT_PKGS+=(doxygen graphviz python3-pip)
Davide Pesavento8f0028d2021-07-27 20:01:06 -040043 FORMULAE+=(doxygen graphviz)
Davide Pesavento72517b52022-08-13 18:50:55 -040044 PIP_PKGS+=(sphinx sphinxcontrib-doxylink)
45 ;;
46esac
Alexander Afanasyevb81cff92015-07-09 09:45:09 +080047
Davide Pesavento72517b52022-08-13 18:50:55 -040048set -x
49
50if [[ $ID == macos ]]; then
Davide Pesaventoa1480a72024-07-28 00:24:25 -040051 export HOMEBREW_NO_ENV_HINTS=1
Davide Pesaventof28a0612021-09-29 23:13:32 -040052 if [[ -n $GITHUB_ACTIONS ]]; then
Davide Pesavento3bc8e192022-12-31 01:40:11 -050053 export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
Davide Pesavento72517b52022-08-13 18:50:55 -040054 fi
55 brew update
56 brew install --formula "${FORMULAE[@]}"
Davide Pesavento72517b52022-08-13 18:50:55 -040057elif [[ $ID_LIKE == *debian* ]]; then
Davide Pesaventoa1b15192024-02-09 19:27:34 -050058 sudo apt-get update -qq
59 sudo apt-get install -qy --no-install-recommends "${APT_PKGS[@]}"
Davide Pesavento72517b52022-08-13 18:50:55 -040060elif [[ $ID_LIKE == *fedora* ]]; then
Davide Pesaventoe11fa9a2025-03-18 02:42:03 -040061 sudo dnf install -y "${DNF_PKGS[@]}"
Md Ashiqur Rahman922330b2018-09-04 17:55:18 +000062fi
Davide Pesaventoa42efcb2022-11-15 02:43:16 -050063
64if (( ${#PIP_PKGS[@]} )); then
65 pip3 install --user --upgrade --upgrade-strategy=eager "${PIP_PKGS[@]}"
66fi