have both mgba cores (upstream and libretro fork)

fixes #1968
This commit is contained in:
Tomáš Kelemen (vudiq) 2024-04-23 22:20:28 +02:00
parent 6b9f4c7853
commit 67d2ab56c7
No known key found for this signature in database
GPG Key ID: 5CE55E600E0B3B22
5 changed files with 54 additions and 25 deletions

View File

@ -258,6 +258,7 @@
mesen \
mesen_s \
mgba \
mgba_upstream \
mojozork \
mrboom \
mu \

View File

@ -1,41 +1,23 @@
PKG_NAME="mgba"
PKG_VERSION="a999a8760733cd226741d5e9cc05557aeda3eee3"
PKG_VERSION="b2564482c86378581a7a43ef4e254b2a75167bc7"
PKG_LICENSE="MPLv2.0"
PKG_SITE="https://github.com/mgba-emu/mgba"
PKG_SITE="https://github.com/libretro/mgba"
PKG_URL="${PKG_SITE}.git"
PKG_DEPENDS_TARGET="toolchain libzip libpng zlib"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="mGBA Game Boy Advance Emulator"
PKG_TOOLCHAIN="cmake"
PKG_TOOLCHAIN="make"
PKG_CMAKE_OPTS_TARGET="-DCMAKE_BUILD_TYPE=Release \
-DBUILD_LIBRETRO=ON \
-DSKIP_LIBRARY=ON \
-DBUILD_QT=OFF \
-DBUILD_SDL=OFF \
-DUSE_DISCORD_RPC=OFF \
-DUSE_GDB_STUB=OFF \
-DUSE_DEBUGGERS=OFF \
-DUSE_EDITLINE=OFF \
-DUSE_EPOXY=OFF"
PKG_MAKE_OPTS_TARGET="-C ../ -f Makefile.libretro"
if [ "${OPENGL_SUPPORT}" = "yes" ]; then
PKG_DEPENDS_TARGET+=" ${OPENGL}"
PKG_CMAKE_OPTS_TARGET+=" -DBUILD_GL=ON"
elif [ "${OPENGL_SUPPORT}" = "no" ]; then
PKG_CMAKE_OPTS_TARGET+=" -DBUILD_GL=OFF"
fi
if [ "${OPENGLES_SUPPORT}" = "yes" ]; then
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
fi
if [ "${GRAPHIC_DRIVER}" = panfrost ] && !listcontains "${MALI_FAMILY}" "(t720)"; then
PKG_CMAKE_OPTS_TARGET+=" -DBUILD_GLES3=ON -DBUILD_GLES2=OFF"
elif [ "${GRAPHIC_DRIVER}" = lima ] || listcontains "${MALI_FAMILY}" "4[0-9]+|t720"; then
PKG_CMAKE_OPTS_TARGET+=" -DBUILD_GLES3=OFF -DBUILD_GLES2=ON"
fi
makeinstall_target() {
mkdir -p ${INSTALL}/usr/lib/libretro
cp -v mgba_libretro.so ${INSTALL}/usr/lib/libretro/
cp -v ../mgba_libretro.so ${INSTALL}/usr/lib/libretro/
}

View File

@ -0,0 +1,41 @@
PKG_NAME="mgba_upstream"
PKG_VERSION="55add8a2c6b69faa97a08682cb62d59572aef16d"
PKG_LICENSE="MPLv2.0"
PKG_SITE="https://github.com/mgba-emu/mgba"
PKG_URL="${PKG_SITE}.git"
PKG_DEPENDS_TARGET="toolchain libzip libpng zlib"
PKG_LONGDESC="mGBA Game Boy Advance Emulator"
PKG_TOOLCHAIN="cmake"
PKG_CMAKE_OPTS_TARGET="-DCMAKE_BUILD_TYPE=Release \
-DBUILD_LIBRETRO=ON \
-DSKIP_LIBRARY=ON \
-DBUILD_QT=OFF \
-DBUILD_SDL=OFF \
-DUSE_DISCORD_RPC=OFF \
-DUSE_GDB_STUB=OFF \
-DUSE_DEBUGGERS=OFF \
-DUSE_EDITLINE=OFF \
-DUSE_EPOXY=OFF"
if [ "${OPENGL_SUPPORT}" = "yes" ]; then
PKG_DEPENDS_TARGET+=" ${OPENGL}"
PKG_CMAKE_OPTS_TARGET+=" -DBUILD_GL=ON"
elif [ "${OPENGL_SUPPORT}" = "no" ]; then
PKG_CMAKE_OPTS_TARGET+=" -DBUILD_GL=OFF"
fi
if [ "${OPENGLES_SUPPORT}" = "yes" ]; then
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
fi
if [ "${GRAPHIC_DRIVER}" = panfrost ] && !listcontains "${MALI_FAMILY}" "(t720)"; then
PKG_CMAKE_OPTS_TARGET+=" -DBUILD_GLES3=ON -DBUILD_GLES2=OFF"
elif [ "${GRAPHIC_DRIVER}" = lima ] || listcontains "${MALI_FAMILY}" "4[0-9]+|t720"; then
PKG_CMAKE_OPTS_TARGET+=" -DBUILD_GLES3=OFF -DBUILD_GLES2=ON"
fi
makeinstall_target() {
mkdir -p ${INSTALL}/usr/lib/libretro
cp -v mgba_libretro.so ${INSTALL}/usr/lib/libretro/mgba_upstream_libretro.so
}

View File

@ -1,5 +1,5 @@
PKG_NAME="core_info"
PKG_VERSION="a14d7eb60908def60fc422f689f34b0c2f63c58e"
PKG_VERSION="a0a5dff2a11313ee4a757df689260300a616e38a"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/libretro/libretro-core-info"
PKG_URL="${PKG_SITE}.git"
@ -11,4 +11,9 @@ makeinstall_target() {
# ScummVM package provides own core info file
rm -v ${INSTALL}/usr/lib/libretro/scummvm_libretro.info
# mGBA core built from upstream repo - create a duplicate .info file
cp -v ${INSTALL}/usr/lib/libretro/mgba_libretro.info ${INSTALL}/usr/lib/libretro/mgba_upstream_libretro.info
sed -i ${INSTALL}/usr/lib/libretro/mgba_upstream_libretro.info \
-e "s|mGBA|mGBA-upstream|g"
}