5 SKIP_OPENSSL3="${SKIP_OPENSSL3:-}"
6 SKIP_MESON="${SKIP_MESON:-}"
12 git binutils ninja pkgconf gcc linux-headers shadow sudo libgcrypt-dev texinfo gzip \
13 openssl-dev zlib-dev lzo-dev ncurses-dev readline-dev musl-dev lz4-dev vde2-dev cmocka-dev
15 if [ -z "$SKIP_MESON" ]; then
20 deps_linux_debian_mingw() {
22 mingw-w64 mingw-w64-tools \
24 libgcrypt-mingw-w64-dev \
28 deps_linux_debian_linux() {
29 if [ -n "$HOST" ]; then
30 dpkg --add-architecture "$HOST"
41 libncurses-dev:"$HOST" \
42 libreadline-dev:"$HOST" \
43 libgcrypt-dev:"$HOST" \
44 libminiupnpc-dev:"$HOST" \
45 libvdeplug-dev:"$HOST" \
46 libcmocka-dev:"$HOST" \
47 libsystemd-dev:"$HOST" \
50 if [ -n "$HOST" ]; then
51 apt-get install -y crossbuild-essential-"$HOST" qemu-user
58 export DEBIAN_FRONTEND=noninteractive
62 apt-get install -y git pkgconf sudo texinfo ninja-build
65 if [ "$HOST" = mingw ]; then
66 deps_linux_debian_mingw "$@"
68 deps_linux_debian_linux "$@"
71 if [ -n "$SKIP_MESON" ]; then
77 # Debian Buster ships an old version of meson (0.49).
78 # MinGW cross-compilation requires something newer than 0.55 that ships in Bullseye,
79 # or it fails when looking for dependencies in the OpenSSL wrap.
80 if [ "${ID:-}/${VERSION_CODENAME:-}" = debian/buster ] || [ "$HOST" = mingw ]; then
81 apt-get install -y python3 python3-pip ninja-build
84 apt-get install -y meson
91 if [ "$ID" != fedora ]; then
92 yum install -y epel-release
95 dnf install -y 'dnf-command(config-manager)'
96 dnf config-manager --enable powertools || true
97 dnf config-manager --enable crb || true
102 git binutils make ninja-build pkgconf gcc sudo texinfo-tex systemd perl-IPC-Cmd \
103 lzo-devel zlib-devel lz4-devel ncurses-devel readline-devel libgcrypt-devel systemd-devel "$@"
105 if [ -z "$SKIP_MESON" ]; then
109 if yum info openssl11-devel; then
110 yum install -y openssl11-devel
112 dnf install -y openssl-devel
115 if yum info miniupnpc-devel; then
116 yum install -y miniupnpc-devel
121 if [ -n "$SKIP_OPENSSL3" ]; then
122 echo >&2 "skipping openssl3 installation in this job"
126 src=/usr/local/src/openssl
131 git clone --depth 1 --branch openssl-3.0.2 https://github.com/openssl/openssl $src
134 ./Configure --prefix=$ssl3 --openssldir=$ssl3
138 if [ -f /etc/ld.so.conf ]; then
139 echo $ssl3/lib64 >>/etc/ld.so.conf
142 ldconfig -v $ssl3/lib64
153 deps_linux_alpine "$@"
157 deps_linux_debian "$@"
167 if [ "${PLATFORM_ID:-}" != platform:el9 ]; then
177 brew install lzo lz4 miniupnpc libgcrypt openssl "$@"
179 if [ -z "$SKIP_MESON" ]; then
184 case "$(uname -s)" in
185 Linux) deps_linux "$@" ;;
186 Darwin) deps_macos "$@" ;;