# Maintainer: 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 ) pkgver=1.10.3.r976.870685d8a 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 glu 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/hrydgard/miniupnp.git ppsspp.sh ppsspp-headless.sh ppsspp-qt.sh ppsspp.desktop ppsspp-qt.desktop ppsspp-flags.patch ) sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' '2c2d1ee6d1ce5c2acec372d58b8079885f6d5d674633cfea489cd550252a5426' '1236ce000bb670ee2c0e0645c3d55f4d8c8e74dbc35a1af0962a3bdd7608f1c5' '828b06aacc56672a4d953d77342717c5be414a68261025f74e466abd084b8e6b' '1c332702d0aeced07df7e12ba8530bc3f19a52bc76c355f6c84c141becfd46d8' 'b3b1fb9e0ecd3c4472b51f27d028a69514b1a3823c26e33da6ffaebfb1522b7f' '6694643d96dae673f01555637139468eb277f3379afbcceccad3f7e0ae670278') pkgver() { cd ppsspp echo "$(git describe --tags | sed 's/^v//; s/-/.r/; s/-g/./')" } prepare() { cd ppsspp patch -Np1 -i ../ppsspp-flags.patch 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,miniupnp}; do git submodule init ${submodule} git config submodule.${submodule}.url ../${submodule#*/} git submodule update ${submodule} done 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 ) provides=(ppsspp) conflicts=( ppsspp ppsspp-qt ppsspp-qt-git ) cd ppsspp/build-sdl install -dm 755 "${pkgdir}"/{opt/ppsspp,usr/{bin,share/{applications,icons,pixmaps}}} install -m 755 PPSSPPSDL "${pkgdir}"/opt/ppsspp/ cp -dr --no-preserve=ownership assets "${pkgdir}"/opt/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 install -m 755 ../../ppsspp.sh "${pkgdir}"/usr/bin/ppsspp install -m 644 ../../ppsspp.desktop "${pkgdir}"/usr/share/applications/ } package_ppsspp-headless-git() { provides=(ppsspp-headless) conflicts=(ppsspp-headless) cd ppsspp/build-sdl install -dm 755 "${pkgdir}"/{opt/ppsspp,usr/bin} install -m 755 PPSSPPHeadless "${pkgdir}"/opt/ppsspp/ install -m 755 ../../ppsspp-headless.sh "${pkgdir}"/usr/bin/ppsspp-headless } package_ppsspp-qt-git() { depends+=( hicolor-icon-theme libzip qt5-base qt5-multimedia ) provides=(ppsspp-qt) conflicts=( ppsspp ppsspp-git ppsspp-qt ) cd ppsspp/build-qt install -dm 755 "${pkgdir}"/{opt/ppsspp,usr/{bin,share/{applications,icons,pixmaps}}} install -m 755 PPSSPPQt "${pkgdir}"/opt/ppsspp/ cp -dr --no-preserve=ownership assets "${pkgdir}"/opt/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 install -m 755 ../../ppsspp-qt.sh "${pkgdir}"/usr/bin/ppsspp-qt install -m 644 ../../ppsspp-qt.desktop "${pkgdir}"/usr/share/applications/ } # vim: ts=2 sw=2 et: