61 lines
1.6 KiB
Nix
61 lines
1.6 KiB
Nix
{ fetchurl
|
|
, fetchFromGitHub
|
|
, imagemagick
|
|
, lib
|
|
, makeDesktopItem
|
|
, makeWrapper
|
|
, stdenv
|
|
|
|
# Dependencies
|
|
, jre
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "minemap";
|
|
version = "1.0.24";
|
|
|
|
src = fetchurl {
|
|
url = "https://github.com/hube12/Minemap/releases/download/${version}/MineMap-${version}.jar";
|
|
hash = "sha256-beQgFTyHNace8CbLYZFaYKkprhXQyPgSR6a78Z3A13Q=";
|
|
};
|
|
dontUnpack = true;
|
|
|
|
iconSrc = fetchFromGitHub {
|
|
owner = "hube12";
|
|
repo = "Minemap";
|
|
rev = "2a34b0265095df7c276643c7bcccd2057dca5a22";
|
|
sparseCheckout = [ "logo.png" ];
|
|
hash = "sha256-Abg1zZZ/oiVTeFL19UI3B5+1k2hEFvuQvPYefa+NEVA=";
|
|
};
|
|
|
|
desktopItem = makeDesktopItem {
|
|
categories = [ "Utility" "Viewer" ];
|
|
genericName = "Minecraft seed viewer";
|
|
desktopName = "Minemap";
|
|
name = pname;
|
|
icon = pname;
|
|
exec = meta.mainProgram;
|
|
};
|
|
|
|
nativeBuildInputs = [ imagemagick makeWrapper ];
|
|
buildPhase = ''
|
|
convert $iconSrc/logo.png -crop '68x68+44+7' +repage \
|
|
\( +clone -crop '4x38+0+22' -geometry '+64+26' -flop \) \
|
|
-compose copy -composite -filter 'point' -resize '200%' ${pname}.png
|
|
'';
|
|
installPhase = ''
|
|
install -D $src $out/share/${pname}.jar
|
|
makeWrapper ${jre}/bin/java $out/bin/${pname} \
|
|
--add-flags "-jar $out/share/${pname}.jar"
|
|
|
|
install -D -t $out/share/icons ${pname}.png
|
|
install -D -t $out/share/applications ${desktopItem}/share/applications/*
|
|
'';
|
|
|
|
meta = {
|
|
description = "An efficient map viewer for Minecraft seed in a nice GUI with utilities without ever needing to install Minecraft.";
|
|
homepage = "https://github.com/hube12/Minemap";
|
|
license = lib.licenses.mit;
|
|
mainProgram = pname;
|
|
};
|
|
}
|