rustpbx 0.4.2

A SIP PBX implementation in Rust
Documentation
FROM ghcr.io/cross-rs/aarch64-unknown-linux-gnu:main

# Install clang, libclang (for bindgen), and dependencies
RUN set -eux; \
    apt_opts='-o Acquire::Retries=5 -o Acquire::http::Timeout=30 -o Acquire::https::Timeout=30'; \
    apt-get ${apt_opts} update; \
    apt-get ${apt_opts} install -y \
        cmake \
        pkg-config \
        clang \
        llvm \
        libclang-dev \
        crossbuild-essential-arm64 \
        libssl-dev; \
    rm -rf /var/lib/apt/lists/*

# Install cross-compiled libs for ARM64
RUN set -eux; \
    dpkg --add-architecture arm64; \
    apt_opts='-o Acquire::Retries=5 -o Acquire::http::Timeout=30 -o Acquire::https::Timeout=30'; \
    apt-get ${apt_opts} update; \
    apt-get ${apt_opts} install -y \
        libopus-dev:arm64 \
        libssl-dev:arm64 || true; \
    rm -rf /var/lib/apt/lists/*

# Bake all cross-compilation environment variables into the image
ENV LIBCLANG_PATH=/usr/lib/llvm-10/lib
ENV CC=clang
ENV CXX=clang++
ENV PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig
ENV PKG_CONFIG_SYSROOT_DIR=/usr/aarch64-linux-gnu
ENV PKG_CONFIG_ALLOW_CROSS=1