mirror of
https://github.com/librespot-org/librespot.git
synced 2025-10-03 01:39:28 +02:00

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.
31 lines
857 B
Docker
31 lines
857 B
Docker
# syntax=docker/dockerfile:1
|
|
ARG debian_version=slim-bookworm
|
|
ARG rust_version=1.85.0
|
|
FROM rust:${rust_version}-${debian_version}
|
|
|
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
ENV CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
|
|
ENV RUST_BACKTRACE=1
|
|
ENV RUSTFLAGS="-D warnings"
|
|
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends \
|
|
git \
|
|
nano\
|
|
openssh-server \
|
|
# for rust-analyzer vscode plugin
|
|
pkg-config \
|
|
# developer dependencies
|
|
libunwind-dev \
|
|
libpulse-dev \
|
|
portaudio19-dev \
|
|
libasound2-dev \
|
|
libsdl2-dev \
|
|
gstreamer1.0-dev \
|
|
libgstreamer-plugins-base1.0-dev \
|
|
libavahi-compat-libdnssd-dev && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN rustup component add rustfmt && \
|
|
rustup component add clippy && \
|
|
cargo install cargo-hack
|