diff options
Diffstat (limited to 'pkgs/tools/security/cie-middleware-linux/default.nix')
-rw-r--r-- | pkgs/tools/security/cie-middleware-linux/default.nix | 81 |
1 files changed, 33 insertions, 48 deletions
diff --git a/pkgs/tools/security/cie-middleware-linux/default.nix b/pkgs/tools/security/cie-middleware-linux/default.nix index d882959150945..11c0567bb6f08 100644 --- a/pkgs/tools/security/cie-middleware-linux/default.nix +++ b/pkgs/tools/security/cie-middleware-linux/default.nix @@ -34,35 +34,6 @@ let # Shared libraries needed by the Java application libraries = lib.makeLibraryPath [ ghostscript ]; - # Fixed-output derivation that fetches the Java dependencies - javaDeps = stdenv.mkDerivation { - pname = "cie-java-deps"; - inherit src version; - - nativeBuildInputs = [ gradle ]; - - buildPhase = '' - # Run the fetchDeps task - export GRADLE_USER_HOME=$(mktemp -d) - gradle --no-daemon -b cie-java/build.gradle fetchDeps - ''; - - installPhase = '' - # Build a tree compatible with the maven repository format - pushd "$GRADLE_USER_HOME/caches/modules-2/files-2.1" - find -type f | awk -F/ -v OFS=/ -v out="$out" '{ - infile = $0 - gsub(/\./, "/", $2) - system("install -m644 -D "infile" "out"/"$2"/"$3"/"$4"/"$6) - }' - popd - ''; - - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "sha256-fxrjo4iduXzTgMqmQGwdI1vLMA4EZLObsHyKGZ6b14I="; - }; - in stdenv.mkDerivation { @@ -101,26 +72,40 @@ stdenv.mkDerivation { # libraries and the Java application builds. preConfigure = "pushd libs"; - postBuild = '' + mitmCache = gradle.fetchDeps { + inherit pname; + data = ./deps.json; + }; + + gradleFlags = [ + "-Dorg.gradle.java.home=${jre}" + "--build-file" "cie-java/build.gradle" + ]; + + gradleBuildTask = "standalone"; + + buildPhase = '' + runHook preBuild + + ninjaBuildPhase + pushd ../.. + gradleBuildPhase + popd + + runHook postBuild + ''; + + doCheck = true; + + checkPhase = '' + runHook preCheck + + mesonCheckPhase + pushd ../.. + gradleCheckPhase popd - # Use the packages in javaDeps for both plugins and dependencies - localRepo="maven { url uri('${javaDeps}') }" - sed -i cie-java/settings.gradle -e "1i \ - pluginManagement { repositories { $localRepo } }" - substituteInPlace cie-java/build.gradle \ - --replace 'mavenCentral()' "$localRepo" - - # Build the Java application - export GRADLE_USER_HOME=$(mktemp -d) - gradle standalone \ - --no-daemon \ - --offline \ - --parallel \ - --info -Dorg.gradle.java.home=${jre} \ - --build-file cie-java/build.gradle - - pushd libs/build + runHook postCheck ''; postInstall = '' @@ -144,7 +129,7 @@ stdenv.mkDerivation { install -Dm644 LICENSE "$out/share/licenses/cieid/LICENSE" ''; - passthru = { inherit javaDeps; }; + preGradleUpdate = "cd ../.."; meta = with lib; { homepage = "https://github.com/M0Rf30/cie-middleware-linux"; |