1{ lib, stdenv, fetchurl
2, jdk
3, ant, cunit, ncurses
4}:
5
6stdenv.mkDerivation rec {
7 pname = "java-service-wrapper";
8 version = "3.5.54";
9
10 src = fetchurl {
11 url = "https://wrapper.tanukisoftware.com/download/${version}/wrapper_${version}_src.tar.gz";
12 hash = "sha256-t16i1WqvDqr4J5sDldeUk6+DAyN/6oWGV6eME5yj+i4=";
13 };
14
15 buildInputs = [ jdk ];
16 nativeBuildInputs = [ ant cunit ncurses ];
17
18 buildPhase = ''
19 runHook preBuild
20
21 export ANT_HOME=${ant}
22 export JAVA_HOME=${jdk}/lib/openjdk/jre/
23 export JAVA_TOOL_OPTIONS=-Djava.home=$JAVA_HOME
24 export CLASSPATH=${jdk}/lib/openjdk/lib/tools.jar
25
26 ${if stdenv.isi686 then "./build32.sh" else "./build64.sh"}
27
28 runHook postBuild
29 '';
30
31 installPhase = ''
32 runHook preInstall
33
34 mkdir -p $out/{bin,lib}
35 cp bin/wrapper $out/bin/wrapper
36 cp lib/wrapper.jar $out/lib/wrapper.jar
37 cp lib/libwrapper.so $out/lib/libwrapper.so
38
39 runHook postInstall
40 '';
41
42 meta = with lib; {
43 description = "Enables a Java Application to be run as a Windows Service or Unix Daemon";
44 homepage = "https://wrapper.tanukisoftware.com/";
45 changelog = "https://wrapper.tanukisoftware.com/doc/english/release-notes.html#${version}";
46 license = licenses.gpl2Only;
47 platforms = [ "x86_64-linux" "i686-linux" ];
48 maintainers = [ maintainers.suhr ];
49 };
50}