saxon: use makeWrapper to create mainProgram and additional binaries

This commit is contained in:
Alexis Hildebrandt 2025-03-03 23:58:23 +01:00
parent 8a8dab4758
commit a1ac54e267

View file

@ -7,6 +7,7 @@
jre8, jre8,
genericUpdater, genericUpdater,
writeShellScript, writeShellScript,
makeWrapper,
common-updater-scripts, common-updater-scripts,
gnused, gnused,
}: }:
@ -36,21 +37,29 @@ let
{ {
inherit pname version src; inherit pname version src;
nativeBuildInputs = [ unzip ]; nativeBuildInputs = [
unzip
makeWrapper
];
dontUnpack = true; dontUnpack = true;
installPhase = '' installPhase =
''
unzip $src -d $out unzip $src -d $out
mkdir -p $out/bin $out/share $out/share/java mkdir -p $out/bin $out/share $out/share/java
cp -s "$out"/*.jar "$out/share/java/" # */ cp -s "$out"/*.jar "$out/share/java/" # */
rm -rf $out/notices rm -rf $out/notices
mv $out/doc $out/share mv $out/doc $out/share
cat > $out/bin/${mainProgram} <<EOF
#! $shell makeWrapper ${lib.getExe jre} $out/bin/${mainProgram} \
export JAVA_HOME=${jre} --add-flags "-jar $out/${jar'}.jar"
exec ${jre}/bin/java -jar $out/${jar'}.jar "\$@" ''
EOF + lib.optionalString (versionAtLeast finalAttrs.version "8") ''
chmod a+x $out/bin/${mainProgram} makeWrapper ${lib.getExe jre} $out/bin/transform \
--add-flags "-cp $out/${jar'}.jar net.sf.saxon.Transform"
makeWrapper ${lib.getExe jre} $out/bin/query \
--add-flags "-cp $out/${jar'}.jar net.sf.saxon.Query"
''; '';
passthru = lib.optionalAttrs (updateScript != null) { passthru = lib.optionalAttrs (updateScript != null) {