diff --git a/pkgs/misc/emulators/commander-x16/rom.nix b/pkgs/misc/emulators/commander-x16/rom.nix new file mode 100644 index 00000000000..5da77ebceef --- /dev/null +++ b/pkgs/misc/emulators/commander-x16/rom.nix @@ -0,0 +1,46 @@ +{ stdenv +, lib +, fetchFromGitHub +, cc65 +}: + +stdenv.mkDerivation rec { + pname = "x16-rom"; + version = "38"; + + src = fetchFromGitHub { + owner = "commanderx16"; + repo = pname; + rev = "r${version}"; + sha256 = "xaqF0ppB7I7ST8Uh3jPbC14uRAb/WH21tHlNeTvYpoI="; + }; + + nativeBuildInputs = [ cc65 ]; + + postPatch = '' + patchShebangs scripts/ + ''; + + dontConfigure = true; + + installPhase = '' + runHook preInstall + install -D --mode 444 --target-directory $out/share/${pname} build/x16/rom.bin + install -D --mode 444 --target-directory $out/share/doc/${pname} README.md + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://www.commanderx16.com/forum/index.php?/home/"; + description = "ROM file for CommanderX16 8-bit computer"; + license = licenses.bsd2; + maintainers = with maintainers; [ AndersonTorres ]; + platforms = cc65.meta.platforms; + }; + + passthru = { + # upstream project recommends emulator and rom synchronized; + # passing through the version is useful to ensure this + inherit version; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a163391e9fe..790888dc043 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -29491,6 +29491,7 @@ in }; x16-emulator = callPackage ../misc/emulators/commander-x16/emulator.nix { }; + x16-rom = callPackage ../misc/emulators/commander-x16/rom.nix { }; bullet = callPackage ../development/libraries/bullet { inherit (darwin.apple_sdk.frameworks) Cocoa OpenGL;