diff --git a/flake.nix b/flake.nix index 118355d..85d51e7 100644 --- a/flake.nix +++ b/flake.nix @@ -14,6 +14,48 @@ jlib = jlibghostty.packages.${system}.jlibghostty; graalvm = pkgs.graalvmPackages.graalvm-ce; gradle = if pkgs ? gradle_9 then pkgs.gradle_9 else pkgs.gradle; + gradleDeps = pkgs.stdenvNoCC.mkDerivation { + pname = "jprototerm-gradle-deps"; + version = "0.1.0"; + src = ./.; + + nativeBuildInputs = [ + graalvm + gradle + ]; + + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = pkgs.lib.fakeHash; + + buildPhase = '' + runHook preBuild + + export HOME=$TMPDIR/home + export GRADLE_USER_HOME=$out + mkdir -p "$HOME" "$GRADLE_USER_HOME" + + gradle \ + --no-daemon \ + --stacktrace \ + -PjlibghosttyMavenRepo=${jlib}/maven \ + help + + gradle \ + --no-daemon \ + --stacktrace \ + -PjlibghosttyMavenRepo=${jlib}/maven \ + dependencies \ + --configuration runtimeClasspath + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + runHook postInstall + ''; + }; in { packages.${system}.default = pkgs.stdenvNoCC.mkDerivation { pname = "jprototerm"; @@ -32,9 +74,12 @@ export HOME=$TMPDIR/home export GRADLE_USER_HOME=$TMPDIR/gradle mkdir -p "$HOME" "$GRADLE_USER_HOME" + cp -R ${gradleDeps}/. "$GRADLE_USER_HOME" + chmod -R u+w "$GRADLE_USER_HOME" gradle \ --no-daemon \ + --offline \ --stacktrace \ -PjlibghosttyMavenRepo=${jlib}/maven \ nativeCompile