diff --git a/pkgs/tools/compression/hactool/default.nix b/pkgs/tools/compression/hactool/default.nix index c6e0a3a2851b..2e6e7437fff2 100644 --- a/pkgs/tools/compression/hactool/default.nix +++ b/pkgs/tools/compression/hactool/default.nix @@ -11,11 +11,14 @@ stdenv.mkDerivation rec { sha256 = "0305ngsnwm8npzgyhyifasi4l802xnfz19r0kbzzniirmcn4082d"; }; + patches = [ ./musl-compat.patch ]; + preBuild = '' mv config.mk.template config.mk ''; makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; + enableParallelBuilding = true; installPhase = '' install -D hactool $out/bin/hactool diff --git a/pkgs/tools/compression/hactool/musl-compat.patch b/pkgs/tools/compression/hactool/musl-compat.patch new file mode 100644 index 000000000000..37d596f183fb --- /dev/null +++ b/pkgs/tools/compression/hactool/musl-compat.patch @@ -0,0 +1,13 @@ +diff --git a/main.c b/main.c +index 07f53cb..f2265df 100644 +--- a/main.c ++++ b/main.c +@@ -369,7 +369,7 @@ int main(int argc, char **argv) { + return EXIT_FAILURE; + } + nca_ctx.tool_ctx->base_file_type = BASEFILE_FAKE; +- nca_ctx.tool_ctx->base_file++; /* Guarantees base_file != NULL. I'm so sorry. */ ++ if (!nca_ctx.tool_ctx->base_file) nca_ctx.tool_ctx->base_file = (FILE*) 1; + break; + case 32: + tool_ctx.action |= ACTION_ONLYUPDATEDROMFS;