Dockerfile.debian.arm64 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. ARG DOTNET_VERSION=8.0
  2. FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION}-bookworm-slim
  3. # Docker build arguments
  4. ARG SOURCE_DIR=/jellyfin
  5. ARG ARTIFACT_DIR=/dist
  6. # Docker run environment
  7. ENV SOURCE_DIR=/jellyfin
  8. ENV ARTIFACT_DIR=/dist
  9. ENV DEB_BUILD_OPTIONS=noddebs
  10. ENV ARCH=amd64
  11. ENV IS_DOCKER=YES
  12. # Prepare Debian build environment
  13. RUN apt-get update -yqq \
  14. && apt-get install --no-install-recommends -yqq \
  15. debhelper gnupg devscripts build-essential mmv
  16. # Prepare the cross-toolchain
  17. RUN dpkg --add-architecture arm64 \
  18. && apt-get update -yqq \
  19. && apt-get install --no-install-recommends -yqq cross-gcc-dev \
  20. && TARGET_LIST="arm64" cross-gcc-gensource 12 \
  21. && cd cross-gcc-packages-amd64/cross-gcc-12-arm64 \
  22. && apt-get install --no-install-recommends -yqq \
  23. gcc-12-source libstdc++-12-dev-arm64-cross \
  24. binutils-aarch64-linux-gnu bison flex libtool \
  25. gdb sharutils netbase libmpc-dev libmpfr-dev libgmp-dev \
  26. systemtap-sdt-dev autogen expect chrpath zlib1g-dev zip \
  27. libc6-dev:arm64 linux-libc-dev:arm64 libgcc1:arm64 \
  28. libcurl4-openssl-dev:arm64 libfontconfig1-dev:arm64 \
  29. libfreetype6-dev:arm64 libssl-dev:arm64 liblttng-ust1:arm64 libstdc++-12-dev:arm64 \
  30. && apt-get clean autoclean -yqq \
  31. && apt-get autoremove -yqq \
  32. && rm -rf /var/lib/apt/lists/*
  33. # Link to build script
  34. RUN ln -sf ${SOURCE_DIR}/deployment/build.debian.arm64 /build.sh
  35. VOLUME ${SOURCE_DIR}/
  36. VOLUME ${ARTIFACT_DIR}/
  37. ENTRYPOINT ["/build.sh"]