mirror of
https://github.com/stenzek/duckstation.git
synced 2025-06-06 03:25:36 +00:00
CI: Enable Wayland on AppImage/Flatpak builds
Might have to revert this, we'll see how many systems it breaks on.
This commit is contained in:
parent
9a75af2fa9
commit
b57049f1aa
@ -1,9 +0,0 @@
|
|||||||
if [[ -z "$I_WANT_A_BROKEN_WAYLAND_UI" ]]; then
|
|
||||||
echo "Forcing X11 instead of Wayland, due to various protocol limitations"
|
|
||||||
echo "and Qt issues. If you want to use Wayland, launch DuckStation with"
|
|
||||||
echo "I_WANT_A_BROKEN_WAYLAND_UI=YES set."
|
|
||||||
export QT_QPA_PLATFORM=xcb
|
|
||||||
else
|
|
||||||
echo "Wayland is not being disabled. Do not complain when things break."
|
|
||||||
fi
|
|
||||||
|
|
@ -185,15 +185,6 @@ echo "Generating AppStream metainfo..."
|
|||||||
mkdir -p "$OUTDIR/usr/share/metainfo"
|
mkdir -p "$OUTDIR/usr/share/metainfo"
|
||||||
"$SCRIPTDIR/../generate-metainfo.sh" "$OUTDIR/usr/share/metainfo"
|
"$SCRIPTDIR/../generate-metainfo.sh" "$OUTDIR/usr/share/metainfo"
|
||||||
|
|
||||||
# Copy in AppRun hooks.
|
|
||||||
echo "Copying AppRun hooks..."
|
|
||||||
mkdir -p "$OUTDIR/apprun-hooks"
|
|
||||||
for hookpath in "$SCRIPTDIR/apprun-hooks"/*; do
|
|
||||||
hookname=$(basename "$hookpath")
|
|
||||||
cp -v "$hookpath" "$OUTDIR/apprun-hooks/$hookname"
|
|
||||||
sed -i -e 's/exec /source "$this_dir"\/apprun-hooks\/"'"$hookname"'"\nexec /' "$OUTDIR/AppRun"
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "Generating AppImage..."
|
echo "Generating AppImage..."
|
||||||
rm -f "$NAME.AppImage"
|
rm -f "$NAME.AppImage"
|
||||||
"$APPIMAGETOOL" -v --runtime-file "$APPIMAGERUNTIME" "$OUTDIR" "$NAME.AppImage"
|
"$APPIMAGETOOL" -v --runtime-file "$APPIMAGERUNTIME" "$OUTDIR" "$NAME.AppImage"
|
||||||
|
@ -307,15 +307,6 @@ cp "$SCRIPTDIR/apprun-cross.sh" "$OUTDIR/AppRun"
|
|||||||
chmod +x "$OUTDIR/AppRun"
|
chmod +x "$OUTDIR/AppRun"
|
||||||
ln -s "usr/bin/$BINARY" "$OUTDIR/AppRun.wrapped"
|
ln -s "usr/bin/$BINARY" "$OUTDIR/AppRun.wrapped"
|
||||||
|
|
||||||
# Copy in AppRun hooks.
|
|
||||||
echo "Copying AppRun hooks..."
|
|
||||||
mkdir -p "$OUTDIR/apprun-hooks"
|
|
||||||
for hookpath in "$SCRIPTDIR/apprun-hooks"/*; do
|
|
||||||
hookname=$(basename "$hookpath")
|
|
||||||
cp -v "$hookpath" "$OUTDIR/apprun-hooks/$hookname"
|
|
||||||
sed -i -e 's/exec /source "$this_dir"\/apprun-hooks\/"'"$hookname"'"\nexec /' "$OUTDIR/AppRun"
|
|
||||||
done
|
|
||||||
|
|
||||||
# Optionally inject libc
|
# Optionally inject libc
|
||||||
if [ "$INJECT_LIBC" == true ]; then
|
if [ "$INJECT_LIBC" == true ]; then
|
||||||
echo "Injecting libc/libc++..."
|
echo "Injecting libc/libc++..."
|
||||||
|
@ -70,6 +70,7 @@ noextract=(
|
|||||||
|
|
||||||
# Name of the .desktop file that will be installed.
|
# Name of the .desktop file that will be installed.
|
||||||
_desktopname=org.duckstation.DuckStation
|
_desktopname=org.duckstation.DuckStation
|
||||||
|
_destdir=/opt/duckstation
|
||||||
|
|
||||||
# https://wiki.archlinux.org/title/VCS_package_guidelines#Git
|
# https://wiki.archlinux.org/title/VCS_package_guidelines#Git
|
||||||
# --dirty omitted, we need to ignore changes to this script because
|
# --dirty omitted, we need to ignore changes to this script because
|
||||||
@ -124,7 +125,7 @@ build() {
|
|||||||
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
|
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
|
||||||
-DALLOW_INSTALL=ON \
|
-DALLOW_INSTALL=ON \
|
||||||
-DINSTALL_SELF_CONTAINED=ON \
|
-DINSTALL_SELF_CONTAINED=ON \
|
||||||
-DCMAKE_INSTALL_PREFIX="${pkgdir}/opt/duckstation"
|
-DCMAKE_INSTALL_PREFIX="${pkgdir}${_destdir}"
|
||||||
ninja -C build-arch
|
ninja -C build-arch
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -132,8 +133,9 @@ package() {
|
|||||||
cd "${pkgname}"
|
cd "${pkgname}"
|
||||||
ninja -C build-arch install
|
ninja -C build-arch install
|
||||||
|
|
||||||
# install wrapper script
|
# install alias
|
||||||
install -Dm755 scripts/packaging/duckstation-qt "${pkgdir}/usr/bin/duckstation-qt"
|
mkdir -p "${pkgdir}/usr/bin"
|
||||||
|
ln -s "${_destdir}/duckstation-qt" "${pkgdir}/usr/bin/duckstation-qt"
|
||||||
|
|
||||||
# install desktop file and icon
|
# install desktop file and icon
|
||||||
install -Dm644 scripts/packaging/${_desktopname}.desktop "${pkgdir}/usr/share/applications/${_desktopname}.desktop"
|
install -Dm644 scripts/packaging/${_desktopname}.desktop "${pkgdir}/usr/share/applications/${_desktopname}.desktop"
|
||||||
@ -143,4 +145,3 @@ package() {
|
|||||||
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
|
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
|
||||||
install -Dm644 data/resources/thirdparty.html "${pkgdir}/usr/share/licenses/${pkgname}/thirdparty.html"
|
install -Dm644 data/resources/thirdparty.html "${pkgdir}/usr/share/licenses/${pkgname}/thirdparty.html"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
if [[ -z "$I_WANT_A_BROKEN_WAYLAND_UI" ]]; then
|
|
||||||
echo "Forcing X11 instead of Wayland, due to various protocol limitations"
|
|
||||||
echo "and Qt issues. If you want to use Wayland, launch DuckStation with"
|
|
||||||
echo "I_WANT_A_BROKEN_WAYLAND_UI=YES set."
|
|
||||||
export QT_QPA_PLATFORM=xcb
|
|
||||||
else
|
|
||||||
echo "Wayland is not being disabled. Do not complain when things break."
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec /opt/duckstation/duckstation-qt "$@"
|
|
||||||
|
|
@ -77,7 +77,8 @@ ninja -C build %{?_smp_mflags}
|
|||||||
%install
|
%install
|
||||||
rm -fr %{buildroot}
|
rm -fr %{buildroot}
|
||||||
ninja -C build install
|
ninja -C build install
|
||||||
install -Dm755 scripts/packaging/duckstation-qt %{buildroot}/usr/bin/duckstation-qt
|
mkdir -p %{buildroot}/usr/bin
|
||||||
|
ln -s /opt/duckstation/duckstation-qt %{buildroot}/usr/bin/duckstation-qt
|
||||||
install -Dm644 scripts/packaging/org.duckstation.DuckStation.png %{buildroot}/usr/share/icons/hicolor/512x512/apps/org.duckstation.DuckStation.png
|
install -Dm644 scripts/packaging/org.duckstation.DuckStation.png %{buildroot}/usr/share/icons/hicolor/512x512/apps/org.duckstation.DuckStation.png
|
||||||
install -Dm644 scripts/packaging/org.duckstation.DuckStation.desktop %{buildroot}/usr/share/applications/org.duckstation.DuckStation.desktop
|
install -Dm644 scripts/packaging/org.duckstation.DuckStation.desktop %{buildroot}/usr/share/applications/org.duckstation.DuckStation.desktop
|
||||||
|
|
||||||
|
@ -23,10 +23,8 @@ finish-args:
|
|||||||
- "--share=ipc"
|
- "--share=ipc"
|
||||||
- "--socket=pulseaudio"
|
- "--socket=pulseaudio"
|
||||||
- "--talk-name=org.freedesktop.ScreenSaver"
|
- "--talk-name=org.freedesktop.ScreenSaver"
|
||||||
|
- "--socket=wayland"
|
||||||
# Wayland is disabled due to various QtWayland issues, causing broken UI.
|
- "--socket=fallback-x11"
|
||||||
- "--socket=x11"
|
|
||||||
- "--env=QT_QPA_PLATFORM=xcb"
|
|
||||||
|
|
||||||
modules:
|
modules:
|
||||||
# Dependencies.
|
# Dependencies.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user