12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- ARG DOTNET_VERSION=8.0
- FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION}-bookworm-slim
- # Docker build arguments
- ARG SOURCE_DIR=/jellyfin
- ARG ARTIFACT_DIR=/dist
- # Docker run environment
- ENV SOURCE_DIR=/jellyfin
- ENV ARTIFACT_DIR=/dist
- ENV DEB_BUILD_OPTIONS=noddebs
- ENV ARCH=amd64
- ENV IS_DOCKER=YES
- # Prepare Debian build environment
- RUN apt-get update -yqq \
- && apt-get install --no-install-recommends -yqq \
- debhelper gnupg devscripts build-essential mmv
- # Prepare the cross-toolchain
- RUN dpkg --add-architecture arm64 \
- && apt-get update -yqq \
- && apt-get install --no-install-recommends -yqq cross-gcc-dev \
- && TARGET_LIST="arm64" cross-gcc-gensource 12 \
- && cd cross-gcc-packages-amd64/cross-gcc-12-arm64 \
- && apt-get install --no-install-recommends -yqq \
- gcc-12-source libstdc++-12-dev-arm64-cross \
- binutils-aarch64-linux-gnu bison flex libtool \
- gdb sharutils netbase libmpc-dev libmpfr-dev libgmp-dev \
- systemtap-sdt-dev autogen expect chrpath zlib1g-dev zip \
- libc6-dev:arm64 linux-libc-dev:arm64 libgcc1:arm64 \
- libcurl4-openssl-dev:arm64 libfontconfig1-dev:arm64 \
- libfreetype6-dev:arm64 libssl-dev:arm64 liblttng-ust1:arm64 libstdc++-12-dev:arm64 \
- && apt-get clean autoclean -yqq \
- && apt-get autoremove -yqq \
- && rm -rf /var/lib/apt/lists/*
- # Link to build script
- RUN ln -sf ${SOURCE_DIR}/deployment/build.debian.arm64 /build.sh
- VOLUME ${SOURCE_DIR}/
- VOLUME ${ARTIFACT_DIR}/
- ENTRYPOINT ["/build.sh"]
|