lol

alloy: use installPhase instead of ./builder.sh

Also pass on any arguments from the shell wrapper to the .jar.
And be less clever with shell strings.

+17 -20
-16
pkgs/development/tools/alloy/builder.sh
··· 1 - source $stdenv/setup 2 - 3 - jar=${src##*/} 4 - jar=$out/share/alloy/${jar#*-} 5 - 6 - install -Dm644 $src $jar 7 - 8 - cat << EOF > alloy 9 - #! $SHELL 10 - exec $jre/bin/java -jar $jar 11 - EOF 12 - 13 - install -Dm755 alloy $out/bin/alloy 14 - 15 - install -Dm644 $icon $out/share/pixmaps/alloy.png 16 - cp -r ${desktopItem}/share/applications $out/share
+17 -4
pkgs/development/tools/alloy/default.nix
··· 38 38 categories = "Development;IDE;Education;"; 39 39 }; 40 40 41 + buildInputs = [ jre ]; 41 42 42 - buildInputs = [ jre ]; 43 - inherit jre; 43 + phases = [ "installPhase" ]; 44 + 45 + installPhase = '' 46 + jar=`basename ${src}` 47 + jar=$out/share/alloy/alloy${version}.jar 48 + 49 + install -Dm644 ${src} $jar 50 + 51 + cat << EOF > alloy 52 + #!${stdenv.shell} 53 + exec ${jre}/bin/java -jar $jar "\''${@}" 54 + EOF 44 55 45 - icon = ./icon.png; 56 + install -Dm755 alloy $out/bin/alloy 46 57 47 - builder = ./builder.sh; 58 + install -Dm644 ${./icon.png} $out/share/pixmaps/alloy.png 59 + cp -r ${desktopItem}/share/applications $out/share 60 + ''; 48 61 }