# Template file for 'ppsspp' pkgname=ppsspp version=1.8.0 revision=1 create_wrksrc=yes build_wrksrc="ppsspp-${version}" build_style=cmake configure_args="-DHEADLESS=1 -DUSE_SYSTEM_FFMPEG=1 -DUNITTEST=ON -DUSING_QT_UI=$(vopt_if qt ON OFF)" hostmakedepends="pkg-config $(vopt_if qt qt5-host-tools)" makedepends="zlib-devel glew-devel ffmpeg-devel libzip-devel snappy-devel rapidjson $(vopt_if sdl2 SDL2-devel) $(vopt_if wayland wayland-devel) $(vopt_if qt 'qt5-devel qt5-multimedia-devel')" depends="desktop-file-utils" short_desc="Fast and portable PSP emulator" maintainer="John " license="GPL-2.0-or-later" homepage="https://www.ppsspp.org/" distfiles=" https://github.com/hrydgard/ppsspp/archive/v${version}.tar.gz https://github.com/hrydgard/ppsspp-lang/archive/18e0d46.tar.gz https://github.com/hrydgard/glslang/archive/9983f99.tar.gz https://github.com/KhronosGroup/SPIRV-Cross/archive/be7425e.tar.gz https://github.com/Kingcom/armips/archive/7885552.tar.gz https://github.com/discordapp/discord-rpc/archive/3d3ae7129d17643bc706da0a2eea85aafd10ab3a.tar.gz" checksum="a7011feb0480a352d60e6a3c939d88d4d2e3a2e76620886b183aa2cb36f910de 3d313170bb387d466e2bf267b23dd5689174355537f728b42a99f9ea77af0d37 ea5c3ca101b9635508052e0f52966303e8fc94edf564ecfd0fda147b74625c9a 21afa0e32dd2d75ee51c4f5c0d16330a9d80d435d6ac9900d0c13bffdfd7b682 f8a03906135fb6f2932b80b7ef5991f39ccac46b36ec3690776fb38c69775c3d 20fe5dbd7a64f7a8fdbaeb81f8dd485df61121c5054e0f7f917c6193f209ff2e" # ppsspp always tries to compile x86 unittest # https://gist.github.com/Johnnynator/e18d59274451cff890b7235009d2e93d case $XBPS_TARGET_MACHINE in x86_64* | i686*) configure_args+=" -DUNITTEST=ON";; armv[67]*) broken="SDL2 is not build against x11";; ppc*) broken="No JIT support";; *) configure_args+=" -DUNITTEST=OFF";; esac build_options="wayland qt sdl2" build_options_default="sdl2" pre_configure() { # copy submodules to right location cp -rup ${wrksrc}/ppsspp-lang-*/* ${wrksrc}/${pkgname}-${version}/assets/lang cp -rup ${wrksrc}/armips-*/* ${wrksrc}/${pkgname}-${version}/ext/armips cp -rup ${wrksrc}/glslang-*/* ${wrksrc}/${pkgname}-${version}/ext/glslang cp -rup ${wrksrc}/SPIRV-Cross-*/* ${wrksrc}/${pkgname}-${version}/ext/SPIRV-Cross cp -rup ${wrksrc}/discord-rpc-*/* ${wrksrc}/${pkgname}-${version}/ext/discord-rpc # disable git versioning sed 's|find_package(Git)|# &|' -i ${wrksrc}/${pkgname}-${version}/git-version.cmake rm -rf ${pkgname}-${version}/build } do_install() { vlicense LICENSE.TXT vinstall icons/icon.svg 644 usr/share/pixmaps ppsspp.svg vinstall Qt/PPSSPP.desktop 644 usr/share/applications vbin build/PPSSPPHeadless ppsspp-headless vmkdir usr/share/ppsspp vcopy build/assets usr/share/ppsspp/ if [ $build_option_sdl2 ]; then vbin build/PPSSPPSDL ppsspp-sdl sed -e 's,^Exec=.*,Exec=/usr/bin/ppsspp-sdl,' -i $DESTDIR/usr/share/applications/PPSSPP.desktop elif [ $build_option_qt ] ;then vbin build/PPSSPPQt ppsspp-qt sed -e 's,^Exec=.*,Exec=/usr/bin/ppsspp-qt,' -i $DESTDIR/usr/share/applications/PPSSPP.desktop fi sed -e 's,^Icon=.*,Icon=/usr/share/pixmaps/ppsspp.svg,' -i $DESTDIR/usr/share/applications/PPSSPP.desktop }