Headless Rust gRPC daemon to drive Bluetooth, HLS/DASH playback, and snapcast/shairport-sync/squeezelite on Raspberry Pi audio rigs.
0

Configure Feed

Select the types of activity you want to include in your feed.

zerod / Dockerfile.aarch64-unknown-linux-gnu
1.5 kB 34 lines
1FROM ghcr.io/cross-rs/aarch64-unknown-linux-gnu:main 2 3# arm64 system libs the cross-compiled binary links against. 4RUN dpkg --add-architecture arm64 && \ 5 rm -f /etc/apt/preferences.d/all-packages && \ 6 apt-get update && \ 7 apt-get --assume-yes install --no-install-recommends \ 8 curl \ 9 unzip \ 10 ca-certificates \ 11 libasound2-dev:arm64 \ 12 libdbus-1-dev:arm64 \ 13 libsystemd-dev:arm64 \ 14 libsystemd0:arm64 && \ 15 rm -rf /var/lib/apt/lists/* 16 17# Modern protoc — see Dockerfile.arm-unknown-linux-gnueabihf for context. 18# protoc runs on the build host (x86_64), not on the aarch64 target. 19ARG PROTOC_VERSION=25.1 20RUN curl -fsSL "https://github.com/protocolbuffers/protobuf/releases/download/v${PROTOC_VERSION}/protoc-${PROTOC_VERSION}-linux-x86_64.zip" -o /tmp/protoc.zip && \ 21 unzip -q /tmp/protoc.zip -d /usr/local && \ 22 rm /tmp/protoc.zip && \ 23 chmod +x /usr/local/bin/protoc && \ 24 protoc --version 25 26ENV PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig \ 27 PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig \ 28 PKG_CONFIG_SYSROOT_DIR=/ \ 29 PKG_CONFIG_ALLOW_CROSS=1 30 31# `bluer` → libdbus-1 → libsystemd.so.0 (indirect). ld's `-L` search path 32# only resolves direct `-l<name>` args, so we need `-rpath-link` for the 33# indirect dep via the multiarch lib dir. 34ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUSTFLAGS="-C link-arg=-Wl,-rpath-link=/usr/lib/aarch64-linux-gnu"