47 lines
1.2 KiB
Nix
47 lines
1.2 KiB
Nix
{ 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 ];
|
|
};
|
|
}
|