feat: profile amiberry 5.6.5 built by ROCKNIX

ROCKNIX builds amiberry 5c54536 (target.h declares 5.6.5). Every file
it reads lies below its start path, the working directory: the ROM
database dumps, aros-ext.bin, aros-rom.bin and rom.key in kickstarts/,
the WHDLoad booter files in whdboot/. Profiled from that revision,
pin_frozen with pin_build on ROCKNIX's package.mk.

The ROCKNIX scraper records the folder its start script enters and the
kickstarts link it carries there by copying /usr/config/amiberry, so
<cwd>/kickstarts binds to the BIOS root. A standalone + libretro profile
under a name the platform's own build answers to no longer resolves
there: ROCKNIX's amiberry is 5.6.5, not 8.5.0.
This commit is contained in:
Abdessamad Derraz committed 2026-11-09 20:58:13 +01:00
1 parent e93ff86bf1
commit 9d72fe4546
5 files changed
+2981 -1

No files matched your search

+24
View File
@@ -308,6 +308,30 @@ def amiberry(tree: RepoTree) -> list[Launcher]:
if not links:
raise mk.missing(f"ln -s of {BIOS_ROOT}")
records.extend(link_record("amiberry", mk, link) for link in links)
# The script copies the installed folder, links included, to the one it
# enters before it runs amiberry: the kickstarts link is read there.
copy_line, copy = script.find(r"cp -rf? (\S+) \$\{?(\w+)\}?\s*$", "copy of the installed folder")
cd_line, cd = script.find(r"^\s*cd \$\{?(\w+)\}?\s*$", "working directory")
if cd.group(1) != copy.group(2):
raise LauncherPatternMissing(script.path, "cd into the copied folder")
entered: set[int] = {cd_line}
folder = script.expand("${" + cd.group(1) + "}", cd_line, entered)
records.append(Launcher(
emulator="amiberry", build="standalone", kind="passes_path", names=[],
source_ref=source_ref([(script.path, entered)]),
search_dir=folder, passes_to=f"working directory of {script.path.rsplit('/', 1)[-1]}",
))
installed = copy.group(1).rstrip("/")
for link in links:
if not link.link.startswith(installed + "/"):
continue
copied = folder + link.link[len(installed):]
records.append(Launcher(
emulator="amiberry", build="standalone", kind="links", names=list(link.names),
source_ref=source_ref([(mk.path, link.lines), (script.path, {copy_line} | entered)]),
search_dir=link.bios_side,
passes_to=f"symlink {copied} -> {link.target}, copied with {installed}",
))
return records