feat: scraper-generated retroarch.yml with shared group conformance

retroarch.yml regenerated by libretro_scraper with CORE_SUBDIR_MAP
(dc/, np2kai/, keropi/) and shared groups (fuse, kronos, ep128emu,
quasi88, np2kai, keropi). common.py dedup by (name, destination)
to allow same file at flat + subdirectory paths.

ep128emu shared group added for Enterprise system.
RetroArch pack grows from 398 to 428 files.

ref: each subdirectory traced to original emulator source code —
see platforms/README.md and _shared.yml comments.
This commit is contained in:
Abdessamad Derraz
2026-03-18 14:41:00 +01:00
parent 3802237209
commit 2afc31e40a
3 changed files with 137 additions and 64 deletions

View File

@@ -112,11 +112,15 @@ def load_platform_config(platform_name: str, platforms_dir: str = "platforms") -
for system in config.get("systems", {}).values():
for group_name in system.get("includes", []):
if group_name in shared_groups:
existing_names = {f.get("name") for f in system.get("files", [])}
existing = {
(f.get("name"), f.get("destination", f.get("name")))
for f in system.get("files", [])
}
for gf in shared_groups[group_name]:
if gf.get("name") not in existing_names:
key = (gf.get("name"), gf.get("destination", gf.get("name")))
if key not in existing:
system.setdefault("files", []).append(gf)
existing_names.add(gf.get("name"))
existing.add(key)
return config