feat(runner-rust): add perl deps for vendored OpenSSL musl builds
All checks were successful
images / check-act-runner (push) Successful in 32s
images / build-ubuntu-24.04 (push) Successful in 7s
images / build-fedora-44 (push) Successful in 1m50s
images / build-rust-ubuntu (push) Successful in 2m25s
images / build-fedora-43 (push) Successful in 2m52s
images / build-deb (push) Successful in 1m25s
images / build-rust (push) Successful in 3m1s
images / build-rpm (push) Successful in 2m12s
images / build-ffmpeg (push) Successful in 2m53s
images / build-rust-gtk3 (push) Successful in 3m2s
build / fmt (push) Successful in 40s
build / clippy (push) Successful in 2m45s
build / test (push) Successful in 2m46s
build / check (push) Successful in 2m32s
images / build-cuda-13.0 (push) Successful in 20m32s

Static x86_64-unknown-linux-musl builds that use the openssl crate's
`vendored` feature compile OpenSSL from source; its Configure script needs
Time::Piece, IPC::Cmd, FindBin and Pod::Html, which the minimal
perl-interpreter does not provide. Bake them into the rust runner (and, via
FROM, the rpm runner) so workflows like cichlid's release don't have to
dnf-install build deps at job time.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KLzpDUMcQg8KWBdTpw61eb
This commit is contained in:
2026-06-26 13:33:40 +03:00
parent 11405d3120
commit 53009b91ba

View File

@@ -7,10 +7,20 @@ ARG SCCACHE_VERSION=0.15.0
# identical 1.96.0 commit), and Fedora packages no musl std — so a static
# x86_64-unknown-linux-musl build is impossible with the packaged toolchain.
# rustup gives a toolchain whose musl std is built by the very same rustc.
#
# The perl-* packages are required by the openssl crate's `vendored` feature,
# which builds OpenSSL from source for static musl binaries: its Configure
# script pulls in Time::Piece, IPC::Cmd, FindBin and Pod::Html, none of which
# ship with the minimal perl-interpreter.
RUN dnf install -y --setopt=install_weak_deps=False \
gcc \
musl-gcc \
openssl-devel \
perl-FindBin \
perl-IPC-Cmd \
perl-Pod-Html \
perl-Time-Piece \
perl-interpreter \
pkg-config \
&& dnf clean all