From 2ba4dab67233446b904cc491e476e58a4a21c2cf Mon Sep 17 00:00:00 2001 From: Simon Bruder Date: Sat, 7 Aug 2021 15:07:31 +0200 Subject: [PATCH] pokefirered: init at unstable-2021-08-01 --- default.nix | 3 +++ pokefirered/default.nix | 46 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 pokefirered/default.nix diff --git a/default.nix b/default.nix index f279e0f..1cde119 100644 --- a/default.nix +++ b/default.nix @@ -21,6 +21,9 @@ final: prev: { ruby-de = prev.callPackage ./pokeruby { german = true; }; # german version ruby-de-modern = prev.callPackage ./pokeruby { german = true; modern = true; }; + firered = prev.callPackage ./pokefirered { }; + firered-modern = prev.callPackage ./pokefirered { modern = true; }; + all = prev.callPackage ./pokeall { }; }; } diff --git a/pokefirered/default.nix b/pokefirered/default.nix new file mode 100644 index 0000000..c760c68 --- /dev/null +++ b/pokefirered/default.nix @@ -0,0 +1,46 @@ +{ lib, stdenv, fetchFromGitHub, gcc-arm-embedded, libpng, agbcc, modern ? false, roms ? null }: +let + roms' = + if roms == null + then [ "firered" "firered_rev1" "leafgreen" "leafgreen_rev1" ] + else roms; +in +stdenv.mkDerivation rec { + pname = "pokefirered${lib.optionalString modern "-modern"}"; + version = "unstable-2021-08-01"; + + src = fetchFromGitHub { + owner = "pret"; + repo = "pokefirered"; + rev = "feb54289376a5fafb49f4a1ac35e7b07c79bcd2c"; + sha256 = "sha256-3uXq8a50b/DwdMBbXTX3G3YBFcWnar9hxSadPEnMIsA="; + }; + + nativeBuildInputs = [ gcc-arm-embedded ]; + buildInputs = [ libpng ]; + + postPatch = '' + ln -s ${agbcc}/tools/agbcc tools/ + ''; + + makeFlags = [ + "TOOLCHAIN=${gcc-arm-embedded}" + "MODERN=${if modern then "1" else "0"}" + ] ++ roms'; + + enableParallelBuilding = true; + + installPhase = '' + runHook preInstall + mkdir -p $out + cp poke{${lib.concatStringsSep "," roms'}}${lib.optionalString modern "_modern"}.gba $out + runHook postInstall + ''; + + meta = with lib; { + description = "ROM built from disassembly of Pokémon FireRed/LeafGreen"; + homepage = "https://github.com/pret/pokeemerald"; + license = licenses.unfree; + maintainers = with maintainers; [ sbruder ]; + }; +}