From 494fc93e5ad590989b92c534c1396d7b5362d26e Mon Sep 17 00:00:00 2001 From: Tomodachi94 Date: Tue, 3 Mar 2026 05:47:59 +0000 Subject: [PATCH] ant: revert "use upstream launcher script" This reverts commit d6c13b5cf4751b57c09d2fe0aa4f96ea905e09c7. Fixes: #495521 Reopens: #4105 Reverts: #364094 --- pkgs/by-name/an/ant/package.nix | 65 +++++++++++++++++++++++++-------- 1 file changed, 50 insertions(+), 15 deletions(-) diff --git a/pkgs/by-name/an/ant/package.nix b/pkgs/by-name/an/ant/package.nix index b1049d4db3c6..d008fc95e832 100644 --- a/pkgs/by-name/an/ant/package.nix +++ b/pkgs/by-name/an/ant/package.nix @@ -2,7 +2,7 @@ fetchurl, lib, stdenv, - jre, + coreutils, makeWrapper, gitUpdater, }: @@ -11,8 +11,6 @@ stdenv.mkDerivation (finalAttrs: { pname = "ant"; version = "1.10.15"; - buildInputs = [ jre ]; - nativeBuildInputs = [ makeWrapper ]; src = fetchurl { @@ -21,23 +19,60 @@ stdenv.mkDerivation (finalAttrs: { }; installPhase = '' - mkdir -p $out/share/ant + mkdir -p $out/bin $out/share/ant mv * $out/share/ant/ # Get rid of the manual (35 MiB). Maybe we should put this in a - # separate output. - rm -rf $out/share/ant/{manual,WHATSNEW} + # separate output. Keep the antRun script since it's vanilla sh + # and needed for the task (but since we set ANT_HOME to + # a weird value, we have to move antRun to a weird location). + # Get rid of the other Ant scripts since we provide our own. + mv $out/share/ant/bin/antRun $out/bin/ + rm -rf $out/share/ant/{manual,bin,WHATSNEW} + mkdir $out/share/ant/bin + mv $out/bin/antRun $out/share/ant/bin/ - # Link Ant's special $ANT_HOME/bin to the standard /bin location - ln -s $out/share/ant/bin $out + cat >> $out/bin/ant <&2 + exit 1 + fi + fi + + if [ -z \$NIX_JVM ]; then + if [ -e \$JAVA_HOME/bin/java ]; then + NIX_JVM=\$JAVA_HOME/bin/java + elif [ -e \$JAVA_HOME/bin/gij ]; then + NIX_JVM=\$JAVA_HOME/bin/gij + else + NIX_JVM=java + fi + fi + + LOCALCLASSPATH="\$ANT_HOME/lib/ant-launcher.jar\''${LOCALCLASSPATH:+:}\$LOCALCLASSPATH" + + exec \$NIX_JVM \$NIX_ANT_OPTS \$ANT_OPTS -classpath "\$LOCALCLASSPATH" \ + -Dant.home=\$ANT_HOME -Dant.library.dir="\$ANT_LIB" \ + org.apache.tools.ant.launch.Launcher \$NIX_ANT_ARGS \$ANT_ARGS \ + -cp "\$CLASSPATH" "\$@" + EOF + + chmod +x $out/bin/ant ''; passthru = {