Made AppImages way more robust, compatible and reproducible using containerization and by using system-provided glibc
This commit is contained in:
37
AppImage-build-debian-inner.sh
Executable file
37
AppImage-build-debian-inner.sh
Executable file
@@ -0,0 +1,37 @@
|
||||
#! /bin/bash
|
||||
set -e
|
||||
|
||||
# Make sure script is called from inside our container
|
||||
test -e /tmp/torzu-src || (echo "Script MUST NOT be called directly!" ; exit 1)
|
||||
|
||||
# Install dependencies
|
||||
apt -y install cmake ninja-build build-essential pkg-config locales wget git file
|
||||
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
|
||||
|
||||
# Install correct version of boost
|
||||
cd /tmp
|
||||
wget https://web.archive.org/web/20241120101759id_/https://boostorg.jfrog.io/artifactory/main/release/1.84.0/source/boost_1_84_0.tar.bz2
|
||||
tar xf boost_1_84_0.tar.bz2
|
||||
cd boost_1_84_0
|
||||
./bootstrap.sh
|
||||
./b2 install --with-{headers,context} link=static
|
||||
cd ..
|
||||
rm -rf boost_1_84_0
|
||||
|
||||
# Build Torzu
|
||||
cd /tmp
|
||||
mkdir torzu-build
|
||||
cd torzu-build
|
||||
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
|
||||
ninja
|
||||
|
||||
# Generate AppImage
|
||||
cp -rv /tmp/torzu-src/AppImageBuilder /tmp/AppImageBuilder
|
||||
cd /tmp/AppImageBuilder
|
||||
./build.sh /tmp/torzu-build /tmp/torzu.AppImage || echo "This error is known. Using workaround..."
|
||||
cp /lib/$(uname -m)-linux-gnu/libICE.so.6 build/
|
||||
mv build /tmp/hosttmp/torzu-debian-appimage-rootfs
|
||||
|
||||
# Debug
|
||||
cd /tmp/hosttmp/torzu-debian-appimage-rootfs
|
||||
bash
|
||||
Reference in New Issue
Block a user