lol
1{ fetchurl, lib, stdenv, writeText, jdk, makeWrapper, nixosTests }:
2
3stdenv.mkDerivation rec {
4 pname = "soapui";
5 version = "5.7.0";
6
7 src = fetchurl {
8 url = "https://s3.amazonaws.com/downloads.eviware/soapuios/${version}/SoapUI-${version}-linux-bin.tar.gz";
9 sha256 = "sha256-qzhy4yHmOk13dFUd2KEZhXtWY86QwyjJgYxx9GGoN80=";
10 };
11
12 nativeBuildInputs = [ makeWrapper ];
13 buildInputs = [ jdk ];
14
15 installPhase = ''
16 runHook preInstall
17
18 mkdir -p $out/share/java
19 cp -R bin lib $out/share/java
20
21 makeWrapper $out/share/java/bin/soapui.sh $out/bin/soapui --set SOAPUI_HOME $out/share/java
22
23 runHook postInstall
24 '';
25
26 patches = [
27 # Adjust java path to point to derivation paths
28 (writeText "soapui-${version}.patch" ''
29 --- a/bin/soapui.sh
30 +++ b/bin/soapui.sh
31 @@ -50,7 +50,7 @@
32 #JAVA 16
33 JAVA_OPTS="$JAVA_OPTS --illegal-access=permit"
34
35 -JFXRTPATH=`java -cp $SOAPUI_CLASSPATH com.eviware.soapui.tools.JfxrtLocator`
36 +JFXRTPATH=`${jdk}/bin/java -cp $SOAPUI_CLASSPATH com.eviware.soapui.tools.JfxrtLocator`
37 SOAPUI_CLASSPATH=$JFXRTPATH:$SOAPUI_CLASSPATH
38
39 if $darwin
40 @@ -85,4 +85,4 @@
41 echo =
42 echo ================================
43
44 -java $JAVA_OPTS -cp $SOAPUI_CLASSPATH com.eviware.soapui.SoapUI "$@"
45 +${jdk}/bin/java $JAVA_OPTS -cp $SOAPUI_CLASSPATH com.eviware.soapui.SoapUI "$@"
46 '')
47 ];
48
49 passthru.tests = { inherit (nixosTests) soapui; };
50
51 meta = with lib; {
52 description = "The Most Advanced REST & SOAP Testing Tool in the World";
53 homepage = "https://www.soapui.org/";
54 sourceProvenance = with sourceTypes; [ binaryBytecode ];
55 license = "SoapUI End User License Agreement";
56 maintainers = with maintainers; [ gerschtli ];
57 platforms = platforms.all;
58 };
59}