diff --git a/pkgs/development/compilers/armips/default.nix b/pkgs/development/compilers/armips/default.nix new file mode 100644 index 000000000000..b6fbb5ef34c8 --- /dev/null +++ b/pkgs/development/compilers/armips/default.nix @@ -0,0 +1,31 @@ +{ stdenv, lib, fetchFromGitHub, cmake }: + +stdenv.mkDerivation rec { + pname = "armips"; + version = "0.11.0"; + + src = fetchFromGitHub { + owner = "Kingcom"; + repo = "armips"; + rev = "v${version}"; + sha256 = "sha256-L+Uxww/WtvDJn1xZqoqA6Pkzq/98sy1qTxZbv6eEjbA="; + }; + + nativeBuildInputs = [ cmake ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + cp armips $out/bin + + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://github.com/Kingcom/armips"; + description = "Assembler for various ARM and MIPS platforms."; + license = licenses.mit; + maintainers = with maintainers; [ marius851000 ]; + }; +} diff --git a/pkgs/development/python-modules/skytemple-files/default.nix b/pkgs/development/python-modules/skytemple-files/default.nix index cb03d73b4270..0df6419b526a 100644 --- a/pkgs/development/python-modules/skytemple-files/default.nix +++ b/pkgs/development/python-modules/skytemple-files/default.nix @@ -1,4 +1,4 @@ -{ lib, buildPythonPackage, fetchFromGitHub, appdirs, explorerscript, ndspy, pillow, setuptools, skytemple-rust, tilequant }: +{ lib, buildPythonPackage, fetchFromGitHub, appdirs, explorerscript, ndspy, pillow, setuptools, skytemple-rust, tilequant, armips, fetchpatch }: buildPythonPackage rec { pname = "skytemple-files"; @@ -8,9 +8,26 @@ buildPythonPackage rec { owner = "SkyTemple"; repo = pname; rev = version; - sha256 = "1vklg4kcj3kb9ryrzrcmywn131b2bp3vy94cd4x4y4s7hkhgwg74"; + sha256 = "sha256-/S0otBujwO/IMiLKgA2o8wlD6xk1/DpwOAfemojV9NU="; + fetchSubmodules = true; }; + patches = [ + # fix patching https://github.com/SkyTemple/skytemple-files/pull/128 + # merged, remove for next update + (fetchpatch { + url = "http://github.com/SkyTemple/skytemple-files/commit/71dd71e6abb7435405e30225e8a37592b990d692.patch"; + sha256 = "sha256-CSBaT+LVP9J0C1FlUCduTJroq9z2EAJG6lruvlHlQLI="; + }) + ]; + + postPatch = '' + substituteInPlace skytemple_files/patch/arm_patcher.py \ + --replace "exec_name = os.getenv('SKYTEMPLE_ARMIPS_EXEC', f'{prefix}armips')" "exec_name = \"${armips}/bin/armips\"" + ''; + + buildInputs = [ armips ]; + propagatedBuildInputs = [ appdirs explorerscript ndspy pillow setuptools skytemple-rust tilequant ]; doCheck = false; # requires Pokémon Mystery Dungeon ROM @@ -20,6 +37,6 @@ buildPythonPackage rec { homepage = "https://github.com/SkyTemple/skytemple-files"; description = "Python library to edit the ROM of Pokémon Mystery Dungeon Explorers of Sky"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ xfix ]; + maintainers = with maintainers; [ xfix marius851000 ]; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 044ae3001b36..40df995e1045 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10450,6 +10450,8 @@ in aliceml = callPackage ../development/compilers/aliceml { }; + armips = callPackage ../development/compilers/armips { }; + arachne-pnr = callPackage ../development/compilers/arachne-pnr { }; asciigraph = callPackage ../tools/text/asciigraph { };