# Template file for 'ppsspp' pkgname=ppsspp version=1.17.1 revision=1 _glslang_commit=b34f619e1c85810dcb3c578107d2e48ba4ee2b37 _SPIRV_Cross_commit=4212eef67ed0ca048cb726a6767185504e7695e5 _armips_commit=a8d71f0f279eb0d30ecf6af51473b66ae0cf8e8d _discord_rpc_commit=963aa9f3e5ce81a4682c6ca3d136cddda614db33 _miniupnp_commit=3a87be33e797ba947b2b2a5f8d087f6c3ff4d93e _cpu_features_commit=fd4ffc1632db7b4e763bd28ffa6fc9d761cf3587 _rcheevos_commit=e7989c300280ba06d7621ae5b4e00ac7fe28d97a _libchdr_commit=26d27ca4903aaccd3ef41337b29bf5ecafb1f0ca build_style=cmake configure_args="-DHEADLESS=1 -DUSE_SYSTEM_FFMPEG=1 -DUNITTEST=ON -DUSING_QT_UI=$(vopt_if qt ON OFF) -DUSE_SYSTEM_ZSTD=ON -DARMIPS_USE_STD_FILESYSTEM=ON" hostmakedepends="pkg-config python3 $(vopt_if qt qt5-host-tools)" makedepends="zlib-devel glew-devel ffmpeg-devel libzip-devel snappy-devel rapidjson libpng-devel libzstd-devel $(vopt_if sdl2 'SDL2_ttf-devel SDL2-devel') 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/glslang/archive/${_glslang_commit}.tar.gz https://github.com/KhronosGroup/SPIRV-Cross/archive/${_SPIRV_Cross_commit}.tar.gz https://github.com/Kingcom/armips/archive/${_armips_commit}.tar.gz https://github.com/discordapp/discord-rpc/archive/${_discord_rpc_commit}.tar.gz https://github.com/hrydgard/miniupnp/archive/${_miniupnp_commit}.tar.gz https://github.com/google/cpu_features/archive/${_cpu_features_commit}.tar.gz https://github.com/RetroAchievements/rcheevos/archive/${_rcheevos_commit}.tar.gz https://github.com/rtissera/libchdr/archive/${_libchdr_commit}.tar.gz" checksum="dd65e7a317cd461386a1641ddf475686d8bdb2f408bdae910386d8b3ca6a8195 9be7a69f5e5e2b9db55feb6d36d4b78bfe7a0cfb02e5915ff9bad87d719b38f8 a7adf77b5680795302aee160309c6cb81b0da341d92bd7face01f9a156b65aeb a520df5b673fc1649661f8506ddf35f62fb55e05d9f5a6c44b4d807b6aab3fbd 8f4115999391f95f443615fc5b13cb2398926ac4c418d3d34ff5735f71c6faea 1b1d2897f66835ea5eeec5851fe8757aca5afd86984107dcdc0e4b1ce2f2f8be 60b2e0e7adfbf40f0c69fb77ad197440a8435532285a83b19f99b4f886cca67a fc184cc6fc17ca6645faef3b275fd6e18af76a04e0ee009a3a34bd2f58ffe485 006f323b6330c98883db887cbb7d2d13379498f34d5a2ee98850a1ff21a93d8a" skip_extraction=" ${_armips_commit}.tar.gz ${_glslang_commit}.tar.gz ${_SPIRV_Cross_commit}.tar.gz ${_discord_rpc_commit}.tar.gz ${_miniupnp_commit}.tar.gz ${_cpu_features_commit}.tar.gz ${_rcheevos_commit}.tar.gz ${_libchdr_commit}.tar.gz " # 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="qt sdl2" build_options_default="sdl2" post_extract() { vsrcextract -C ext/armips ${_armips_commit}.tar.gz vsrcextract -C ext/glslang ${_glslang_commit}.tar.gz vsrcextract -C ext/SPIRV-Cross ${_SPIRV_Cross_commit}.tar.gz vsrcextract -C ext/discord-rpc ${_discord_rpc_commit}.tar.gz vsrcextract -C ext/miniupnp ${_miniupnp_commit}.tar.gz vsrcextract -C ext/cpu_features ${_cpu_features_commit}.tar.gz vsrcextract -C ext/rcheevos ${_rcheevos_commit}.tar.gz vsrcextract -C ext/libchdr ${_libchdr_commit}.tar.gz } post_patch() { # disable git versioning vsed -e 's|find_package(Git)|# &|' -i git-version.cmake } post_configure() { cat > "${wrksrc}/build/git-version.cpp" <<-EOF const char *PPSSPP_GIT_VERSION = "${version}_${revision}-void"; #define PPSSPP_GIT_VERSION_NO_UPDATE 1 EOF } 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 }