feat: read the emuelec launchers

emuelec_launchers.py reads emuelecRunEmu.sh and the scripts and
configs it starts at the tag batocera-systems is read at (v4.8): 36
records for RetroArch, retrorun, freej2me, MAME, PICO-8, Flycast,
Amiberry, DuckStation, Yabasanshiro, jzIntv, Mupen64Plus, Hatari,
AdvanceMAME, ScummVM, Dolphin and the MIDI synths.
This commit is contained in:
Abdessamad Derraz committed 2026-11-09 17:34:03 +01:00
1 parent 7aacbbe214
commit 82a6b2f833
4 files changed
+1782

No files matched your search

+14
View File
@@ -43,6 +43,7 @@ from .batocera_scraper import (
platform_systems,
requirements_from_systems,
)
from .emuelec_launchers import extract_launchers
from .es_emulators import (
SystemEmulators,
attach_system_cores,
@@ -50,6 +51,7 @@ from .es_emulators import (
json_systems,
system_cores,
)
from .shell_launchers import RepoTree
PLATFORM_NAME = "emuelec"
@@ -120,6 +122,14 @@ BUILDS_OF = {
PORTS_SYSTEM = "ports"
def launcher_revision(url: str) -> str:
"""The tag or commit a batocera-systems URL is read at."""
found = re.search(rf"/{REPO}/([^/]+)/packages/", url)
if found is None:
raise ValueError(f"{url} names no {REPO} revision")
return found.group(1)
def port_engines(text: str) -> list[tuple[str, str, str | None, bool]]:
"""(port, engine, check_bios key, libretro?) for each entry of ports.yaml.
@@ -215,6 +225,10 @@ class Scraper(BaseScraper):
"standalone_cores": standalone,
"dual_mode_cores": dual,
"systems": systems,
# Read at the revision the BIOS list comes from.
"launchers": extract_launchers(
RepoTree.github(REPO, launcher_revision(self.url))
),
}