51 lines
1.6 KiB
Nix
51 lines
1.6 KiB
Nix
|
{ stdenv, fetchzip, lib, makeWrapper, makeDesktopItem, jdk, gawk }:
|
||
|
|
||
|
stdenv.mkDerivation rec {
|
||
|
version = "2.0";
|
||
|
pname = "visualvm";
|
||
|
|
||
|
src = fetchzip {
|
||
|
url = "https://github.com/visualvm/visualvm.src/releases/download/${version}/visualvm_${builtins.replaceStrings ["."] [""] version}.zip";
|
||
|
hash = "sha256-+T8U/GwMA46FHd0p6qpklHXb6+HPCbbIbo6s2Y/77RQ=";
|
||
|
};
|
||
|
|
||
|
desktopItem = makeDesktopItem {
|
||
|
name = "visualvm";
|
||
|
exec = "visualvm";
|
||
|
comment = "Java Troubleshooting Tool";
|
||
|
desktopName = "VisualVM";
|
||
|
genericName = "Java Troubleshooting Tool";
|
||
|
categories = "Application;Development;";
|
||
|
};
|
||
|
|
||
|
nativeBuildInputs = [ makeWrapper ];
|
||
|
|
||
|
installPhase = ''
|
||
|
find . -type f -name "*.dll" -o -name "*.exe" -delete;
|
||
|
|
||
|
substituteInPlace etc/visualvm.conf \
|
||
|
--replace "#visualvm_jdkhome=" "visualvm_jdkhome=" \
|
||
|
--replace "/path/to/jdk" "${jdk.home}" \
|
||
|
|
||
|
substituteInPlace platform/lib/nbexec \
|
||
|
--replace /usr/bin/\''${awk} ${gawk}/bin/awk
|
||
|
|
||
|
cp -r . $out
|
||
|
'';
|
||
|
|
||
|
meta = with stdenv.lib; {
|
||
|
description = "A visual interface for viewing information about Java applications";
|
||
|
longDescription = ''
|
||
|
VisualVM is a visual tool integrating several commandline JDK
|
||
|
tools and lightweight profiling capabilities. Designed for both
|
||
|
production and development time use, it further enhances the
|
||
|
capability of monitoring and performance analysis for the Java
|
||
|
SE platform.
|
||
|
'';
|
||
|
homepage = "https://visualvm.github.io";
|
||
|
license = licenses.gpl2ClasspathPlus;
|
||
|
platforms = platforms.all;
|
||
|
maintainers = with maintainers; [ michalrus moaxcp ];
|
||
|
};
|
||
|
}
|