fix: type role libretro cores as libretro

2048 and gong (game), radio and video_processor (utility) and the test
cores (test) are libretro builds, but their role sat in type:, which
resolve_platform_cores filters on: all_libretro left them out, so no
platform resolved them and RetroArch's manifest named none, the
--installed-cores gap of issue 87. The role moves to role:, and type
stays libretro: type keeps saying how a profile is built and run, which
the resolver reads, while teaching the resolver that three role values
mean libretro would make type a classification again. The site and
coverage leave test cores out by role. fluidsynth, a library and no
libretro core, keeps type utility. A test keeps every buildbot core
named by RetroArch's resolution.
This commit is contained in:
Abdessamad Derraz committed 2026-11-09 23:01:22 +01:00
1 parent b4152f9aaf
commit 314b15b4ad
23 files changed
+104 -53

No files matched your search

+2 -2
View File
@@ -4453,7 +4453,7 @@ def select_profiles(profiles: dict, args: argparse.Namespace) -> dict:
# alias and test profiles too, "lists all 553" pointed at 530 lines.
listed = sorted(
name for name, profile in profiles.items()
if profile.get("type") not in ("alias", "test")
if profile.get("type") != "alias" and profile.get("role") != "test"
)
raise SystemExit(
f"ERROR: unknown profile {', '.join(unknown)}. "
@@ -4466,7 +4466,7 @@ def select_profiles(profiles: dict, args: argparse.Namespace) -> dict:
wanted_system = _norm_system_id(args.system) if args.system else None
selected = {}
for name, profile in sorted(profiles.items()):
if profile.get("type") in ("alias", "test"):
if profile.get("type") == "alias" or profile.get("role") == "test":
continue
if wanted_system and wanted_system not in {
_norm_system_id(str(s)) for s in profile.get("systems") or []