From 7b13512b41682ec85395f4a9144f67da1a7f1c53 Mon Sep 17 00:00:00 2001 From: Crimson-Hawk Date: Wed, 29 May 2024 16:51:35 +0800 Subject: [PATCH] fixed reference to gitlab in ci --- .ci/scripts/clang/docker.sh | 2 + .ci/scripts/linux/docker.sh | 2 + .ci/scripts/windows/docker.sh | 2 + temp.sh | 75 +++++++++++++++++++++++++++++++++++ 4 files changed, 81 insertions(+) create mode 100644 temp.sh diff --git a/.ci/scripts/clang/docker.sh b/.ci/scripts/clang/docker.sh index 2fd100b8f8..d59f672087 100755 --- a/.ci/scripts/clang/docker.sh +++ b/.ci/scripts/clang/docker.sh @@ -9,6 +9,8 @@ set -e ccache -s +git submodule update --init --recursive + mkdir build || true && cd build cmake .. \ -DCMAKE_BUILD_TYPE=Release \ diff --git a/.ci/scripts/linux/docker.sh b/.ci/scripts/linux/docker.sh index c932b5a88a..9854429257 100755 --- a/.ci/scripts/linux/docker.sh +++ b/.ci/scripts/linux/docker.sh @@ -8,6 +8,8 @@ set -e ccache -s +git submodule update --init --recursive + mkdir build || true && cd build cmake .. \ -DBoost_USE_STATIC_LIBS=ON \ diff --git a/.ci/scripts/windows/docker.sh b/.ci/scripts/windows/docker.sh index 12264576e9..ba40e5dbbb 100755 --- a/.ci/scripts/windows/docker.sh +++ b/.ci/scripts/windows/docker.sh @@ -10,6 +10,8 @@ set -e ccache -s +git submodule update --init --recursive + rm -rf build mkdir -p build && cd build /usr/bin/x86_64-w64-mingw32-cmake .. \ diff --git a/temp.sh b/temp.sh new file mode 100644 index 0000000000..61aff76cbf --- /dev/null +++ b/temp.sh @@ -0,0 +1,75 @@ +ccache -sv + +mkdir build || true && cd build +cmake .. \ + -DBoost_USE_STATIC_LIBS=ON \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DSUYU_USE_PRECOMPILED_HEADERS=OFF \ + -DDYNARMIC_USE_PRECOMPILED_HEADERS=OFF \ + -DCMAKE_CXX_FLAGS="-march=x86-64-v2" \ + -DCMAKE_CXX_COMPILER=/usr/local/bin/g++ \ + -DCMAKE_C_COMPILER=/usr/local/bin/gcc \ + -DCMAKE_INSTALL_PREFIX="/usr" \ + -DDISPLAY_VERSION=$1 \ + -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF \ + -DENABLE_QT_TRANSLATION=OFF \ + -DUSE_DISCORD_PRESENCE=ON \ + -DSUYU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} \ + -DSUYU_USE_BUNDLED_FFMPEG=ON \ + -DSUYU_ENABLE_LTO=OFF \ + -DSUYU_CRASH_DUMPS=ON \ + -DSUYU_USE_FASTER_LD=ON \ + -GNinja + +ninja + +ccache -sv + +ctest -VV -C Release + +# Separate debug symbols from specified executables +for EXE in suyu; do + EXE_PATH="bin/$EXE" + # Copy debug symbols out + objcopy --only-keep-debug $EXE_PATH $EXE_PATH.debug + # Add debug link and strip debug symbols + objcopy -g --add-gnu-debuglink=$EXE_PATH.debug $EXE_PATH $EXE_PATH.out + # Overwrite original with stripped copy + mv $EXE_PATH.out $EXE_PATH +done +# Strip debug symbols from all executables +find bin/ -type f -not -regex '.*.debug' -exec strip -g {} ';' + +DESTDIR="$PWD/AppDir" ninja install +rm -vf AppDir/usr/bin/suyu-cmd AppDir/usr/bin/suyu-tester + +# Download tools needed to build an AppImage +wget -nc https://git.suyu.dev/suyu/ext-linux-bin/raw/branch/main/appimage/deploy-linux.sh +wget -nc https://git.suyu.dev/suyu/ext-linux-bin/raw/branch/main/appimage/exec-x86_64.so +wget -nc https://git.suyu.dev/suyu/AppImageKit-checkrt/raw/branch/gh-workflow/AppRun + +# Set executable bit +chmod 755 \ + deploy-linux.sh \ + AppRun.sh \ + exec-x86_64.so \ + +# Workaround for https://github.com/AppImage/AppImageKit/issues/828 +export APPIMAGE_EXTRACT_AND_RUN=1 + +mkdir -p AppDir/usr/optional +mkdir -p AppDir/usr/optional/libstdc++ +mkdir -p AppDir/usr/optional/libgcc_s + +# Deploy suyu's needed dependencies +DEPLOY_QT=1 ./deploy-linux.sh AppDir/usr/bin/suyu AppDir + +# Workaround for libQt5MultimediaGstTools indirectly requiring libwayland-client and breaking Vulkan usage on end-user systems +find AppDir -type f -regex '.*libwayland-client\.so.*' -delete -print + +# Workaround for building suyu with GCC 10 but also trying to distribute it to Ubuntu 18.04 et al. +# See https://github.com/darealshinji/AppImageKit-checkrt +cp exec-x86_64.so AppDir/usr/optional/exec.so +cp AppRun.sh AppDir/AppRun +cp --dereference /usr/lib/x86_64-linux-gnu/libstdc++.so.6 AppDir/usr/optional/libstdc++/libstdc++.so.6 +cp --dereference /lib/x86_64-linux-gnu/libgcc_s.so.1 AppDir/usr/optional/libgcc_s/libgcc_s.so.1