2022-02-05 14:23:32 +00:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
# Copyright (C) 2021-present 351ELEC (https://github.com/351ELEC)
|
|
|
|
|
|
|
|
PKG_NAME="retroarch"
|
2022-08-11 22:10:16 +00:00
|
|
|
PKG_VERSION="4c4bec11f7a469ed560b729d56df2d7bdcb4a032"
|
2022-02-05 14:23:32 +00:00
|
|
|
PKG_SITE="https://github.com/libretro/RetroArch"
|
2022-03-31 11:35:14 +00:00
|
|
|
PKG_URL="${PKG_SITE}.git"
|
2022-02-05 14:23:32 +00:00
|
|
|
PKG_LICENSE="GPLv3"
|
2022-07-11 10:58:58 +00:00
|
|
|
PKG_DEPENDS_TARGET="toolchain SDL2 alsa-lib openssl freetype zlib retroarch-assets core-info ffmpeg libass joyutils empty nss-mdns openal-soft libogg libvorbisidec libvorbis libvpx libpng libdrm pulseaudio miniupnpc flac"
|
2022-02-05 14:23:32 +00:00
|
|
|
PKG_LONGDESC="Reference frontend for the libretro API."
|
|
|
|
GET_HANDLER_SUPPORT="git"
|
|
|
|
|
2022-07-31 01:16:59 +00:00
|
|
|
PKG_PATCH_DIRS+=" ${DEVICE}"
|
2022-02-05 14:23:32 +00:00
|
|
|
|
|
|
|
pre_configure_target() {
|
|
|
|
TARGET_CONFIGURE_OPTS=""
|
2022-07-11 10:58:58 +00:00
|
|
|
PKG_CONFIGURE_OPTS_TARGET=" --disable-qt \
|
|
|
|
--enable-alsa \
|
|
|
|
--enable-udev \
|
|
|
|
--disable-opengl1 \
|
|
|
|
--disable-opengl \
|
|
|
|
--disable-wayland \
|
|
|
|
--disable-x11 \
|
|
|
|
--enable-zlib \
|
|
|
|
--enable-freetype \
|
|
|
|
--disable-discord \
|
|
|
|
--disable-vg \
|
|
|
|
--disable-sdl \
|
|
|
|
--enable-sdl2 \
|
|
|
|
--enable-ffmpeg"
|
2022-07-03 14:45:21 +00:00
|
|
|
|
2022-07-15 10:18:39 +00:00
|
|
|
case ${ARCH} in
|
|
|
|
arm)
|
2022-08-08 21:02:05 +00:00
|
|
|
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
|
2022-07-15 10:30:01 +00:00
|
|
|
PKG_CONFIGURE_OPTS_TARGET+=" --enable-neon --enable-opengles --enable-opengles3 --enable-opengles3_2 --enable-kms --disable-mali_fbdev"
|
2022-07-15 10:18:39 +00:00
|
|
|
;;
|
|
|
|
aarch64)
|
2022-08-08 21:02:05 +00:00
|
|
|
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
|
2022-07-15 10:49:50 +00:00
|
|
|
PKG_CONFIGURE_OPTS_TARGET+=" --disable-neon --enable-opengles --enable-opengles3 --enable-opengles3_2 --enable-kms --disable-mali_fbdev"
|
2022-07-15 10:18:39 +00:00
|
|
|
;;
|
|
|
|
*)
|
|
|
|
PKG_DEPENDS_TARGET+=" ${OPENGL} glu libglvnd vulkan-loader vulkan-headers"
|
|
|
|
PKG_CONFIGURE_OPTS_TARGET+=" --enable-opengl --enable-vulkan --enable-vulkan_display"
|
|
|
|
esac
|
2022-02-05 14:23:32 +00:00
|
|
|
|
2022-08-08 21:02:05 +00:00
|
|
|
case ${PROJECT} in
|
|
|
|
Rockchip)
|
|
|
|
PKG_DEPENDS_TARGET+=" librga libgo2"
|
2022-07-15 10:18:39 +00:00
|
|
|
PKG_CONFIGURE_OPTS_TARGET+=" --enable-odroidgo2"
|
|
|
|
;;
|
|
|
|
esac
|
2022-02-05 14:23:32 +00:00
|
|
|
|
2022-03-31 11:35:14 +00:00
|
|
|
cd ${PKG_BUILD}
|
2022-02-05 14:23:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
make_target() {
|
2022-07-30 23:34:43 +00:00
|
|
|
make HAVE_UPDATE_ASSETS=0 HAVE_LIBRETRODB=1 HAVE_BLUETOOTH=0 HAVE_NETWORKING=1 HAVE_ZARCH=1 HAVE_QT=0 HAVE_LANGEXTRA=1
|
2022-02-05 14:23:32 +00:00
|
|
|
[ $? -eq 0 ] && echo "(retroarch ok)" || { echo "(retroarch failed)" ; exit 1 ; }
|
|
|
|
make -C gfx/video_filters compiler=$CC extra_flags="$CFLAGS"
|
|
|
|
[ $? -eq 0 ] && echo "(video filters ok)" || { echo "(video filters failed)" ; exit 1 ; }
|
|
|
|
make -C libretro-common/audio/dsp_filters compiler=$CC extra_flags="$CFLAGS"
|
|
|
|
[ $? -eq 0 ] && echo "(audio filters ok)" || { echo "(audio filters failed)" ; exit 1 ; }
|
|
|
|
}
|
|
|
|
|
|
|
|
makeinstall_target() {
|
|
|
|
if [ "${ARCH}" == "aarch64" ]; then
|
2022-03-31 11:35:14 +00:00
|
|
|
mkdir -p ${INSTALL}/usr/bin
|
|
|
|
cp ${PKG_BUILD}/retroarch ${INSTALL}/usr/bin
|
2022-07-13 21:59:42 +00:00
|
|
|
cp -vP ${ROOT}/build.${DISTRO}-${DEVICE}.arm/retroarch-*/.install_pkg/usr/bin/retroarch ${INSTALL}/usr/bin/retroarch32
|
2022-02-05 14:23:32 +00:00
|
|
|
|
2022-03-31 11:35:14 +00:00
|
|
|
mkdir -p ${INSTALL}/usr/share/retroarch/filters
|
2022-07-13 21:59:42 +00:00
|
|
|
cp -rvP ${ROOT}/build.${DISTRO}-${DEVICE}.arm/retroarch-*/.install_pkg/usr/share/retroarch/filters/* ${INSTALL}/usr/share/retroarch/filters
|
2022-02-05 14:23:32 +00:00
|
|
|
|
2022-03-31 11:35:14 +00:00
|
|
|
mkdir -p ${INSTALL}/etc
|
|
|
|
cp ${PKG_BUILD}/retroarch.cfg ${INSTALL}/etc
|
2022-02-05 14:23:32 +00:00
|
|
|
|
2022-03-31 11:35:14 +00:00
|
|
|
mkdir -p ${INSTALL}/usr/share/retroarch/filters/64bit/video
|
|
|
|
cp ${PKG_BUILD}/gfx/video_filters/*.so ${INSTALL}/usr/share/retroarch/filters/64bit/video
|
|
|
|
cp ${PKG_BUILD}/gfx/video_filters/*.filt ${INSTALL}/usr/share/retroarch/filters/64bit/video
|
2022-02-05 14:23:32 +00:00
|
|
|
|
2022-03-31 11:35:14 +00:00
|
|
|
mkdir -p ${INSTALL}/usr/share/retroarch/filters/64bit/audio
|
|
|
|
cp ${PKG_BUILD}/libretro-common/audio/dsp_filters/*.so ${INSTALL}/usr/share/retroarch/filters/64bit/audio
|
|
|
|
cp ${PKG_BUILD}/libretro-common/audio/dsp_filters/*.dsp ${INSTALL}/usr/share/retroarch/filters/64bit/audio
|
2022-02-05 14:23:32 +00:00
|
|
|
|
|
|
|
# General configuration
|
2022-03-31 11:35:14 +00:00
|
|
|
mkdir -p ${INSTALL}/usr/config/retroarch/
|
2022-04-04 17:06:38 +00:00
|
|
|
if [ -d "${PKG_DIR}/sources/${DEVICE}" ]; then
|
2022-04-04 16:43:34 +00:00
|
|
|
cp -rf ${PKG_DIR}/sources/${DEVICE}/* ${INSTALL}/usr/config/retroarch/
|
|
|
|
else
|
|
|
|
cp -rf ${PKG_DIR}/sources/* ${INSTALL}/usr/config/retroarch/
|
|
|
|
fi
|
2022-02-05 14:23:32 +00:00
|
|
|
else
|
2022-03-31 11:35:14 +00:00
|
|
|
mkdir -p ${INSTALL}/usr/bin
|
|
|
|
cp ${PKG_BUILD}/retroarch ${INSTALL}/usr/bin
|
2022-02-05 14:23:32 +00:00
|
|
|
|
2022-03-31 11:35:14 +00:00
|
|
|
mkdir -p ${INSTALL}/usr/share/retroarch/filters/32bit/video
|
|
|
|
cp ${PKG_BUILD}/gfx/video_filters/*.so ${INSTALL}/usr/share/retroarch/filters/32bit/video
|
|
|
|
cp ${PKG_BUILD}/gfx/video_filters/*.filt ${INSTALL}/usr/share/retroarch/filters/32bit/video
|
2022-02-05 14:23:32 +00:00
|
|
|
|
2022-03-31 11:35:14 +00:00
|
|
|
mkdir -p ${INSTALL}/usr/share/retroarch/filters/32bit/audio
|
|
|
|
cp ${PKG_BUILD}/libretro-common/audio/dsp_filters/*.so ${INSTALL}/usr/share/retroarch/filters/32bit/audio
|
|
|
|
cp ${PKG_BUILD}/libretro-common/audio/dsp_filters/*.dsp ${INSTALL}/usr/share/retroarch/filters/32bit/audio
|
2022-02-05 14:23:32 +00:00
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
post_install() {
|
2022-03-16 22:03:28 +00:00
|
|
|
mkdir -p ${INSTALL}/etc/retroarch-joypad-autoconfig
|
2022-05-27 22:33:28 +00:00
|
|
|
cp -r ${PKG_DIR}/gamepads/device/${DEVICE}/* ${INSTALL}/etc/retroarch-joypad-autoconfig
|
2022-03-16 22:03:28 +00:00
|
|
|
|
2022-07-30 23:34:43 +00:00
|
|
|
enable_service tmp-cores.mount
|
|
|
|
enable_service tmp-joypads.mount
|
|
|
|
enable_service tmp-database.mount
|
|
|
|
enable_service tmp-assets.mount
|
|
|
|
enable_service tmp-shaders.mount
|
|
|
|
enable_service tmp-overlays.mount
|
2022-02-05 14:23:32 +00:00
|
|
|
}
|