1
0
Fork 0
mirror of https://github.com/librespot-org/librespot.git synced 2025-10-03 01:39:28 +02:00
librespot/.devcontainer/Dockerfile.alpine
Roderick van Domburg 0a4969ffe2
feat: add configurable TLS backend selection with native-tls as default (#1541)
Add support for choosing between native-tls and rustls-tls backends
through feature flags, with native-tls as the default for maximum
platform compatibility.

Key changes:
- Add mutually exclusive native-tls and rustls-tls feature flags
- Use conditional compilation to select TLS implementation
- Configure rustls-tls with platform certificate verifier
- Refactor to workspace-based dependency management
- Update CI workflows with improved cross-compilation support
- Add comprehensive TLS backend documentation

The native-tls backend uses system TLS libraries (OpenSSL on Linux,
Secure Transport on macOS, SChannel on Windows) while rustls-tls
provides a pure Rust implementation with platform certificate stores.
2025-08-19 23:06:28 +02:00

31 lines
794 B
Text

# syntax=docker/dockerfile:1
ARG alpine_version=alpine3.19
ARG rust_version=1.85.0
FROM rust:${rust_version}-${alpine_version}
ENV CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
ENV RUST_BACKTRACE=1
ENV RUSTFLAGS="-D warnings -C target-feature=-crt-static"
RUN apk add --no-cache \
git \
nano\
openssh-server \
# for rust-analyzer vscode plugin
pkgconf \
musl-dev \
# developer dependencies
libunwind-dev \
pulseaudio-dev \
portaudio-dev \
alsa-lib-dev \
sdl2-dev \
gstreamer-dev \
gst-plugins-base-dev \
jack-dev \
avahi-dev && \
rm -rf /lib/apk/db/*
RUN rustup component add rustfmt && \
rustup component add clippy && \
cargo install cargo-hack