From a3232ef613b8b0c4a516bcd469f5ee521b5302b3 Mon Sep 17 00:00:00 2001 From: Tomodachi94 Date: Tue, 26 Nov 2024 21:55:35 +0000 Subject: [PATCH] ant: use upstream launcher script --- pkgs/by-name/an/ant/package.nix | 67 ++++++++------------------------- 1 file changed, 16 insertions(+), 51 deletions(-) diff --git a/pkgs/by-name/an/ant/package.nix b/pkgs/by-name/an/ant/package.nix index 073c14a0b57e3..50f370e62b840 100644 --- a/pkgs/by-name/an/ant/package.nix +++ b/pkgs/by-name/an/ant/package.nix @@ -2,7 +2,7 @@ fetchurl, lib, stdenv, - coreutils, + jre, makeWrapper, gitUpdater, }: @@ -11,6 +11,8 @@ stdenv.mkDerivation (finalAttrs: { pname = "ant"; version = "1.10.15"; + buildInputs = [ jre ]; + nativeBuildInputs = [ makeWrapper ]; src = fetchurl { @@ -24,64 +26,27 @@ stdenv.mkDerivation (finalAttrs: { }; installPhase = '' - mkdir -p $out/bin $out/share/ant + mkdir -p $out/share/ant mv * $out/share/ant/ # Get rid of the manual (35 MiB). Maybe we should put this in a - # 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/ + # separate output. + rm -rf $out/share/ant/{manual,WHATSNEW} + + # Link Ant's special $ANT_HOME/bin to the standard /bin location + ln -s $out/share/ant/bin $out # Install ant-contrib. unpackFile $contrib cp -p ant-contrib/ant-contrib-*.jar $out/share/ant/lib/ - 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 + # Wrap the wrappers. + for wrapper in ant runant.py runant.pl; do + wrapProgram "$out/share/ant/bin/$wrapper" \ + --set JAVA_HOME "${jre.home}" \ + --set ANT_HOME "$out/share/ant" \ + --prefix CLASSPATH : "$out/share/ant/lib" + done ''; passthru = {