Files
libretro/scripts/scraper/targets/knulli_targets_scraper.py
T
Abdessamad Derraz 828d1527ee fix: keep the cores batocera's retroarch installs
Batocera builds RetroArch with its core downloader (configure defaults,
qb/config.params.sh:149-150), shown in the menu since it is no Lakka
build (config.def.h:743-745), and configgen sets no URL, so the compiled
one applies: buildbot linux/x86_64 or linux/armhf, none on aarch64
(config.def.h:1855-1861). The targets scraper names that list per board
(downloads, an armv7-A CPU read from arch/Config.in.arm), the builder
and the published target lists add it, and the platform names the union
as installable_cores. applewin, gong, squirreljme and vemulator come
back that way. A build option that compiles the downloader out, or a
shipped retroarch.cfg that blanks its URL, turns it off.
2026-11-09 21:53:15 +01:00

47 lines
1.8 KiB
Python

"""Scraper for KNULLI per-board emulator availability.
KNULLI is a Buildroot external tree on Batocera's model, read with the
Batocera scraper's Kconfig resolution. Sources (knulli-cfw/knulli-linux, at
the tag platforms/knulli.yml names):
- configs/knulli-*.board -- board definitions, each sets
BR2_PACKAGE_BATOCERA_TARGET_* and includes knulli-board.common
- package/system/knulli-system/Config.in -- the system config, sourced by
the root Config.in in place of Batocera's batocera-system/Config.in
- package/emulationstation/knulli-es-system/es_systems.yml
-- emulator requireAnyOf flag mapping
- Config.in and what it sources, Batocera's packages read from the
batocera submodule at the commit the tag pins
Sources (knulli-cfw/buildroot, at the submodule commit the tag pins):
- arch/Config.in, package/mesa3d/Config.in, package/libglvnd/Config.in
The *_armhf_libs boards include knulli-board.libs, which builds 32-bit
libraries for the matching image and turns no system on: they are no target.
"""
from __future__ import annotations
from .batocera_targets_scraper import Scraper as BatoceraScraper
from .batocera_targets_scraper import main as batocera_main
PLATFORM_NAME = "knulli"
class Scraper(BatoceraScraper):
PLATFORM = PLATFORM_NAME
REPO = "knulli-cfw/knulli-linux"
BOARD_PREFIX = "knulli-"
CONFIG_IN_PATH = "package/system/knulli-system/Config.in"
ES_SYSTEMS_PATH = "package/emulationstation/knulli-es-system/es_systems.yml"
SYSTEM_SYMBOL = "BR2_PACKAGE_KNULLI_SYSTEM"
BUILDROOT_REPO = "knulli-cfw/buildroot"
SUBMODULES = {"batocera/": "batocera-linux/batocera.linux"}
RETROARCH_MK = "package/retroarch/retroarch/retroarch.mk"
def main() -> None:
batocera_main(Scraper)
if __name__ == "__main__":
main()