summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD216
1 files changed, 84 insertions, 132 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 12a9361bf156..25e26d1ff93d 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,4 +1,5 @@
-# Maintainer: David Wu <xdavidwuph@gmail.com>
+# Maintainer:
+# Contributor: David Wu <xdavidwuph@gmail.com>
# Contributor: Maxime Gauduin <alucryd@archlinux.org>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Ben Reedy <thebenj88@gmail.com>
@@ -6,185 +7,136 @@
# Contributor: Thiago Kenji Okada <thiago.mast3r@gmail.com>
# Contributor: uberushaximus <uberushaximus@gmail.com>
-pkgbase=ppsspp-git
pkgname=(
ppsspp-git
- ppsspp-headless-git
- ppsspp-qt-git
- ppsspp-common-git
+ ppsspp-assets-git
)
-pkgver=1.11.2.r291.bd87a7606
+pkgver=1.17.1.r91.746696ab
pkgrel=1
pkgdesc='A PSP emulator written in C++'
-arch=(x86_64)
-url=http://www.ppsspp.org/
+arch=(x86_64 aarch64)
+url=https://www.ppsspp.org/
license=(GPL2)
-depends=(
- glew
- glibc
- libgl
- sdl2
- zlib
- snappy
-)
makedepends=(
+ clang
cmake
git
+ glew
+ glu
libglvnd
+ libpng
libzip
+ ninja
python
- qt5-tools
+ qt5-base
qt5-multimedia
+ qt5-tools
+ sdl2
+ sdl2_ttf
+ snappy
+ zlib
)
+options=(!lto)
source=(
git+https://github.com/hrydgard/ppsspp.git
- git+https://github.com/Kingcom/armips.git
- git+https://github.com/discordapp/discord-rpc.git
- ppsspp-ffmpeg::git+https://github.com/hrydgard/ppsspp-ffmpeg.git
- ppsspp-glslang::git+https://github.com/hrydgard/glslang.git
- git+https://github.com/hrydgard/ppsspp-lang.git
- git+https://github.com/Tencent/rapidjson.git
- git+https://github.com/KhronosGroup/SPIRV-Cross.git
- armips-tinyformat::git+https://github.com/Kingcom/tinyformat.git
- ppsspp.desktop
+ ppsspp-sdl.desktop
ppsspp-qt.desktop
)
-sha256sums=('SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- '77a88e75f3c090856442b11c8d3f24ed95cc9ca0da1e3f22a40b700b30a3a7b7'
- '7456207ba3759ee93709e25b7bfce5b560a8cb432e2d578ef0f98cb6da6c4d15')
+b2sums=('SKIP'
+ 'c6bcdfedee866dfdcc82a8c333c31ff73ed0beec65b63acec8bc8186383c0bc9f0912f21bb9715b665e8dc1793b1a85599761f9037856fa54ad8aa3bfdbfd468'
+ '328e2ba47b78d242b0ec6ba6bfa039c77a36d1ef7246e5c2c2432d8e976e9360baf505eb05f48408ede1a30545cbbb7f875bf5ebd0252cef35523d449b8254a0')
pkgver() {
cd ppsspp
-
- echo "$(git describe --tags | sed 's/^v//; s/-/.r/; s/-g/./')"
+ git describe --tags | sed 's/^v//; s/-/.r/; s/-g/./'
}
prepare() {
cd ppsspp
-
- for submodule in assets/lang ext/glslang ffmpeg; do
- git submodule init ${submodule}
- git config submodule.${submodule}.url ../ppsspp-${submodule#*/}
- git submodule update ${submodule}
- done
- for submodule in ext/{armips,discord-rpc,rapidjson,SPIRV-Cross}; do
- git submodule init ${submodule}
- git config submodule.${submodule}.url ../${submodule#*/}
- git submodule update ${submodule}
- done
-
- git submodule init ext/miniupnp
- git submodule update ext/miniupnp
-
- pushd ext/armips
-
- for submodule in ext/tinyformat; do
- git submodule init ${submodule}
- git config submodule.${submodule}.url ../../../armips-${submodule#*/}
- git submodule update ${submodule}
- done
-
- popd
-
- for ui in sdl qt; do
- if [[ -d build-$ui ]]; then
- rm -rf build-$ui
- fi
- mkdir build-$ui
- done
+ git remote set-url origin https://github.com/hrydgard/ppsspp.git
+ git submodule update --init --filter=tree:0 --recursive
}
build() {
- cd ppsspp/build-sdl
+ export CC=clang
+ export CXX=clang++
+
+ # Rebuild ffmpeg locally
+ pushd ppsspp/ffmpeg
+ case "$CARCH" in
+ x86_64)
+ ./linux_x86-64.sh
+ ;;
+ aarch64)
+ ./linux_arm64_native.sh
+ ;;
+ esac
+ popd
- cmake .. \
+ cmake -S ppsspp -B build-sdl -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_SKIP_RPATH=ON \
-DHEADLESS=ON \
+ -DOpenGL_GL_PREFERENCE=GLVND \
+ -DUSE_SYSTEM_FFMPEG=OFF \
+ -DUSE_SYSTEM_MINIUPNPC=OFF \
-DUSE_SYSTEM_LIBZIP=ON \
-DUSE_SYSTEM_SNAPPY=ON \
- -DOpenGL_GL_PREFERENCE=GLVND
- make
-
- cd ../build-qt
-
- cmake .. \
+ -DUSE_SYSTEM_ZSTD=ON \
+ -DUSING_QT_UI=OFF \
+ -Wno-dev
+ cmake --build build-sdl -v
+ cmake -S ppsspp -B build-qt -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_SKIP_RPATH=ON \
+ -DHEADLESS=OFF \
+ -DOpenGL_GL_PREFERENCE=GLVND \
+ -DUSE_SYSTEM_FFMPEG=OFF \
+ -DUSE_SYSTEM_MINIUPNPC=OFF \
-DUSE_SYSTEM_LIBZIP=ON \
- -DUSING_QT_UI=ON \
-DUSE_SYSTEM_SNAPPY=ON \
- -DOpenGL_GL_PREFERENCE=GLVND
- make
+ -DUSE_SYSTEM_ZSTD=ON \
+ -DUSING_QT_UI=ON \
+ -Wno-dev
+ cmake --build build-qt -v
}
package_ppsspp-git() {
- depends+=(
- hicolor-icon-theme
- libzip
- ppsspp-common-git
- )
- provides=(ppsspp)
- conflicts=(ppsspp)
-
- cd ppsspp/build-sdl
-
- install -dm 755 "${pkgdir}"/usr/{bin,share/applications}
- install -m 755 PPSSPPSDL "${pkgdir}"/usr/bin/
- install -m 644 ../../ppsspp.desktop "${pkgdir}"/usr/share/applications/
-}
-
-package_ppsspp-headless-git() {
- depends+=(
- ppsspp-common-git
- )
- provides=(ppsspp-headless)
- conflicts=(ppsspp-headless)
- pkgdesc='A PSP emulator written in C++ (headless)'
-
- cd ppsspp/build-sdl
-
- install -dm 755 "${pkgdir}"/usr/bin
- install -m 755 PPSSPPHeadless "${pkgdir}"/usr/bin/
-}
-
-package_ppsspp-qt-git() {
- depends+=(
+ depends=(
+ fontconfig
+ gcc-libs
+ glew
+ glibc
hicolor-icon-theme
+ libgl
+ libpng
libzip
+ ppsspp-assets-git
qt5-base
qt5-multimedia
- ppsspp-common-git
+ sdl2
+ sdl2_ttf
+ snappy
+ zlib
+ zstd
)
- provides=(ppsspp-qt)
- conflicts=(ppsspp-qt)
- pkgdesc='A PSP emulator written in C++ (with Qt frontend)'
-
- cd ppsspp/build-qt
-
- install -dm 755 "${pkgdir}"/usr/{bin,share/applications}
- install -m 755 PPSSPPQt "${pkgdir}"/usr/bin/
- install -m 644 ../../ppsspp-qt.desktop "${pkgdir}"/usr/share/applications/
+ provides=(ppsspp)
+ conflicts=(ppsspp)
+ install -Dm 755 build-sdl/PPSSPPSDL -t "${pkgdir}"/usr/bin/
+ install -Dm 755 build-sdl/PPSSPPHeadless -t "${pkgdir}"/usr/bin/
+ install -Dm 755 build-qt/PPSSPPQt -t "${pkgdir}"/usr/bin/
+ install -dm 755 "${pkgdir}"/usr/share/icons
+ cp -dr --no-preserve=ownership ppsspp/icons/hicolor "${pkgdir}"/usr/share/icons/
+ install -Dm 644 ppsspp/icons/icon-512.svg "${pkgdir}"/usr/share/pixmaps/ppsspp.svg
+ install -Dm 644 ppsspp-sdl.desktop -t "${pkgdir}"/usr/share/applications/
+ install -Dm 644 ppsspp-qt.desktop -t "${pkgdir}"/usr/share/applications/
}
-package_ppsspp-common-git() {
- depends=()
- pkgdesc='A PSP emulator written in C++ (common assets)'
-
- cd ppsspp/build-qt
-
- install -dm 755 "${pkgdir}"/usr/share/{applications,icons,pixmaps,ppsspp}
- cp -dr --no-preserve=ownership assets "${pkgdir}"/usr/share/ppsspp/
- cp -dr --no-preserve=ownership ../icons/hicolor "${pkgdir}"/usr/share/icons/
- install -m 644 ../icons/icon-512.svg "${pkgdir}"/usr/share/pixmaps/ppsspp.svg
+package_ppsspp-assets-git() {
+ provides=(ppsspp-assets)
+ conflicts=(ppsspp-assets)
+ install -dm 755 "${pkgdir}"/usr/share/ppsspp
+ cp -dr --no-preserve=ownership build-sdl/assets "${pkgdir}"/usr/share/ppsspp/
}
# vim: ts=2 sw=2 et: