Lakka-LibreELEC/packages/lakka/libretro_cores/ppsspp/package.mk
Tomáš Kelemen e9d6841d41
Update libretro cores / RetroArch to latest versions (#2028)
- all libretro cores updated to latest version
- RetroArch updated to 1.20.0
- assets, core-infos, joypad configs, shaders, overlays, databases
  updated to latest version
- easyrpg: removed patch merged upstream, switched to latest commit
  instead of tag
- liblcf: updated to latest version (dep of easyrpg)
- libinih: new dep of liblcf/easyrpg
- mame: updated patch for crosscompilation
- mupen64_plus_next: updated patch for gcc14 buildfix
- picodrive: dropped patch merged upstream
- retroarch: updated patch for saving to default config
- retroarch: drop libXv dep for x11 build (pkg was removed)
- ppsspp: drop old patch
- snes9x2002: dropped ARM_ASM=1 from make options for RPi0/1
- fbalpha2012: add buildfix patch
- yabasanshiro: dropped patch for RPi5 merged upstream
- yabasanshiro: added patch with function declaration
- yabasanshiro: re-enable for most targets
2025-02-01 09:53:03 +01:00

74 lines
2.4 KiB
Makefile

PKG_NAME="ppsspp"
PKG_VERSION="0f50225f8e741c2f8a3a35cfd3b7d9dd0a16b34f"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/hrydgard/ppsspp"
PKG_URL="${PKG_SITE}.git"
PKG_DEPENDS_TARGET="toolchain glibc libzip libpng zstd zlib bzip2 openssl speex"
PKG_LONGDESC="Libretro port of PPSSPP"
PKG_TOOLCHAIN="cmake"
PKG_LR_UPDATE_TAG="yes"
PKG_CMAKE_OPTS_TARGET="-DLIBRETRO=ON \
-DCMAKE_BUILD_TYPE=Release \
-DUSE_FFMPEG=ON \
-DUSE_SYSTEM_FFMPEG=OFF \
-DUSE_SYSTEM_LIBZIP=ON \
-DUSE_SYSTEM_LIBPNG=ON \
-DUSE_SYSTEM_ZSTD=ON \
-DUSE_DISCORD=OFF \
-DUSE_MINIUPNPC=OFF"
# for future compatibility - in case other platforms will use system ffmpeg
if [ "${PROJECT}" = "L4T" -a "${DEVICE}" = "Switch" ]; then
PKG_CMAKE_OPTS_TARGET=${PKG_CMAKE_OPTS_TARGET//-DUSE_SYSTEM_FFMPEG=ON/-DUSE_SYSTEM_FFMPEG=OFF}
fi
if [ "${OPENGL_SUPPORT}" = "yes" ]; then
PKG_DEPENDS_TARGET+=" ${OPENGL}"
fi
if [ "${OPENGLES_SUPPORT}" = "yes" ]; then
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
fi
if [ "${VULKAN_SUPPORT}" = "yes" ]; then
PKG_DEPENDS_TARGET+=" ${VULKAN}"
PKG_CMAKE_OPTS_TARGET+=" -DVULKAN=ON"
if [ "${DISPLAYSERVER}" = "x11" ]; then
PKG_CMAKE_OPTS_TARGET+=" -DUSING_X11_VULKAN=ON"
else
PKG_CMAKE_OPTS_TARGET+=" -DUSE_VULKAN_DISPLAY_KHR=ON -DUSING_X11_VULKAN=OFF"
fi
else
PKG_CMAKE_OPTS_TARGET+=" -DVULKAN=OFF"
fi
if [ "${OPENGL_SUPPORT}" = "no" -a "${OPENGLES_SUPPORT}" = "yes" ]; then
PKG_CMAKE_OPTS_TARGET+=" -DUSING_GLES2=ON"
fi
if [ "${TARGET_ARCH}" = "arm" ]; then
if [[ "${TARGET_NAME}" =~ "armv8" ]]; then
PKG_CMAKE_OPTS_TARGET+=" -DFORCED_CPU=armv8"
else
PKG_CMAKE_OPTS_TARGET+=" -DFORCED_CPU=armv7"
fi
elif [ "${TARGET_ARCH}" = "aarch64" ]; then
PKG_CMAKE_OPTS_TARGET+=" -DFORCED_CPU=aarch64"
fi
pre_make_target() {
# This script should work on any board that has issues with system ffmpeg in ppsspp
if [ "${ARCH}" = "aarch64" ]; then
. ${PKG_BUILD}/ffmpeg/linux_lakka.sh
fi
find ${PKG_BUILD} -name flags.make -exec sed -i "s:isystem :I:g" \{} \;
find ${PKG_BUILD} -name build.ninja -exec sed -i "s:isystem :I:g" \{} \;
}
makeinstall_target() {
mkdir -p ${INSTALL}/usr/lib/libretro
cp -v lib/ppsspp_libretro.so ${INSTALL}/usr/lib/libretro/
mkdir -p ${INSTALL}/usr/share/retroarch/system/PPSSPP
cp -rv assets/* ${INSTALL}/usr/share/retroarch/system/PPSSPP/
}