diff --git a/pkgs/by-name/lz/lzsa/package.nix b/pkgs/by-name/lz/lzsa/package.nix new file mode 100644 index 000000000000..e0ddc158706e --- /dev/null +++ b/pkgs/by-name/lz/lzsa/package.nix @@ -0,0 +1,34 @@ +{ lib +, stdenv +, fetchFromGitHub +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "lzsa"; + version = "1.4.1"; + + src = fetchFromGitHub { + owner = "emmanuel-marty"; + repo = "lzsa"; + rev = finalAttrs.version; + hash = "sha256-XaPtMW9INv/wzMXvlyXgE3VfFJCY/5R/HFGhV3ZKvGs="; + }; + + makeFlags = [ + "CC=${stdenv.cc.targetPrefix}cc" + ]; + + installPhase = '' + runHook preInstall + install -Dm755 lzsa -t $out/bin/ + runHook postInstall + ''; + + meta = { + homepage = "https://github.com/emmanuel-marty/lzsa"; + description = "Byte-aligned, efficient lossless packer that is optimized for fast decompression on 8-bit micros"; + license = with lib.licenses; [ cc0 ]; + maintainers = with lib.maintainers; [ AndersonTorres ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/applications/emulators/commanderx16/emulator.nix b/pkgs/by-name/x1/x16/package.nix similarity index 81% rename from pkgs/applications/emulators/commanderx16/emulator.nix rename to pkgs/by-name/x1/x16/package.nix index 9da865057739..6a144bea669d 100644 --- a/pkgs/applications/emulators/commanderx16/emulator.nix +++ b/pkgs/by-name/x1/x16/package.nix @@ -2,18 +2,19 @@ , stdenv , fetchFromGitHub , SDL2 +, callPackage , zlib }: stdenv.mkDerivation (finalAttrs: { pname = "x16-emulator"; - version = "44"; + version = "46"; src = fetchFromGitHub { owner = "X16Community"; repo = "x16-emulator"; rev = "r${finalAttrs.version}"; - hash = "sha256-NDtfbhqGldxtvWQf/t6UnMRjI2DR7JYKbm2KFAMZhHY="; + hash = "sha256-cYr6s69eua1hCFqNkcomZDK9akxBqMTIaGqOl/YX2kc="; }; postPatch = '' @@ -41,6 +42,11 @@ stdenv.mkDerivation (finalAttrs: { # upstream project recommends emulator and rom to be synchronized; passing # through the version is useful to ensure this inherit (finalAttrs) version; + emulator = finalAttrs.finalPackage; + rom = callPackage ./rom.nix { }; + run = (callPackage ./run.nix { }){ + inherit (finalAttrs.finalPackage) emulator rom; + }; }; meta = { diff --git a/pkgs/applications/emulators/commanderx16/rom.nix b/pkgs/by-name/x1/x16/rom.nix similarity index 92% rename from pkgs/applications/emulators/commanderx16/rom.nix rename to pkgs/by-name/x1/x16/rom.nix index c272faa706aa..7d17bb8272ce 100644 --- a/pkgs/applications/emulators/commanderx16/rom.nix +++ b/pkgs/by-name/x1/x16/rom.nix @@ -2,22 +2,24 @@ , stdenv , fetchFromGitHub , cc65 +, lzsa , python3 }: stdenv.mkDerivation (finalAttrs: { pname = "x16-rom"; - version = "44"; + version = "46"; src = fetchFromGitHub { owner = "X16Community"; repo = "x16-rom"; rev = "r${finalAttrs.version}"; - hash = "sha256-x/U+8e869mkWZKmCiW2fZKGB9un2cFXNclemwxbAjLQ="; + hash = "sha256-PcLHIT84NbH+ejq8SY/UN+TYtRFWtqQBHwHqToFUol8="; }; nativeBuildInputs = [ cc65 + lzsa python3 ]; diff --git a/pkgs/applications/emulators/commanderx16/run.nix b/pkgs/by-name/x1/x16/run.nix similarity index 93% rename from pkgs/applications/emulators/commanderx16/run.nix rename to pkgs/by-name/x1/x16/run.nix index 1f14fdb223c7..274e98afecca 100644 --- a/pkgs/applications/emulators/commanderx16/run.nix +++ b/pkgs/by-name/x1/x16/run.nix @@ -35,3 +35,4 @@ symlinkJoin { # 1. Parse the command line in order to allow the user to set an optional # rom-file # 2. generate runScript based on symlinkJoin (maybe a postBuild?) +# 3. a NixOS module to abstract the runner diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9ec2b3157252..c93bd2cdabdd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2945,14 +2945,10 @@ with pkgs; ### APPLICATIONS/EMULATORS/YUZU yuzuPackages = callPackage ../applications/emulators/yuzu {}; - ### APPLICATIONS/EMULATORS/COMMANDERX16 - - x16-emulator = callPackage ../applications/emulators/commanderx16/emulator.nix { }; - x16-rom = callPackage ../applications/emulators/commanderx16/rom.nix { }; - x16-run = (callPackage ../applications/emulators/commanderx16/run.nix { }) { - emulator = x16-emulator; - rom = x16-rom; - }; + # Aliases kept here because they are easier to use + x16-emulator = x16.emulator; + x16-rom = x16.rom; + x16-run = x16.run; yabause = libsForQt5.callPackage ../applications/emulators/yabause { freeglut = null;