Add `hactoolnet-bin` to packages, but do not add to environment.

This commit is contained in:
Whovian NTSN 2024-05-29 16:32:18 -04:00
parent ed209cd10e
commit 55666be313
2 changed files with 46 additions and 0 deletions

View File

@ -136,6 +136,7 @@
};
packages.x86_64-linux = {
hactoolnet-bin = pkgs.callPackage ./home/packages/hactoolnet-bin/package.nix {};
irdkit = pkgs.callPackage ./home/packages/irdkit/package.nix {};
ird_tools = pkgs.callPackage ./home/packages/ird_tools/package.nix {};
ps3dec = pkgs.callPackage ./home/packages/ps3dec/package.nix {};

View File

@ -0,0 +1,45 @@
{
lib,
autoPatchelfHook,
fetchzip,
gcc,
makeWrapper,
openssl,
stdenv,
zlib
}:
stdenv.mkDerivation rec {
name = "hactoolnet-bin";
version = "0.19.0";
src = fetchzip {
url = "https://github.com/Thealexbarney/LibHac/releases/download/v0.19.0/hactoolnet-0.19.0-linux.zip";
sha256 = "njlIFsAjyKErYatbP+3fmjP5dv3DhJ7G1+KvC2ZPdso=";
};
buildInputs = [
autoPatchelfHook
makeWrapper
gcc.cc
zlib
];
installPhase = ''
mkdir -p $out/bin
chmod +x hactoolnet
cp hactoolnet $out/bin/
wrapProgram $out/bin/hactoolnet \
--set DOTNET_SYSTEM_GLOBALIZATION_INVARIANT 1 \
--set LD_LIBRARY_PATH ${lib.makeLibraryPath [ openssl ]}
'';
meta = {
description = "An example program that uses LibHac. It is used in a similar manner to hactool.";
homepage = "https://github.com/Thealexbarney/LibHac";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ];
mainProgram = "hactoolnet";
platforms = lib.platforms.all;
};
}