BuildPortmaster-aarch64.dockerfile 1.5 KB

12345678910111213141516171819202122232425262728
  1. FROM monkeyx/retro_builder:arm64
  2. WORKDIR /usr/local/app
  3. ENV DEBIAN_FRONTEND=noninteractive
  4. # from VCMI build docs
  5. RUN apt-get update && apt-get install -y cmake g++ clang libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libsdl2-mixer-dev zlib1g-dev libavformat-dev libswscale-dev libboost-dev libboost-filesystem-dev libboost-system-dev libboost-thread-dev libboost-program-options-dev libboost-locale-dev libboost-iostreams-dev qtbase5-dev libtbb-dev libluajit-5.1-dev liblzma-dev libsqlite3-dev qttools5-dev ninja-build ccache
  6. # newer cmake version to support presets
  7. RUN apt-get remove -y cmake
  8. RUN apt-get install -y libssl-dev
  9. RUN wget https://github.com/Kitware/CMake/releases/download/v3.31.5/cmake-3.31.5.tar.gz ; tar zxvf cmake-3.31.5.tar.gz ; cd cmake-3.31.5 ; ./bootstrap ; make ; make install ; cd .. ; rm -rf cmake-3.31.5
  10. CMD ["sh", "-c", " \
  11. # switch to mounted dir
  12. cd /vcmi ; \
  13. # fix for wrong path of base image
  14. ln -s /usr/lib/libSDL2.so /usr/lib/aarch64-linux-gnu/libSDL2.so ; \
  15. # build
  16. cmake --preset portmaster-release ; \
  17. cmake --build --preset portmaster-release ; \
  18. # export missing libraries
  19. ldd /vcmi/out/build/portmaster-release/bin/vcmiclient | grep -e libboost -e libtbb -e libicu | awk 'NF == 4 { system(\"cp \" $3 \" /vcmi/out/build/portmaster-release/bin/\") }' \
  20. "]
  21. # Build on ARM64 processor or ARM64 chroot with:
  22. # docker build -f docker/BuildPortmaster-aarch64.dockerfile -t vcmi-portmaster-build .
  23. # docker run -it --rm -v $PWD/:/vcmi vcmi-portmaster-build