{ lib, stdenv, fetchurl, unzip, jre, jre8 }: let common = { pname, version, src, description, java ? jre , prog ? null, jar ? null, license ? lib.licenses.mpl20 }: stdenv.mkDerivation { name = "${pname}-${version}"; inherit pname version src; nativeBuildInputs = [ unzip ]; buildCommand = let prog' = if prog == null then pname else prog; jar' = if jar == null then pname else jar; in '' unzip $src -d $out mkdir -p $out/bin $out/share $out/share/java cp -s "$out"/*.jar "$out/share/java/" # */ rm -rf $out/notices mv $out/doc $out/share cat > $out/bin/${prog'} <