nixpkgs/pkgs/applications/networking/soapui/default.nix

57 lines
1.9 KiB
Nix
Raw Normal View History

{ fetchurl, lib, stdenv, writeText, jdk, makeWrapper }:
2018-06-15 21:12:29 +01:00
stdenv.mkDerivation rec {
pname = "soapui";
version = "5.6.0";
2018-06-15 21:12:29 +01:00
src = fetchurl {
url = "https://s3.amazonaws.com/downloads.eviware/soapuios/${version}/SoapUI-${version}-linux-bin.tar.gz";
sha256 = "0vmj11fswja0ddnbc4vb7gj1al8km7ilma9bv1waaj8h5c8qpayi";
2018-06-15 21:12:29 +01:00
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ jdk ];
2018-06-15 21:12:29 +01:00
installPhase = ''
runHook preInstall
2018-06-15 21:12:29 +01:00
mkdir -p $out/share/java
cp -R bin lib $out/share/java
makeWrapper $out/share/java/bin/soapui.sh $out/bin/soapui --set SOAPUI_HOME $out/share/java
runHook postInstall
2018-06-15 21:12:29 +01:00
'';
patches = [
# Adjust java path to point to derivation paths
2018-06-15 21:12:29 +01:00
(writeText "soapui-${version}.patch" ''
--- a/bin/soapui.sh
+++ b/bin/soapui.sh
@@ -34,7 +34,7 @@ SOAPUI_CLASSPATH=$SOAPUI_HOME/bin/soapui-${version}.jar:$SOAPUI_HOME/lib/*
export SOAPUI_CLASSPATH
JAVA_OPTS="-Xms128m -Xmx1024m -XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=40 -Dsoapui.properties=soapui.properties -Dsoapui.home=$SOAPUI_HOME/bin -splash:SoapUI-Spashscreen.png"
-JFXRTPATH=`java -cp $SOAPUI_CLASSPATH com.eviware.soapui.tools.JfxrtLocator`
+JFXRTPATH=`${jdk}/bin/java -cp $SOAPUI_CLASSPATH com.eviware.soapui.tools.JfxrtLocator`
SOAPUI_CLASSPATH=$JFXRTPATH:$SOAPUI_CLASSPATH
if $darwin
@@ -69,4 +69,4 @@ echo = SOAPUI_HOME = $SOAPUI_HOME
echo =
echo ================================
-java $JAVA_OPTS -cp $SOAPUI_CLASSPATH com.eviware.soapui.SoapUI "$@"
+${jdk}/bin/java $JAVA_OPTS -cp $SOAPUI_CLASSPATH com.eviware.soapui.SoapUI "$@"
'')
];
meta = with lib; {
2018-06-15 21:12:29 +01:00
description = "The Most Advanced REST & SOAP Testing Tool in the World";
homepage = "https://www.soapui.org/";
2018-06-15 21:12:29 +01:00
license = "SoapUI End User License Agreement";
maintainers = with maintainers; [ gerschtli ];
platforms = platforms.all;
};
}