AppImage-build-debian-inner.sh 1.6 KB

12345678910111213141516171819202122232425262728293031323334
  1. #! /bin/bash
  2. set -e
  3. # Make sure script is called from inside our container
  4. test -e /tmp/torzu-src || (echo "Script MUST NOT be called directly!" ; exit 1)
  5. # Install dependencies
  6. apt -y install cmake ninja-build build-essential pkg-config locales wget git file
  7. apt -y install libfmt-dev libenet-dev liblz4-dev nlohmann-json3-dev zlib1g-dev libopus-dev libsimpleini-dev libstb-dev libzstd-dev libusb-1.0-0-dev libcubeb-dev libcpp-jwt-dev libvulkan-dev gamemode-dev libasound2-dev libglu1-mesa-dev libxext-dev mesa-common-dev qtbase5-dev qtmultimedia5-dev qtbase5-private-dev libva-dev glslang-tools libavcodec-dev libavfilter-dev libavutil-dev libswscale-dev
  8. # Install correct version of boost
  9. cd /tmp
  10. wget https://web.archive.org/web/20241120101759id_/https://boostorg.jfrog.io/artifactory/main/release/1.84.0/source/boost_1_84_0.tar.bz2
  11. tar xf boost_1_84_0.tar.bz2
  12. cd boost_1_84_0
  13. ./bootstrap.sh
  14. ./b2 install --with-{headers,context} link=static
  15. cd ..
  16. rm -rf boost_1_84_0
  17. # Build Torzu
  18. cd /tmp
  19. mkdir torzu-build
  20. cd torzu-build
  21. cmake /tmp/torzu-src -GNinja -DCMAKE_BUILD_TYPE=Release -DYUZU_TESTS=OFF -DENABLE_QT_TRANSLATION=OFF -DSPIRV_WERROR=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_FIND_LIBRARY_SUFFIXES=".a;.so" -DSPIRV-Headers_SOURCE_DIR=/tmp/torzu-src/externals/SPIRV-Headers
  22. ninja
  23. # Generate AppImage
  24. cp -rv /tmp/torzu-src/AppImageBuilder /tmp/AppImageBuilder
  25. cd /tmp/AppImageBuilder
  26. ./build.sh /tmp/torzu-build /tmp/torzu.AppImage || echo "This error is known. Using workaround..."
  27. cp /lib/$(uname -m)-linux-gnu/libICE.so.6 build/
  28. mv build /tmp/hosttmp/torzu-debian-appimage-rootfs