{ stdenv, fetchurl, jre, graphviz }: stdenv.mkDerivation rec { version = "1.2017.16"; name = "plantuml-${version}"; src = fetchurl { url = "mirror://sourceforge/project/plantuml/${version}/plantuml.${version}.jar"; sha256 = "a3d319ed54ed78ce3cf7bfcfe76ffc5aa6ed28a72b5aa575fe9125e0c6bd985c"; }; # It's only a .jar file and a shell wrapper phases = [ "installPhase" ]; installPhase = '' mkdir -p "$out/bin" mkdir -p "$out/lib" cp "$src" "$out/lib/plantuml.jar" cat > "$out/bin/plantuml" << EOF #!${stdenv.shell} export GRAPHVIZ_DOT="${graphviz}/bin/dot" exec "${jre}/bin/java" -jar "$out/lib/plantuml.jar" "\$@" EOF chmod a+x "$out/bin/plantuml" ''; meta = with stdenv.lib; { description = "Draw UML diagrams using a simple and human readable text description"; homepage = http://plantuml.sourceforge.net/; # "java -jar plantuml.jar -license" says GPLv3 or later license = licenses.gpl3Plus; maintainers = [ maintainers.bjornfor ]; platforms = platforms.linux; }; }