diff --git a/.github/workflows/linux-appimage-build.yml b/.github/workflows/linux-appimage-build.yml index 7553b7e82..1665c391d 100644 --- a/.github/workflows/linux-appimage-build.yml +++ b/.github/workflows/linux-appimage-build.yml @@ -29,7 +29,7 @@ jobs: fetch-depth: 0 - name: Install Packages - run: scripts/packaging/appimage/install-packages.sh + run: scripts/appimage/install-packages.sh - name: Cache Dependencies id: cache-deps @@ -75,7 +75,7 @@ jobs: cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ${{ matrix.cmakeoptions }} -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_PREFIX_PATH="$HOME/deps" -DCMAKE_C_COMPILER=clang-19 -DCMAKE_CXX_COMPILER=clang++-19 -DCMAKE_EXE_LINKER_FLAGS_INIT="-fuse-ld=lld" -DCMAKE_MODULE_LINKER_FLAGS_INIT="-fuse-ld=lld" -DCMAKE_SHARED_LINKER_FLAGS_INIT="-fuse-ld=lld" .. cmake --build . --parallel cd .. - scripts/packaging/appimage/make-appimage.sh $(realpath .) $(realpath ./build) $HOME/deps "${{ matrix.asset }}" + scripts/appimage/make-appimage.sh $(realpath .) $(realpath ./build) $HOME/deps "${{ matrix.asset }}" - name: Upload AppImage uses: actions/upload-artifact@v6 diff --git a/.github/workflows/linux-cross-appimage-build.yml b/.github/workflows/linux-cross-appimage-build.yml index 802e2292f..4ad3e0218 100644 --- a/.github/workflows/linux-cross-appimage-build.yml +++ b/.github/workflows/linux-cross-appimage-build.yml @@ -90,8 +90,8 @@ jobs: shell: bash run: | cmake --build build --parallel - scripts/packaging/appimage/make-cross-appimage.sh duckstation-qt ${{ matrix.arch }} "$(realpath build)" "$HOME/deps/cross" "/${{ matrix.arch }}-chroot" - scripts/packaging/appimage/make-cross-appimage.sh -inject-libc duckstation-mini ${{ matrix.arch }} "$(realpath build)" "$HOME/deps/cross" "/${{ matrix.arch }}-chroot" + scripts/appimage/make-cross-appimage.sh duckstation-qt ${{ matrix.arch }} "$(realpath build)" "$HOME/deps/cross" "/${{ matrix.arch }}-chroot" + scripts/appimage/make-cross-appimage.sh -inject-libc duckstation-mini ${{ matrix.arch }} "$(realpath build)" "$HOME/deps/cross" "/${{ matrix.arch }}-chroot" - name: Upload AppImages uses: actions/upload-artifact@v6 diff --git a/scripts/packaging/appimage/apprun-cross.sh b/scripts/appimage/apprun-cross.sh similarity index 100% rename from scripts/packaging/appimage/apprun-cross.sh rename to scripts/appimage/apprun-cross.sh diff --git a/scripts/packaging/generate-metainfo.sh b/scripts/appimage/generate-metainfo.sh similarity index 100% rename from scripts/packaging/generate-metainfo.sh rename to scripts/appimage/generate-metainfo.sh diff --git a/scripts/packaging/appimage/inject-libc-apprun.sh b/scripts/appimage/inject-libc-apprun.sh similarity index 100% rename from scripts/packaging/appimage/inject-libc-apprun.sh rename to scripts/appimage/inject-libc-apprun.sh diff --git a/scripts/packaging/appimage/inject-libc.sh b/scripts/appimage/inject-libc.sh similarity index 100% rename from scripts/packaging/appimage/inject-libc.sh rename to scripts/appimage/inject-libc.sh diff --git a/scripts/packaging/appimage/install-packages.sh b/scripts/appimage/install-packages.sh similarity index 100% rename from scripts/packaging/appimage/install-packages.sh rename to scripts/appimage/install-packages.sh diff --git a/scripts/packaging/appimage/make-appimage.sh b/scripts/appimage/make-appimage.sh similarity index 95% rename from scripts/packaging/appimage/make-appimage.sh rename to scripts/appimage/make-appimage.sh index e24158e00..4b74f1fb1 100755 --- a/scripts/packaging/appimage/make-appimage.sh +++ b/scripts/appimage/make-appimage.sh @@ -125,8 +125,8 @@ DEPLOY_PLATFORM_THEMES="1" \ QMAKE="$DEPSDIR/bin/qmake" \ NO_STRIP="1" \ $LINUXDEPLOY --plugin qt --appdir="$OUTDIR" --executable="$BUILDDIR/bin/duckstation-qt" ${EXTRA_LIBS_ARGS[@]} \ ---desktop-file="$ROOTDIR/scripts/packaging/org.duckstation.DuckStation.desktop" \ ---icon-file="$ROOTDIR/scripts/packaging/org.duckstation.DuckStation.png" \ +--desktop-file="$ROOTDIR/scripts/appimage/org.duckstation.DuckStation.desktop" \ +--icon-file="$ROOTDIR/scripts/appimage/org.duckstation.DuckStation.png" \ echo "Copying resources into AppDir..." cp -a "$BUILDDIR/bin/resources" "$OUTDIR/usr/bin" @@ -171,7 +171,7 @@ cp -a "$BUILDDIR/bin/translations" "$OUTDIR/usr/bin" # Generate AppStream meta-info. echo "Generating AppStream metainfo..." mkdir -p "$OUTDIR/usr/share/metainfo" -"$SCRIPTDIR/../generate-metainfo.sh" "$OUTDIR/usr/share/metainfo" +"$SCRIPTDIR/generate-metainfo.sh" "$OUTDIR/usr/share/metainfo" echo "Generating AppImage..." rm -f "$ASSETNAME" diff --git a/scripts/packaging/appimage/make-cross-appimage.sh b/scripts/appimage/make-cross-appimage.sh similarity index 96% rename from scripts/packaging/appimage/make-cross-appimage.sh rename to scripts/appimage/make-cross-appimage.sh index 59230e6b8..02c257433 100755 --- a/scripts/packaging/appimage/make-cross-appimage.sh +++ b/scripts/appimage/make-cross-appimage.sh @@ -321,15 +321,15 @@ done echo "Copying desktop/icon..." mkdir -p "$OUTDIR/usr/share/applications" mkdir -p "$OUTDIR/usr/share/icons/hicolor/512x512/apps" -cp -v "$SCRIPTDIR/../org.duckstation.DuckStation.desktop" "$OUTDIR/usr/share/applications" -cp -v "$SCRIPTDIR/../org.duckstation.DuckStation.png" "$OUTDIR/usr/share/icons/hicolor/512x512/apps" +cp -v "$SCRIPTDIR/org.duckstation.DuckStation.desktop" "$OUTDIR/usr/share/applications" +cp -v "$SCRIPTDIR/org.duckstation.DuckStation.png" "$OUTDIR/usr/share/icons/hicolor/512x512/apps" ln -s "usr/share/applications/org.duckstation.DuckStation.desktop" "$OUTDIR" ln -s "usr/share/icons/hicolor/512x512/apps/org.duckstation.DuckStation.png" "$OUTDIR" # Generate AppStream meta-info. echo "Generating AppStream metainfo..." mkdir -p "$OUTDIR/usr/share/metainfo" -"$SCRIPTDIR/../generate-metainfo.sh" "$OUTDIR/usr/share/metainfo" +"$SCRIPTDIR/generate-metainfo.sh" "$OUTDIR/usr/share/metainfo" # Copy AppRun cp "$SCRIPTDIR/apprun-cross.sh" "$OUTDIR/AppRun" diff --git a/scripts/packaging/org.duckstation.DuckStation.desktop b/scripts/appimage/org.duckstation.DuckStation.desktop similarity index 100% rename from scripts/packaging/org.duckstation.DuckStation.desktop rename to scripts/appimage/org.duckstation.DuckStation.desktop diff --git a/scripts/appimage/org.duckstation.DuckStation.metainfo.xml.in b/scripts/appimage/org.duckstation.DuckStation.metainfo.xml.in new file mode 100644 index 000000000..d1e5dd699 --- /dev/null +++ b/scripts/appimage/org.duckstation.DuckStation.metainfo.xml.in @@ -0,0 +1,24 @@ + + + org.duckstation.DuckStation + org.duckstation.DuckStation.desktop + CC0-1.0 + CC-BY-NC-ND-4.0 + DuckStation + Stenzek + PlayStation Emulator + +

DuckStation is an simulator/emulator of the Sony PlayStation(TM) console, focusing on playability, speed, and long-term maintainability. The goal is to be as accurate as possible while maintaining performance suitable for low-end devices.

+

"Hack" options are discouraged, the default configuration should support all playable games with only some of the enhancements having compatibility issues.

+

DuckStation features a fully-featured frontend built using Qt, as well as a fullscreen/TV UI based on Dear ImGui. Other features include:

+

"PlayStation" and "PSX" are registered trademarks of Sony Interactive Entertainment Europe Limited. This project is not affiliated in any way with Sony Interactive Entertainment.

+
+ + stenzek_AT_gmail.com + https://www.duckstation.org/ + https://github.com/stenzek/duckstation + https://github.com/stenzek/duckstation + + + +
diff --git a/scripts/packaging/org.duckstation.DuckStation.png b/scripts/appimage/org.duckstation.DuckStation.png similarity index 100% rename from scripts/packaging/org.duckstation.DuckStation.png rename to scripts/appimage/org.duckstation.DuckStation.png diff --git a/scripts/packaging/org.duckstation.DuckStation.metainfo.xml.in b/scripts/packaging/org.duckstation.DuckStation.metainfo.xml.in deleted file mode 100644 index 38e20879c..000000000 --- a/scripts/packaging/org.duckstation.DuckStation.metainfo.xml.in +++ /dev/null @@ -1,82 +0,0 @@ - - - org.duckstation.DuckStation - org.duckstation.DuckStation.desktop - CC0-1.0 - CC-BY-NC-ND-4.0 - DuckStation - Stenzek - PlayStation Emulator - -

DuckStation is an simulator/emulator of the Sony PlayStation(TM) console, focusing on playability, speed, and long-term maintainability. The goal is to be as accurate as possible while maintaining performance suitable for low-end devices.

-

"Hack" options are discouraged, the default configuration should support all playable games with only some of the enhancements having compatibility issues.

-

DuckStation features a fully-featured frontend built using Qt, as well as a fullscreen/TV UI based on Dear ImGui. Other features include:

- -

"PlayStation" and "PSX" are registered trademarks of Sony Interactive Entertainment Europe Limited. This project is not affiliated in any way with Sony Interactive Entertainment.

-
- - stenzek_AT_gmail.com - https://www.duckstation.org/ - https://github.com/stenzek/duckstation - https://github.com/stenzek/duckstation - - - https://raw.githubusercontent.com/stenzek/duckstation/md-images/linux-main-qt.png - Desktop Interface - - - https://raw.githubusercontent.com/stenzek/duckstation/md-images/linux-bigpicture.png - Big Picture Mode Interface - - - https://raw.githubusercontent.com/stenzek/duckstation/md-images/linux-hover.png - Hover Racing Game - - - https://raw.githubusercontent.com/stenzek/duckstation/md-images/linux-fromage.png - Fromage Game - - - - - - - https://raw.githubusercontent.com/stenzek/duckstation/@GIT_HASH@/scripts/packaging/flatpak/org.duckstation.DuckStation.yaml - -