diff options
-rw-r--r-- | .SRCINFO | 22 | ||||
-rw-r--r-- | PKGBUILD | 86 | ||||
-rw-r--r-- | duckstation-qt.desktop | 10 | ||||
-rw-r--r-- | duckstation-qt.sh | 3 |
4 files changed, 88 insertions, 33 deletions
@@ -1,6 +1,6 @@ pkgbase = duckstation-git pkgdesc = A Sony PlayStation (PSX) emulator, focusing on playability, speed, and long-term maintainability (git version) - pkgver = r5564.73a80d3a + pkgver = r6121.39e62ae9 pkgrel = 1 url = https://github.com/stenzek/duckstation arch = x86_64 @@ -10,17 +10,35 @@ pkgbase = duckstation-git makedepends = cmake makedepends = extra-cmake-modules makedepends = qt6-tools + makedepends = qt6-wayland makedepends = libdrm makedepends = libpulse makedepends = alsa-lib makedepends = sndio - makedepends = gtk3 makedepends = ninja + makedepends = jack depends = sdl2 depends = qt6-base + depends = libxrandr + depends = libglvnd + depends = libx11 + depends = libdrm + depends = dbus + depends = curl + depends = mesa + depends = hicolor-icon-theme + optdepends = qt6-wayland: Wayland support + optdepends = libpulse: Pulseaudio support + optdepends = sndio: Small audio support + optdepends = alsa-lib: ALSA support + optdepends = jack: JACK support provides = duckstation conflicts = duckstation source = git+https://github.com/stenzek/duckstation.git + source = duckstation-qt.desktop + source = duckstation-qt.sh sha256sums = SKIP + sha256sums = ec2d7358f81598390a8ceca2d1974be3e5f7c45602b550c89a1e9323ab45474b + sha256sums = fdfc77b028faa8be25ea66c8f47c41750ba6eb98f41a4802b44398fc5994b86a pkgname = duckstation-git @@ -1,55 +1,79 @@ -# Maintainer: katt <magunasu.b97@gmail.com> +# Contributor: katt <magunasu.b97@gmail.com> pkgname=duckstation-git -pkgver=r5564.73a80d3a +_pkgname=duckstation +pkgver=r6121.39e62ae9 pkgdesc='A Sony PlayStation (PSX) emulator, focusing on playability, speed, and long-term maintainability (git version)' pkgrel=1 arch=(x86_64 aarch64) url=https://github.com/stenzek/duckstation license=(GPL3) -makedepends=(git cmake extra-cmake-modules qt6-tools libdrm libpulse alsa-lib sndio gtk3 ninja) # include jack2 to build jack cubeb backend -depends=(sdl2 qt6-base) -optdepends=() -provides=("${pkgname%-git}") -conflicts=("${pkgname%-git}") -source=(git+"$url".git) -sha256sums=('SKIP') +depends=( + sdl2 + qt6-base + libxrandr + libglvnd + libx11 + libdrm + dbus + curl + mesa + hicolor-icon-theme) +makedepends=( + git + cmake + extra-cmake-modules + qt6-tools + qt6-wayland + libdrm + libpulse + alsa-lib + sndio + ninja + jack) +optdepends=( + 'qt6-wayland: Wayland support' + 'libpulse: Pulseaudio support' + 'sndio: Small audio support' + 'alsa-lib: ALSA support' + 'jack: JACK support' +) +provides=('duckstation') +conflicts=('duckstation') +source=(git+"$url".git + duckstation-qt.desktop + duckstation-qt.sh) +sha256sums=('SKIP' + 'ec2d7358f81598390a8ceca2d1974be3e5f7c45602b550c89a1e9323ab45474b' + 'fdfc77b028faa8be25ea66c8f47c41750ba6eb98f41a4802b44398fc5994b86a') pkgver() { - cd "${srcdir}/${pkgname%-git}" + cd "$srcdir/$_pkgname" printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" } build() { cmake -B build -S duckstation \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-error=format-security" \ -DBUILD_NOGUI_FRONTEND=OFF \ + -DBUILD_QT_FRONTEND=ON \ + -DUSE_DRMKMS=ON \ + -DUSE_EGL=ON \ + -DUSE_SDL2=ON \ -DUSE_WAYLAND=ON \ + -DUSE_X11=ON \ + -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \ -G Ninja \ -Wno-dev ninja -C build } package() { - # Main files - install -m755 -d "${pkgdir}/opt" - cp -rv build/bin "${pkgdir}/opt/${pkgname%-git}" + install -m755 -d "$pkgdir/opt" + cp -drv --no-preserve='ownership' build/bin "$pkgdir/opt/$_pkgname" - # Symlink to /usr/bin - install -m755 -d "${pkgdir}/usr/bin" - ln -svt "${pkgdir}/usr/bin" /opt/"${pkgname%-git}"/"${pkgname%-git}"-qt - - # Desktop file - cat > "${pkgname%-git}/data/resources/.desktop" << EOF -[Desktop Entry] -Type=Application -Name=DuckStation -GenericName=PlayStation 1 Emulator -Comment=Fast PlayStation 1 emulator -Icon=duckstation -TryExec=duckstation-qt -Exec=duckstation-qt %f -Categories=Game;Emulator;Qt; -EOF - install -Dm644 "${pkgname%-git}/data/resources/.desktop" "${pkgdir}/usr/share/applications/duckstation-qt.desktop" - install -Dm644 "${pkgname%-git}/data/resources/images/duck.png" "${pkgdir}/usr/share/pixmaps/duckstation.png" + install -Dvm755 "$srcdir/duckstation-qt.sh" "$pkgdir/usr/bin/duckstation-qt" + install -Dvm644 "$srcdir/duckstation-qt.desktop" "$pkgdir/usr/share/applications/duckstation-qt.desktop" + install -Dm644 "$_pkgname/data/resources/images/duck.png" "$pkgdir/usr/share/icons/hicolor/64x64/apps/duckstation-qt.png" } diff --git a/duckstation-qt.desktop b/duckstation-qt.desktop new file mode 100644 index 000000000000..ccdc7d0eb766 --- /dev/null +++ b/duckstation-qt.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Name=DuckStation +GenericName=PlayStation 1 Emulator +Comment=Fast PlayStation 1 emulator +Icon=duckstation-qt +TryExec=duckstation-qt +Exec=duckstation-qt %f +Categories=Game;Emulator;Qt; diff --git a/duckstation-qt.sh b/duckstation-qt.sh new file mode 100644 index 000000000000..d596876eebed --- /dev/null +++ b/duckstation-qt.sh @@ -0,0 +1,3 @@ +#!/usr/bin/sh + +/opt/duckstation/duckstation-qt "$@" |