evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / po / polylith / package.nix
blob54c1954380f2a88e4c95d7ecd5cfeff241e9ef13
1 { lib, stdenv, fetchurl, jdk, runtimeShell }:
3 stdenv.mkDerivation rec {
4   pname = "polylith";
5   version = "0.2.21";
7   src = fetchurl {
8     url = "https://github.com/polyfy/polylith/releases/download/v${version}/poly-${version}.jar";
9     sha256 = "sha256-w1STu6+OzEhZ3MnfXer6QRQauEfW15iMIiiMN+nxAe0=";
10   };
12   dontUnpack = true;
14   passAsFile = [ "polyWrapper" ];
15   polyWrapper = ''
16     #!${runtimeShell}
17     ARGS=""
18     while [ "$1" != "" ] ; do
19       ARGS="$ARGS $1"
20       shift
21     done
22     exec "${jdk}/bin/java" "-jar" "${src}" $ARGS
23   '';
25   installPhase = ''
26     runHook preInstall
28     mkdir -p $out/bin
29     cp "$polyWrapperPath" $out/bin/poly
30     chmod a+x $out/bin/poly
32     runHook postInstall
33   '';
35   doInstallCheck = true;
36   installCheckPhase = ''
37     runHook preInstallCheck
39     $out/bin/poly help | fgrep -q '${version}'
41     runHook postInstallCheck
42   '';
44   meta = with lib; {
45     description = "Tool used to develop Polylith based architectures in Clojure";
46     mainProgram = "poly";
47     homepage = "https://github.com/polyfy/polylith";
48     sourceProvenance = with sourceTypes; [ binaryBytecode ];
49     license = licenses.epl10;
50     maintainers = with maintainers; [ ericdallo jlesquembre ];
51     platforms = jdk.meta.platforms;
52   };