diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 216 |
1 files changed, 84 insertions, 132 deletions
@@ -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: |