2020-04-07 04:53:23 +02:00
|
|
|
#!/bin/sh -ex
|
|
|
|
|
|
|
|
cd build || exit 1
|
|
|
|
|
2024-09-29 04:07:27 +02:00
|
|
|
CPU_ARCH="${1:-x86_64}"
|
|
|
|
|
2018-07-16 03:12:43 +02:00
|
|
|
if [ "$DEPLOY_APPIMAGE" = "true" ]; then
|
2023-04-28 04:16:59 +02:00
|
|
|
DESTDIR=AppDir ninja install
|
2020-04-07 04:53:23 +02:00
|
|
|
|
2024-09-29 12:39:08 +02:00
|
|
|
curl -fsSLo /usr/bin/linuxdeploy "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-$CPU_ARCH.AppImage"
|
2023-04-28 04:16:59 +02:00
|
|
|
chmod +x /usr/bin/linuxdeploy
|
2024-09-29 12:39:08 +02:00
|
|
|
curl -fsSLo /usr/bin/linuxdeploy-plugin-qt "https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-$CPU_ARCH.AppImage"
|
2023-04-28 04:16:59 +02:00
|
|
|
chmod +x /usr/bin/linuxdeploy-plugin-qt
|
2024-09-29 04:07:27 +02:00
|
|
|
curl -fsSLo linuxdeploy-plugin-checkrt.sh https://github.com/darealshinji/linuxdeploy-plugin-checkrt/releases/download/continuous/linuxdeploy-plugin-checkrt.sh
|
2023-05-06 09:54:20 +02:00
|
|
|
chmod +x ./linuxdeploy-plugin-checkrt.sh
|
2018-07-16 03:12:43 +02:00
|
|
|
|
2024-04-12 07:59:18 +02:00
|
|
|
export EXTRA_PLATFORM_PLUGINS="libqwayland-egl.so;libqwayland-generic.so"
|
2024-10-01 12:20:17 +02:00
|
|
|
export EXTRA_QT_PLUGINS="svg;wayland-decoration-client;wayland-graphics-integration-client;wayland-shell-integration;waylandcompositor"
|
2024-09-30 22:01:22 +02:00
|
|
|
|
2024-10-03 19:23:56 +02:00
|
|
|
APPIMAGE_EXTRACT_AND_RUN=1 linuxdeploy --appdir AppDir --plugin qt --plugin checkrt
|
2023-04-30 03:33:49 +02:00
|
|
|
|
|
|
|
# Remove libwayland-client because it has platform-dependent exports and breaks other OSes
|
|
|
|
rm -f ./AppDir/usr/lib/libwayland-client.so*
|
|
|
|
|
2024-03-05 18:54:47 +01:00
|
|
|
# Remove libvulkan because it causes issues with gamescope
|
|
|
|
rm -f ./AppDir/usr/lib/libvulkan.so*
|
|
|
|
|
2023-04-30 13:12:11 +02:00
|
|
|
# Remove git directory containing local commit history file
|
|
|
|
rm -rf ./AppDir/usr/share/rpcs3/git
|
|
|
|
|
2023-04-30 03:33:49 +02:00
|
|
|
linuxdeploy --appimage-extract
|
|
|
|
./squashfs-root/plugins/linuxdeploy-plugin-appimage/usr/bin/appimagetool AppDir -g
|
2020-04-07 04:53:23 +02:00
|
|
|
|
2024-09-30 01:27:11 +02:00
|
|
|
APPIMAGE_SUFFIX="linux_${CPU_ARCH}"
|
2024-09-30 01:44:09 +02:00
|
|
|
if [ "$CPU_ARCH" = "x86_64" ]; then
|
2024-09-30 01:27:11 +02:00
|
|
|
# Preserve back compat. Previous versions never included the full arch.
|
|
|
|
APPIMAGE_SUFFIX="linux64"
|
|
|
|
fi
|
|
|
|
|
2022-01-05 09:32:13 +01:00
|
|
|
COMM_TAG=$(awk '/version{.*}/ { printf("%d.%d.%d", $5, $6, $7) }' ../rpcs3/rpcs3_version.cpp)
|
2020-04-09 06:33:38 +02:00
|
|
|
COMM_COUNT="$(git rev-list --count HEAD)"
|
|
|
|
COMM_HASH="$(git rev-parse --short=8 HEAD)"
|
2024-09-30 01:27:11 +02:00
|
|
|
RPCS3_APPIMAGE="rpcs3-v${COMM_TAG}-${COMM_COUNT}-${COMM_HASH}_${APPIMAGE_SUFFIX}.AppImage"
|
2020-04-07 04:53:23 +02:00
|
|
|
|
2020-04-09 06:33:38 +02:00
|
|
|
mv ./RPCS3*.AppImage "$RPCS3_APPIMAGE"
|
2020-04-07 04:53:23 +02:00
|
|
|
|
2021-04-04 10:34:12 +02:00
|
|
|
# If we're building using a CI, let's copy over the AppImage artifact
|
2020-04-09 06:33:38 +02:00
|
|
|
if [ -n "$BUILD_ARTIFACTSTAGINGDIRECTORY" ]; then
|
2021-04-04 10:34:12 +02:00
|
|
|
cp "$RPCS3_APPIMAGE" "$ARTDIR"
|
2020-04-09 06:33:38 +02:00
|
|
|
fi
|
2020-04-07 04:53:23 +02:00
|
|
|
|
2020-04-09 06:33:38 +02:00
|
|
|
FILESIZE=$(stat -c %s ./rpcs3*.AppImage)
|
2020-11-23 00:07:21 +01:00
|
|
|
SHA256SUM=$(sha256sum ./rpcs3*.AppImage | awk '{ print $1 }')
|
2021-04-04 10:34:12 +02:00
|
|
|
echo "${SHA256SUM};${FILESIZE}B" > "$RELEASE_MESSAGE"
|
2018-07-16 03:12:43 +02:00
|
|
|
fi
|