fix: lay out RetroPie standalone packages

RetroPie's YAML listed no standalone_cores, so every package was laid
out as a libretro core and the standalone files of amiberry, dolphin,
hatari, mame and ppsspp never reached the pack. Packages without the
lr- prefix (bar the retroarch frontend) are now standalone, and names
shipped both ways are dual-mode.
This commit is contained in:
Abdessamad Derraz committed 2026-10-20 23:04:42 +02:00
1 parent 027379c065
commit cf54730a17
4 files changed
+164 -5

No files matched your search

+10 -1
View File
@@ -146,7 +146,13 @@ class Scraper(BaseScraper):
"""
# A libretro package is lr-<core>; a standalone package is named
# after the emulator itself.
cores = sorted({module.removeprefix("lr-") for module in self.module_ids()})
modules = self.module_ids()
cores = sorted({module.removeprefix("lr-") for module in modules})
libretro = {m.removeprefix("lr-") for m in modules if m.startswith("lr-")}
# The retroarch package is the frontend that runs the lr- cores.
standalone = sorted(
m for m in modules if not m.startswith("lr-") and m != "retroarch"
)
if not self._version:
raise ValueError(f"{self.url}: no __version in {_VERSION_FILE}")
@@ -158,6 +164,9 @@ class Scraper(BaseScraper):
"source": self.url,
"base_destination": "BIOS",
"cores": cores,
"standalone_cores": standalone,
# Shipped both as lr-<name> and as <name>: each layout gets its files.
"dual_mode_cores": [m for m in standalone if m in libretro],
"launchers": extract_launchers(self._scripts),
}