x16: adopt & modernize

This commit is contained in:
Leah Amelia Chen 2025-05-18 13:07:55 +02:00
parent b1a81b82aa
commit 0405671c7b
No known key found for this signature in database
3 changed files with 15 additions and 18 deletions

View file

@ -6,6 +6,7 @@
SDL2,
callPackage,
zlib,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
@ -15,7 +16,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "X16Community";
repo = "x16-emulator";
rev = "r${finalAttrs.version}";
tag = "r${finalAttrs.version}";
hash = "sha256-E4TosRoORCWLotOIXROP9oqwqo1IRSa6X13GnmuxE9A=";
};
@ -58,14 +59,16 @@ stdenv.mkDerivation (finalAttrs: {
run = (callPackage ./run.nix { }) {
inherit (finalAttrs.finalPackage) emulator rom;
};
updateScript = nix-update-script { };
};
meta = {
homepage = "https://cx16forum.com/";
description = "Official emulator of CommanderX16 8-bit computer";
changelog = "https://github.com/X16Community/x16-emulator/blob/r${finalAttrs.version}/RELEASES.md";
changelog = "https://github.com/X16Community/x16-emulator/blob/${finalAttrs.src.rev}/RELEASES.md";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [ ];
maintainers = with lib.maintainers; [ pluiedev ];
mainProgram = "x16emu";
inherit (SDL2.meta) platforms;
broken = stdenv.hostPlatform.isAarch64; # ofborg fails to compile it

View file

@ -5,6 +5,7 @@
cc65,
lzsa,
python3,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
@ -27,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: {
postPatch = ''
patchShebangs findsymbols scripts/
substituteInPlace Makefile \
--replace-fail '/bin/echo' 'echo'
--replace-fail '/bin/echo' 'echo'
'';
dontConfigure = true;
@ -47,13 +48,14 @@ stdenv.mkDerivation (finalAttrs: {
# upstream project recommends emulator and rom to be synchronized; passing
# through the version is useful to ensure this
inherit (finalAttrs) version;
updateScript = nix-update-script { };
};
meta = {
homepage = "https://github.com/X16Community/x16-rom";
description = "ROM file for CommanderX16 8-bit computer";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [ ];
maintainers = with lib.maintainers; [ pluiedev ];
inherit (cc65.meta) platforms;
broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64;
};

View file

@ -1,7 +1,7 @@
{
runtimeShell,
symlinkJoin,
writeTextFile,
writeShellScriptBin,
}:
{ emulator, rom }:
@ -9,18 +9,10 @@
assert emulator.version == rom.version;
let
runScript = writeTextFile {
name = "run-x16";
text = ''
#!${runtimeShell}
defaultRom="${rom}/share/x16-rom/rom.bin"
exec "${emulator}/bin/x16emu" -rom $defaultRom "$@"
'';
executable = true;
destination = "/bin/run-x16";
};
runScript = writeShellScriptBin "run-x16" ''
defaultRom="${rom}/share/x16-rom/rom.bin"
exec "${emulator}/bin/x16emu" -rom $defaultRom "$@"
'';
in
symlinkJoin {
pname = "run-x16";