# Maintainer: David Wu # Contributor: Maxime Gauduin # Contributor: Bartłomiej Piotrowski # Contributor: Ben Reedy # Contributor: Clement Guerin # Contributor: Thiago Kenji Okada # Contributor: uberushaximus pkgbase=ppsspp-git pkgname=( ppsspp-git ppsspp-headless-git ppsspp-qt-git ppsspp-common-git ) pkgver=1.11.2.r483.ba95125ae pkgrel=1 pkgdesc='A PSP emulator written in C++' arch=(x86_64) url=http://www.ppsspp.org/ license=(GPL2) depends=( glew glibc libgl sdl2 zlib snappy ) makedepends=( cmake git libglvnd libzip python qt5-tools qt5-multimedia ) 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 git+https://github.com/facebook/zstd.git ppsspp.desktop ppsspp-qt.desktop ) sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' '77a88e75f3c090856442b11c8d3f24ed95cc9ca0da1e3f22a40b700b30a3a7b7' '7456207ba3759ee93709e25b7bfce5b560a8cb432e2d578ef0f98cb6da6c4d15') pkgver() { cd ppsspp echo "$(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,zstd}; 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 } build() { cd ppsspp/build-sdl cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SKIP_RPATH=ON \ -DHEADLESS=ON \ -DUSE_SYSTEM_LIBZIP=ON \ -DUSE_SYSTEM_SNAPPY=ON \ -DOpenGL_GL_PREFERENCE=GLVND make cd ../build-qt cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SKIP_RPATH=ON \ -DUSE_SYSTEM_LIBZIP=ON \ -DUSING_QT_UI=ON \ -DUSE_SYSTEM_SNAPPY=ON \ -DOpenGL_GL_PREFERENCE=GLVND make } 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+=( hicolor-icon-theme libzip qt5-base qt5-multimedia ppsspp-common-git ) 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/ } 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 } # vim: ts=2 sw=2 et: