configuration/packages/nbt-explorer.nix

69 lines
1.8 KiB
Nix
Raw Normal View History

2021-12-25 17:07:39 +00:00
{ fetchzip
2022-12-15 17:58:11 +00:00
, fetchFromGitHub
2021-12-25 17:07:39 +00:00
, lib
2022-12-15 17:58:11 +00:00
, makeDesktopItem
2021-12-25 17:07:39 +00:00
, makeWrapper
2023-02-07 02:41:49 +00:00
, nix-update-script
2021-12-25 17:07:39 +00:00
, stdenv
# Dependencies
, gtk2-x11
, mono
}:
stdenv.mkDerivation rec {
pname = "nbt-explorer";
version = "2.8.0";
src = fetchzip {
url = "https://github.com/jaquadro/NBTExplorer/releases/download/v${version}-win/NBTExplorer-${version}.zip";
2022-07-22 18:45:28 +00:00
hash = "sha256-T0FLxuzgVHBz78rScPC81Ns2X1Mw/omzvYJVRQM24iU=";
2021-12-25 17:07:39 +00:00
stripRoot = false;
};
2022-12-15 17:58:11 +00:00
iconSrc = fetchFromGitHub {
owner = "jaquadro";
repo = "NBTExplorer";
rev = "d29f249d7e489eaa4ccf8ba5b661cfa6ae0466ff";
sparseCheckout = [ "NBTExplorer/Resources/Dead_Bush_256.png" ];
hash = "sha256-Hq3VYZ4IztUghN2AqYB7KZIALfoinMDyEn2MjQ9eilE=";
};
desktopItem = makeDesktopItem {
categories = [ "Utility" ];
genericName = "Minecraft data editor";
desktopName = "NBTExplorer";
name = pname;
icon = pname;
exec = meta.mainProgram;
};
2021-12-25 17:07:39 +00:00
phases = [ "installPhase" "patchPhase" ];
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
mkdir -p $out/lib
cp --target-directory $out/lib \
$src/NBTExplorer.exe \
$src/NBTModel.dll \
$src/Substrate.dll
2022-12-15 17:54:05 +00:00
makeWrapper "${mono}/bin/mono" $out/bin/${pname} \
2021-12-25 17:07:39 +00:00
--add-flags "$out/lib/NBTExplorer.exe" \
--suffix LD_LIBRARY_PATH : ${gtk2-x11}/lib
2022-12-15 17:58:11 +00:00
install -D $iconSrc/NBTExplorer/Resources/Dead_Bush_256.png $out/share/icons/${pname}.png
install -D -t $out/share/applications ${desktopItem}/share/applications/*
2021-12-25 17:07:39 +00:00
'';
2023-02-07 02:41:49 +00:00
passthru.updateScript = nix-update-script {
extraArgs = [ "--version-regex" "(.*)-win" ];
};
2021-12-25 17:07:39 +00:00
meta = {
description = "A graphical NBT editor for all Minecraft NBT data sources";
homepage = "https://github.com/jaquadro/NBTExplorer";
license = lib.licenses.mit;
2022-12-15 17:54:05 +00:00
mainProgram = pname;
2021-12-25 17:07:39 +00:00
};
}