53 lines
1.4 KiB
Nix
53 lines
1.4 KiB
Nix
|
{ stdenvNoCC
|
||
|
, lib
|
||
|
, fetchzip
|
||
|
, jre
|
||
|
, makeDesktopItem
|
||
|
, copyDesktopItems
|
||
|
, makeWrapper
|
||
|
, extraJavaArgs ? "-Xms512M -Xmx2000M"
|
||
|
}:
|
||
|
|
||
|
stdenvNoCC.mkDerivation rec {
|
||
|
pname = "gprojector";
|
||
|
version = "3.1.0";
|
||
|
|
||
|
src = fetchzip {
|
||
|
url = "https://www.giss.nasa.gov/tools/gprojector/download/G.ProjectorJ-${version}.tgz";
|
||
|
sha256 = "sha256-cMmjyitetXxQzfSBh5ry5tIsLWOnBaaYOD1eQg1IX+w=";
|
||
|
};
|
||
|
|
||
|
desktopItems = [ (makeDesktopItem {
|
||
|
name = "gprojector";
|
||
|
exec = "gprojector";
|
||
|
desktopName = "G.Projector";
|
||
|
comment = meta.description;
|
||
|
categories = [ "Science" ];
|
||
|
startupWMClass = "gov-nasa-giss-projector-GProjector";
|
||
|
}) ];
|
||
|
|
||
|
buildInputs = [ jre ];
|
||
|
nativeBuildInputs = [ makeWrapper copyDesktopItems ];
|
||
|
|
||
|
dontConfigure = true;
|
||
|
dontBuild = true;
|
||
|
dontFixup = true;
|
||
|
|
||
|
installPhase = ''
|
||
|
runHook preInstall
|
||
|
mkdir -p $out/share
|
||
|
cp -r $src/jars $out/share/java
|
||
|
makeWrapper ${jre}/bin/java $out/bin/gprojector --add-flags "-jar $out/share/java/G.Projector.jar" --add-flags "${extraJavaArgs}"
|
||
|
runHook postInstall
|
||
|
'';
|
||
|
|
||
|
meta = {
|
||
|
description = "G.Projector transforms an input map image into any of about 200 global and regional map projections";
|
||
|
homepage = "https://www.giss.nasa.gov/tools/gprojector/";
|
||
|
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
|
||
|
maintainers = with lib.maintainers; [ alyaeanyx ];
|
||
|
license = lib.licenses.unfree;
|
||
|
inherit (jre.meta) platforms;
|
||
|
};
|
||
|
}
|