Skip to content

fix: update fceumm and mGBA core builds - #799

Open
pvaibhav wants to merge 2 commits into
LoveRetro:mainfrom
pvaibhav:fceumm-hotfix
Open

fix: update fceumm and mGBA core builds#799
pvaibhav wants to merge 2 commits into
LoveRetro:mainfrom
pvaibhav:fceumm-hotfix

Conversation

@pvaibhav

@pvaibhav pvaibhav commented Aug 8, 2026

Copy link
Copy Markdown

The upstream FCEUmm code changed enough that the existing patch could no longer find its hunk, so this updates the patch for tg5040 and tg5050.

mGBA also removed Makefile.libretro entirely. Replace the obsolete mGBA patches with CMake-based libretro build recipes for both platforms.

The upstream code changed enough that our existing patch can't
find the hunk. I updated it to it builds now.
@pvaibhav

pvaibhav commented Aug 8, 2026

Copy link
Copy Markdown
Author

Not sure why the CI build failed. Builds fine in my local container.

because upstream mGBA changed the build system and my local checkout was not up to date.

@pvaibhav pvaibhav changed the title fix: update fceumm core's patch fix: update fceumm and mGBA core builds Aug 9, 2026
lepht pushed a commit to lepht/nexterUI that referenced this pull request Aug 12, 2026
Adopted from upstream LoveRetro#799 by Prashant Vaibhav, taken while
upstream is still GPL-3.0 (see LoveRetro#765). Clears the last two
boxes in #16.

Both cores were pinned backwards to dodge upstream drift. That was a holding
action; this is the real fix, so the pins move forwards instead.

mgba: libretro/mgba deleted Makefile.libretro in 8940477 when its CI moved to
cmake, and patches/mgba.patch existed only to add a platform block to that
file. The patch is deleted and the same flags now go to cmake directly via
mgba_MAKE, with mgba_CORE pointing at the build dir. Pinned to e31759b
(2026-08-05), verified cmake-only, exposing BUILD_LIBRETRO / LIBMGBA_ONLY /
LIBRETRO_STATIC and building target mgba_libretro. cmake is present in the
toolchain image, which also ships an aarch64 cross toolchain file.

fceumm: the rewritten patch targets the post-8ed0cb2 Makefile.libretro, so it
cannot apply to the commit we pinned to avoid that change. Pinned to b5e3566,
whose Makefile.libretro blob is the exact pre-image the patch was written
against. Verified per #16's method - `git apply --check` at the new pin passes
for both tg5040 and tg5050, and fails at the old pin, so patch and pin have to
move together.

Deviation from upstream: their mgba_MAKE ends `-- $(PROCS)`, but the shared
rule in all/cores/makefile already appends $(PROCS), which expanded to
`-- -j4 -j4`. Dropped ours, keeping the `--` so -j4 still reaches the native
build tool rather than becoming a cmake flag.

Not built for ARM here - no container runtime in this environment - so the
cmake cross-compile itself is still unproven on our side. CI covers it.

Co-Authored-By: Prashant Vaibhav <prashant@vaibhav.de>
lepht pushed a commit to lepht/nexterUI that referenced this pull request Aug 12, 2026
Adopted from upstream LoveRetro#799 by Prashant Vaibhav, taken while
upstream is still GPL-3.0 (see LoveRetro#765). Clears the last two
boxes in #16.

Both cores were pinned backwards to dodge upstream drift. That was a holding
action; this is the real fix, so the pins move forwards instead.

mgba: libretro/mgba deleted Makefile.libretro in 8940477 when its CI moved to
cmake, and patches/mgba.patch existed only to add a platform block to that
file. The patch is deleted and the same flags now go to cmake directly via
mgba_MAKE, with mgba_CORE pointing at the build dir. Pinned to e31759b
(2026-08-05), verified cmake-only, exposing BUILD_LIBRETRO / LIBMGBA_ONLY /
LIBRETRO_STATIC and building target mgba_libretro. cmake is present in the
toolchain image, which also ships an aarch64 cross toolchain file.

fceumm: the rewritten patch targets the post-8ed0cb2 Makefile.libretro, so it
cannot apply to the commit we pinned to avoid that change. Pinned to b5e3566,
whose Makefile.libretro blob is the exact pre-image the patch was written
against. Verified per #16's method - `git apply --check` at the new pin passes
for both tg5040 and tg5050, and fails at the old pin, so patch and pin have to
move together.

Deviation from upstream: their mgba_MAKE ends `-- $(PROCS)`, but the shared
rule in all/cores/makefile already appends $(PROCS), which expanded to
`-- -j4 -j4`. Dropped ours, keeping the `--` so -j4 still reaches the native
build tool rather than becoming a cmake flag.

Not built for ARM here - no container runtime in this environment - so the
cmake cross-compile itself is still unproven on our side. CI covers it.

Co-Authored-By: Prashant Vaibhav <prashant@vaibhav.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant