Unverified Commit 0405671c authored by Leah Amelia Chen's avatar Leah Amelia Chen
Browse files

x16: adopt & modernize

parent b1a81b82
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -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
+4 −2
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@
  cc65,
  lzsa,
  python3,
  nix-update-script,
}:

stdenv.mkDerivation (finalAttrs: {
@@ -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;
  };
+5 −13
Original line number Diff line number Diff line
{
  runtimeShell,
  symlinkJoin,
  writeTextFile,
  writeShellScriptBin,
}:

{ emulator, rom }:
@@ -9,18 +9,10 @@
assert emulator.version == rom.version;

let
  runScript = writeTextFile {
    name = "run-x16";
    text = ''
      #!${runtimeShell}

  runScript = writeShellScriptBin "run-x16" ''
    defaultRom="${rom}/share/x16-rom/rom.bin"

    exec "${emulator}/bin/x16emu" -rom $defaultRom "$@"
  '';
    executable = true;
    destination = "/bin/run-x16";
  };
in
symlinkJoin {
  pname = "run-x16";