diff --git a/pkgs/tools/security/cie-middleware-linux/default.nix b/pkgs/tools/security/cie-middleware-linux/default.nix index d88295915094..11c0567bb6f0 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 - # 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" + runHook postBuild + ''; - # 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 + doCheck = true; - pushd libs/build + checkPhase = '' + runHook preCheck + + mesonCheckPhase + pushd ../.. + gradleCheckPhase + popd + + 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"; diff --git a/pkgs/tools/security/cie-middleware-linux/deps.json b/pkgs/tools/security/cie-middleware-linux/deps.json new file mode 100644 index 000000000000..b9145f453e10 --- /dev/null +++ b/pkgs/tools/security/cie-middleware-linux/deps.json @@ -0,0 +1,185 @@ +{ + "!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.", + "!version": 1, + "https://plugins.gradle.org/m2": { + "com/diffplug/durian#durian-collect/1.2.0": { + "jar": "sha256-sZTAuIAhzBFsIcHcdvScLB/hda9by3TIume527+aSMw=", + "pom": "sha256-i7diCGoKT9KmRzu/kFx0R2OvodWaVjD3O7BLeHLAn/M=" + }, + "com/diffplug/durian#durian-core/1.2.0": { + "jar": "sha256-F+0KrLOjwWMjMyFou96thpTzKACytH1p1KTEmxFNXa4=", + "pom": "sha256-hwMg6QdVNxsBeW/oG6Ul/R3ui3A0b1VFUe7dQonwtmI=" + }, + "com/diffplug/durian#durian-io/1.2.0": { + "jar": "sha256-CV/R3HeIjAc/C+OaAYFW7lJnInmLCd6eKF7yE14W6sQ=", + "pom": "sha256-NQkZQkMk4nUKPdwvobzmqQrIziklaYpgqbTR1uSSL/4=" + }, + "com/diffplug/durian#durian-swt.os/4.2.2": { + "jar": "sha256-a1Mca0vlgaizLq2GHdwVwsk7IMZl+00z4DgUg8JERfQ=", + "module": "sha256-rVlQLGknZu48M0vkliigDctNka4aSPJjLitxUStDXPk=", + "pom": "sha256-GzxJFP1eLM4pZq1wdWY5ZBFFwdNCB3CTV4Py3yY2kIU=" + }, + "com/diffplug/spotless#com.diffplug.spotless.gradle.plugin/6.25.0": { + "pom": "sha256-9FyCsS+qzYWs1HTrppkyL6XeqIQIskfQ5L3pQSkIIjo=" + }, + "com/diffplug/spotless#spotless-lib-extra/2.45.0": { + "jar": "sha256-YCy7zTgo7pz7LjCn+bMDNcaScTB3FBTUzdKU0h/ly2c=", + "module": "sha256-9pnkNfTlzgPbYJpHaO6wNj1uB8ZfvPrx/GKcTnbuf7A=", + "pom": "sha256-5x2LkRDdSNLn9KVLi/uozlWpbmteu9T0OpJGZJz1b7A=" + }, + "com/diffplug/spotless#spotless-lib/2.45.0": { + "jar": "sha256-sllply4dmAKAyirlKRl+2bMWCq5ItQbPGTXwG9Exhmc=", + "module": "sha256-+x+8+TUAczrHWcp99E8P9mVTEze0LaAS4on/CINNiQ8=", + "pom": "sha256-WKd8IsQLIc8m29tCEwFu9HrM9bBwchfHkyqQ9D+PMNw=" + }, + "com/diffplug/spotless#spotless-plugin-gradle/6.25.0": { + "jar": "sha256-9euQikxdpGKZ51Q/qtoEAtLEt31Yx7Qy1Lblk0mygKM=", + "module": "sha256-RoHRe/PJIF2DeOynBcAAywzJjcx40DATy2iJjGvSx0Q=", + "pom": "sha256-q1ZuPYS2w/rHqPySXy279TzZdZywOvPAfQ3EN9OXqNo=" + }, + "com/googlecode/concurrent-trees#concurrent-trees/2.6.1": { + "jar": "sha256-BONySYTipcv1VgbPo3KlvT08XSohUzpwBOPN5Tl2H6U=", + "pom": "sha256-Q8K5sULnBV0fKlgn8QlEkl0idH2XVrMlDAeqtHU4qXE=" + }, + "com/googlecode/javaewah#JavaEWAH/1.2.3": { + "jar": "sha256-1lImlJcTxMYaeE9BxRFn57Axb5N2Q5jrup5DNrPZVMI=", + "pom": "sha256-5O1sZpYgNm+ZOSBln+CsfLyD11PbwNwOseUplzr5byM=" + }, + "com/squareup/okhttp3#okhttp/4.12.0": { + "jar": "sha256-sQUAgbFLt6On5VpNPvAbXc+rxFO0VzpPwBl2cZHV9OA=", + "module": "sha256-YH4iD/ghW5Kdgpu/VPMyiU8UWbTXlZea6vy8wc6lTPM=", + "pom": "sha256-fHNwQKlBlSLnxQzAJ0FqcP58dinlKyGZNa3mtBGcfTg=" + }, + "com/squareup/okio#okio-jvm/3.6.0": { + "jar": "sha256-Z1Q/Bzb8QirpJ+0OUEuYvF4mn9oNNQBXkzfLcT2ihBI=", + "module": "sha256-scIZnhwMyWnvYcu+SvLsr5sGQRvd4By69vyRNN/gToo=", + "pom": "sha256-YbTXxRWgiU/62SX9cFJiDBQlqGQz/TURO1+rDeiQpX8=" + }, + "com/squareup/okio#okio/3.6.0": { + "module": "sha256-akesUDZOZZhFlAH7hvm2z832N7mzowRbHMM8v0xAghg=", + "pom": "sha256-rrO3CiTBA+0MVFQfNfXFEdJ85gyuN2pZbX1lNpf4zJU=" + }, + "commons-codec#commons-codec/1.16.0": { + "jar": "sha256-VllfsgsLhbyR0NUD2tULt/G5r8Du1d/6bLslkpAASE0=", + "pom": "sha256-bLWVeBnfOTlW/TEaOgw/XuwevEm6Wy0J8/ROYWf6PnQ=" + }, + "dev/equo/ide#solstice/1.7.5": { + "jar": "sha256-BuFLxDrMMx2ra16iAfxnNk7RI/mCyF+lEx8IF+1lrk8=", + "module": "sha256-eYp7cGdyE27iijLt2GOx6fgWE6NJhAXXS+ilyb6/9U8=", + "pom": "sha256-20U7urXn2opDE5sNzTuuZykzIfKcTZH1p5XZ/2xS3d8=" + }, + "org/apache#apache/29": { + "pom": "sha256-PkkDcXSCC70N9jQgqXclWIY5iVTCoGKR+mH3J6w1s3c=" + }, + "org/apache/commons#commons-parent/58": { + "pom": "sha256-LUsS4YiZBjq9fHUni1+pejcp2Ah4zuy2pA2UbpwNVZA=" + }, + "org/eclipse/jgit#org.eclipse.jgit-parent/6.7.0.202309050840-r": { + "pom": "sha256-u56FQW2Y0HMfx2f41w6EaAQWAdZnKuItsqx5n3qjkR8=" + }, + "org/eclipse/jgit#org.eclipse.jgit/6.7.0.202309050840-r": { + "jar": "sha256-tWRHfQkiQaqrUMhKxd0aw3XAGCBE1+VlnTpgqQ4ugBo=", + "pom": "sha256-BNB83b8ZjfpuRIuan7lA94HAEq2T2eqCBv4KTTplwZI=" + }, + "org/eclipse/platform#org.eclipse.osgi/3.18.300": { + "jar": "sha256-urlD5Y7dFzCSOGctunpFrsni2svd24GKjPF3I+oT+iI=", + "pom": "sha256-4nl2N1mZxUJ/y8//PzvCD77a+tiqRRArN59cL5fI/rQ=" + }, + "org/jetbrains#annotations/13.0": { + "jar": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg=", + "pom": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c=" + }, + "org/jetbrains/kotlin#kotlin-stdlib-common/1.9.10": { + "jar": "sha256-zeM0G6GKK6JisLfPbFWyDJDo1DTkLJoT5qP3cNuWWog=", + "pom": "sha256-fUtwVHkQZ2s738iSWojztr+yRYLJeEVCgFVEzu9JCpI=" + }, + "org/jetbrains/kotlin#kotlin-stdlib-jdk7/1.8.21": { + "pom": "sha256-m7EH1dXjkwvFl38AekPNILfSTZGxweUo6m7g8kjxTTY=" + }, + "org/jetbrains/kotlin#kotlin-stdlib-jdk7/1.9.10": { + "jar": "sha256-rGNhv5rR7TgsIQPZcSxHzewWYjK0kD7VluiHawaBybc=", + "pom": "sha256-x/pnx5YTILidhaPKWaLhjCxlhQhFWV3K5LRq9pRe3NU=" + }, + "org/jetbrains/kotlin#kotlin-stdlib-jdk8/1.8.21": { + "pom": "sha256-ODnXKNfDCaXDaLAnC0S08ceHj/XKXTKpogT6o0kUWdg=" + }, + "org/jetbrains/kotlin#kotlin-stdlib-jdk8/1.9.10": { + "jar": "sha256-pMdNlNZM4avlN2D+A4ndlB9vxVjQ2rNeR8CFoR7IDyg=", + "pom": "sha256-X0uU3TBlp3ZMN/oV3irW2B9A1Z+Msz8X0YHGOE+3py4=" + }, + "org/jetbrains/kotlin#kotlin-stdlib/1.8.21": { + "pom": "sha256-/gzZ4yGT5FMzP9Kx9XfmYvtavGkHECu5Z4F7wTEoD9c=" + }, + "org/jetbrains/kotlin#kotlin-stdlib/1.9.10": { + "jar": "sha256-VemJxRK4CQd5n4VDCfO8d4LFs9E5MkQtA3nVxHJxFQQ=", + "pom": "sha256-fin79z/fceBnnT3ufmgP1XNGT6AWRKT1irgZ0sCI09I=" + }, + "org/junit#junit-bom/5.9.3": { + "module": "sha256-tAH9JZAeWCpSSqU0PEs54ovFbiSWHBBpvytLv87ka5M=", + "pom": "sha256-TQMpzZ5y8kIOXKFXJMv+b/puX9KIg2FRYnEZD9w0Ltc=" + }, + "org/slf4j#slf4j-api/1.7.36": { + "jar": "sha256-0+9XXj5JeWeNwBvx3M5RAhSTtNEft/G+itmCh3wWocA=", + "pom": "sha256-+wRqnCKUN5KLsRwtJ8i113PriiXmDL0lPZhSEN7cJoQ=" + }, + "org/slf4j#slf4j-parent/1.7.36": { + "pom": "sha256-uziNN/vN083mTDzt4hg4aTIY3EUfBAQMXfNgp47X6BI=" + }, + "org/sonatype/oss#oss-parent/5": { + "pom": "sha256-FnjUEgpYXYpjATGu7ExSTZKDmFg7fqthbufVqH9SDT0=" + }, + "org/sonatype/oss#oss-parent/7": { + "pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ=" + }, + "org/tukaani#xz/1.9": { + "jar": "sha256-IRswbPxE+Plt86Cj3a91uoxSie7XfWDXL4ibuFX1NeU=", + "pom": "sha256-CTvhsDMxvOKTLWglw36YJy12Ieap6fuTKJoAJRi43Vo=" + } + }, + "https://repo.maven.apache.org/maven2": { + "com/google/code/gson#gson-parent/2.10.1": { + "pom": "sha256-QkjgiCQmxhUYI4XWCGw+8yYudplXGJ4pMGKAuFSCuDM=" + }, + "com/google/code/gson#gson/2.10.1": { + "jar": "sha256-QkHBSncnw0/uplB+yAExij1KkPBw5FJWgQefuU7kxZM=", + "pom": "sha256-0rEVY09cCF20ucn/wmWOieIx/b++IkISGhzZXU2Ujdc=" + }, + "commons-io#commons-io/2.15.1": { + "jar": "sha256-pYrxLuG2jP0uuwwnyu8WTwhDgaAOyBpIzCdf1+pU4VQ=", + "pom": "sha256-Fxoa+CtnWetXQLO4gJrKgBE96vEVMDby9ERZAd/T+R0=" + }, + "commons-logging#commons-logging/1.3.0": { + "jar": "sha256-ZtPJgEcLmbDFEdrT38CueyZewfsUTpa8AlOooXX9NNk=", + "pom": "sha256-je/afOtIiP/k1OYyeJVqGjxRS3W4Nj1nFqG9Zv6WLH8=" + }, + "net/java/dev/jna#jna/5.14.0": { + "jar": "sha256-NO0eHyf6iWvKUNvE6ZzzcylnzsOHp6DV40hsCWc/6MY=", + "pom": "sha256-4E4llRUB3yWtx7Hc22xTNzyUiXuE0+FJISknY+4Hrj0=" + }, + "org/apache#apache/31": { + "pom": "sha256-VV0MnqppwEKv+SSSe5OB6PgXQTbTVe6tRFIkRS5ikcw=" + }, + "org/apache/commons#commons-parent/65": { + "pom": "sha256-bPNJX8LmrJE6K38uA/tZCPs/Ip+wbTNY3EVnjVrz424=" + }, + "org/apache/pdfbox#fontbox/3.0.2": { + "jar": "sha256-ds8EEOkD49txQDKvu0WNWiO5IlO5/fiAA18J6orTraw=", + "pom": "sha256-hthT5W8q+Yb6c1s/kH6jh6KXNCLH0F8TwDasuRNal90=" + }, + "org/apache/pdfbox#pdfbox-io/3.0.2": { + "jar": "sha256-nW535C437zaC53aBEpwxRRXog9UKvB3aljguejHnDjg=", + "pom": "sha256-yD3gYR+UMN4W2dakjfXJEPgrkfHgU1xB9Woy9iYwz0c=" + }, + "org/apache/pdfbox#pdfbox-parent/3.0.2": { + "pom": "sha256-kN6rEjTjkUu8B07Ax3Y7+kFHgICziISpOwtVVxnWY0g=" + }, + "org/apache/pdfbox#pdfbox/3.0.2": { + "jar": "sha256-yv4sysEB6ao63z9+p23/AuWIWislWLdfr/l0dvBIfuI=", + "pom": "sha256-wMNAwn6AF2V+Y81PaJUG8U03Y10NFebRpAjysZFGax8=" + }, + "org/junit#junit-bom/5.10.1": { + "module": "sha256-IbCvz//i7LN3D16wCuehn+rulOdx+jkYFzhQ2ueAZ7c=", + "pom": "sha256-IcSwKG9LIAaVd/9LIJeKhcEArIpGtvHIZy+6qzN7w/I=" + } + } +}