9 git binutils meson pkgconf gcc linux-headers shadow sudo libgcrypt-dev texinfo gzip \
10 openssl-dev zlib-dev lzo-dev ncurses-dev readline-dev musl-dev lz4-dev vde2-dev cmocka-dev
13 deps_linux_debian_mingw() {
15 mingw-w64 mingw-w64-tools \
17 libgcrypt-mingw-w64-dev \
21 deps_linux_debian_linux() {
22 if [ -n "$HOST" ]; then
23 dpkg --add-architecture "$HOST"
34 libncurses-dev:"$HOST" \
35 libreadline-dev:"$HOST" \
36 libgcrypt-dev:"$HOST" \
37 libminiupnpc-dev:"$HOST" \
38 libvdeplug-dev:"$HOST" \
39 libcmocka-dev:"$HOST" \
42 if [ -n "$HOST" ]; then
43 apt-get install -y crossbuild-essential-"$HOST" qemu-user
50 export DEBIAN_FRONTEND=noninteractive
54 apt-get install -y git pkgconf sudo texinfo
57 if [ "$HOST" = mingw ]; then
58 deps_linux_debian_mingw "$@"
60 deps_linux_debian_linux "$@"
65 # Debian Buster ships an old version of meson (0.49).
66 # MinGW cross-compilation requires something newer than 0.55 that ships in Bullseye,
67 # or it fails when looking for dependencies in the OpenSSL wrap.
68 if [ "${ID:-}/${VERSION_CODENAME:-}" = debian/buster ] || [ "$HOST" = mingw ]; then
69 apt-get install -y python3 python3-pip ninja-build
72 apt-get install -y meson
79 if [ "$ID" != fedora ]; then
80 yum install -y epel-release
83 dnf install -y 'dnf-command(config-manager)'
84 dnf config-manager --enable powertools || true
85 dnf config-manager --enable crb || true
90 git binutils make meson pkgconf gcc sudo texinfo-tex systemd perl-IPC-Cmd \
91 lzo-devel zlib-devel lz4-devel ncurses-devel readline-devel libgcrypt-devel "$@"
93 if yum info openssl11-devel; then
94 yum install -y openssl11-devel
96 dnf install -y openssl-devel
99 if yum info miniupnpc-devel; then
100 yum install -y miniupnpc-devel
105 if [ -n "${SKIP_OPENSSL3:-}" ]; then
106 echo >&2 "skipping openssl3 installation in this job"
110 src=/usr/local/src/openssl
115 git clone --depth 1 --branch openssl-3.0.2 https://github.com/openssl/openssl $src
118 ./Configure --prefix=$ssl3 --openssldir=$ssl3
122 if [ -f /etc/ld.so.conf ]; then
123 echo $ssl3/lib64 >>/etc/ld.so.conf
126 ldconfig -v $ssl3/lib64
137 deps_linux_alpine "$@"
141 deps_linux_debian "$@"
151 if [ "${PLATFORM_ID:-}" != platform:el9 ]; then
161 brew install lzo lz4 miniupnpc libgcrypt openssl meson "$@"
164 case "$(uname -s)" in
165 Linux) deps_linux "$@" ;;
166 Darwin) deps_macos "$@" ;;