summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO22
-rw-r--r--PKGBUILD86
-rw-r--r--duckstation-qt.desktop10
-rw-r--r--duckstation-qt.sh3
4 files changed, 88 insertions, 33 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 64227c302182..be92037129ea 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 9c2fb750014f..87f369648a28 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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 "$@"