Files
libretro/scripts/scraper/targets/knulli_targets_scraper.py
T
Abdessamad Derraz a9ecfea1a6 feat: add knulli target scraper
KNULLI builds per board on Batocera's Kconfig model from its own tree (knulli-cfw/knulli-linux at the tag platforms/knulli.yml pins): configs/knulli-*.board, package/system/knulli-system/Config.in, knulli-es-system/es_systems.yml and the knulli-cfw/buildroot submodule. Ten boards, the armhf library builds excluded.
2026-11-05 12:42:23 +01:00

43 lines
1.5 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
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"
def main() -> None:
batocera_main(Scraper)
if __name__ == "__main__":
main()