Skip to content

Conversation

@Misaka13514
Copy link
Member

@Misaka13514 Misaka13514 commented Jan 9, 2026

The switch to Gradle 8 in Nixpkgs caused the Armitage build to fail.
Gradle 8.x requires Java 17 or newer to run its daemon, but the derivation was still using jdk11 in nativeBuildInputs.

This caused the Gradle daemon's JVM to crash during startup, with the error "Gradle build daemon disappeared unexpectedly".

This commit fixes the build by switching the build-time Java environment to jdk17 for nativeBuildInputs, satisfying Gradle's requirement.

The runtime Java version in the wrapper is kept at jdk11, as upstream's README explicitly states that newer Java versions (e.g., 18) "break EVERYTHING", making jdk11 the safest choice for runtime compatibility.

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

Add a 👍 reaction to pull requests you find important.

Copilot AI review requested due to automatic review settings January 9, 2026 08:13
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes the Armitage build failure caused by the switch to Gradle 8 in Nixpkgs. Gradle 8.x requires Java 17 or newer for its build daemon, which was causing crashes with the previous jdk11 configuration.

  • Switched build-time Java environment from jdk11 to jdk17 in nativeBuildInputs
  • Maintained jdk11 at runtime for application compatibility per upstream requirements

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Misaka13514 Misaka13514 mentioned this pull request Jan 9, 2026
13 tasks
@Misaka13514
Copy link
Member Author

armitage on nixos-25.11 builds fine so no need to backport

@nixpkgs-ci nixpkgs-ci bot requested a review from emilytrau January 9, 2026 08:18
@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. labels Jan 9, 2026
@Misaka13514
Copy link
Member Author

nixpkgs-review result

Generated using nixpkgs-review-gha

Command: nixpkgs-review pr 478322
Commit: a9a81d9147efc7e9a92a850df1971bb7a913ba1b (subsequent changes)
Merge: 3461fcba04ddd122c09a00708565a60bb5e036c2

Logs: https://github.com/Misaka13514/nixpkgs-review-gha/actions/runs/20845572354


x86_64-linux

✅ 1 package built:
  • armitage

aarch64-linux

✅ 1 package built:
  • armitage

x86_64-darwin (sandbox = relaxed)

❌ 1 package failed to build:
  • armitage

Error logs: `x86_64-darwin`
armitage
2026-01-09T08:27:36.246+0000 [DEBUG] [org.gradle.launcher.daemon.server.DaemonRegistryUpdater] Advertised daemon context: DefaultDaemonContext[uid=51f1940d-ee5c-4b2d-a529-bf06057e1137,javaHome=/nix/store/n1rp0ay6dp66yvr2dzwn840hcnpk8010-zulu-ca-jdk-17.0.12/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home,javaVersion=17,javaVendor=Azul Systems, Inc.,daemonRegistryDir=/nix/build/nix-17290-2270796451/tmp.G5XaxXBHvi/daemon,pid=18547,idleTimeout=120000,priority=NORMAL,applyInstrumentationAgent=true,nativeServicesMode=ENABLED,daemonOpts=-XX:MaxMetaspaceSize=384m,-XX:+HeapDumpOnOutOfMemoryError,-Xms256m,-Xmx512m,-Dfile.encoding=UTF-8,-Djavax.net.ssl.trustStore=/nix/build/nix-17290-2270796451/tmp.CDoDbEvQPA/keystore,-Djavax.net.ssl.trustStorePassword=2ZRNUZP5PZQJIE2M,-Duser.country=US,-Duser.language=en,-Duser.variant]
2026-01-09T08:27:36.248+0000 [DEBUG] [org.gradle.launcher.daemon.registry.PersistentDaemonRegistry] Storing daemon address: [2b8089e5-42db-4955-8e63-0e912bbc516e port:49200, addresses:[localhost/127.0.0.1]], context: DefaultDaemonContext[uid=51f1940d-ee5c-4b2d-a529-bf06057e1137,javaHome=/nix/store/n1rp0ay6dp66yvr2dzwn840hcnpk8010-zulu-ca-jdk-17.0.12/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home,javaVersion=17,javaVendor=Azul Systems, Inc.,daemonRegistryDir=/nix/build/nix-17290-2270796451/tmp.G5XaxXBHvi/daemon,pid=18547,idleTimeout=120000,priority=NORMAL,applyInstrumentationAgent=true,nativeServicesMode=ENABLED,daemonOpts=-XX:MaxMetaspaceSize=384m,-XX:+HeapDumpOnOutOfMemoryError,-Xms256m,-Xmx512m,-Dfile.encoding=UTF-8,-Djavax.net.ssl.trustStore=/nix/build/nix-17290-2270796451/tmp.CDoDbEvQPA/keystore,-Djavax.net.ssl.trustStorePassword=2ZRNUZP5PZQJIE2M,-Duser.country=US,-Duser.language=en,-Duser.variant]
2026-01-09T08:27:36.256+0000 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire exclusive lock on daemon addresses registry.
2026-01-09T08:27:36.262+0000 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2026-01-09T08:27:36.264+0000 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2026-01-09T08:27:36.268+0000 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire exclusive lock on daemon addresses registry.
2026-01-09T08:27:36.269+0000 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2026-01-09T08:27:36.272+0000 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2026-01-09T08:27:36.273+0000 [LIFECYCLE] [org.gradle.launcher.daemon.server.Daemon] Daemon server started.
2026-01-09T08:27:36.278+0000 [DEBUG] [org.gradle.launcher.daemon.bootstrap.DaemonStartupCommunication] Completed writing the daemon greeting. Closing streams...
2026-01-09T08:27:36.302+0000 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] stopOnExpiration() called on daemon
2026-01-09T08:27:36.304+0000 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] awaitExpiration() called on daemon
2026-01-09T08:27:36.304+0000 [DEBUG] [org.gradle.launcher.daemon.server.DaemonStateCoordinator] daemon is running. Sleeping until state changes.----- End of the daemon log -----
  • Try:
    > Run with --stacktrace option to get the stack trace.
    > Run with --info or --debug option to get more log output.
    > Run with --scan to get full insights.
    > Get more help at https://help.gradle.org.

aarch64-darwin (sandbox = relaxed)

❌ 1 package failed to build:
  • armitage

Error logs: `aarch64-darwin`
armitage
2026-01-09T08:19:42.212+0000 [DEBUG] [org.gradle.launcher.daemon.server.DaemonRegistryUpdater] Advertised daemon context: DefaultDaemonContext[uid=ac923434-2f8d-499d-a47c-75a824ead0cc,javaHome=/nix/store/s9nq23qm9animys49h7g7w660jz4ccwz-zulu-ca-jdk-17.0.12/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home,javaVersion=17,javaVendor=Azul Systems, Inc.,daemonRegistryDir=/nix/build/nix-5931-622544993/tmp.jJeOqHGWp2/daemon,pid=6786,idleTimeout=120000,priority=NORMAL,applyInstrumentationAgent=true,nativeServicesMode=ENABLED,daemonOpts=-XX:MaxMetaspaceSize=384m,-XX:+HeapDumpOnOutOfMemoryError,-Xms256m,-Xmx512m,-Dfile.encoding=UTF-8,-Djavax.net.ssl.trustStore=/nix/build/nix-5931-622544993/tmp.0ySSCeOnQg/keystore,-Djavax.net.ssl.trustStorePassword=PLJTBMNGOWGIOXSY,-Duser.country=US,-Duser.language=en,-Duser.variant]
2026-01-09T08:19:42.213+0000 [DEBUG] [org.gradle.launcher.daemon.registry.PersistentDaemonRegistry] Storing daemon address: [0828e12b-45c4-48e5-b9ab-a5fb8f62b4b7 port:49197, addresses:[localhost/127.0.0.1]], context: DefaultDaemonContext[uid=ac923434-2f8d-499d-a47c-75a824ead0cc,javaHome=/nix/store/s9nq23qm9animys49h7g7w660jz4ccwz-zulu-ca-jdk-17.0.12/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home,javaVersion=17,javaVendor=Azul Systems, Inc.,daemonRegistryDir=/nix/build/nix-5931-622544993/tmp.jJeOqHGWp2/daemon,pid=6786,idleTimeout=120000,priority=NORMAL,applyInstrumentationAgent=true,nativeServicesMode=ENABLED,daemonOpts=-XX:MaxMetaspaceSize=384m,-XX:+HeapDumpOnOutOfMemoryError,-Xms256m,-Xmx512m,-Dfile.encoding=UTF-8,-Djavax.net.ssl.trustStore=/nix/build/nix-5931-622544993/tmp.0ySSCeOnQg/keystore,-Djavax.net.ssl.trustStorePassword=PLJTBMNGOWGIOXSY,-Duser.country=US,-Duser.language=en,-Duser.variant]
2026-01-09T08:19:42.216+0000 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire exclusive lock on daemon addresses registry.
2026-01-09T08:19:42.218+0000 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2026-01-09T08:19:42.218+0000 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2026-01-09T08:19:42.219+0000 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire exclusive lock on daemon addresses registry.
2026-01-09T08:19:42.220+0000 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2026-01-09T08:19:42.221+0000 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2026-01-09T08:19:42.221+0000 [LIFECYCLE] [org.gradle.launcher.daemon.server.Daemon] Daemon server started.
2026-01-09T08:19:42.222+0000 [DEBUG] [org.gradle.launcher.daemon.bootstrap.DaemonStartupCommunication] Completed writing the daemon greeting. Closing streams...
2026-01-09T08:19:42.226+0000 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] stopOnExpiration() called on daemon
2026-01-09T08:19:42.228+0000 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] awaitExpiration() called on daemon
2026-01-09T08:19:42.228+0000 [DEBUG] [org.gradle.launcher.daemon.server.DaemonStateCoordinator] daemon is running. Sleeping until state changes.----- End of the daemon log -----
  • Try:
    > Run with --stacktrace option to get the stack trace.
    > Run with --info or --debug option to get more log output.
    > Run with --scan to get full insights.
    > Get more help at https://help.gradle.org.

@Misaka13514
Copy link
Member Author

nixpkgs-review result

Generated using nixpkgs-review-gha

Command: nixpkgs-review pr 478322
Commit: a9a81d9147efc7e9a92a850df1971bb7a913ba1b (subsequent changes)
Merge: 1b407e3b5ad26fc4f3fa01b8debcf99e6e8b64ee

Logs: https://github.com/Misaka13514/nixpkgs-review-gha/actions/runs/20846065315


x86_64-darwin (sandbox = false)

✅ 1 package built:
  • armitage

aarch64-darwin (sandbox = false)

✅ 1 package built:
  • armitage

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant