From 723f9b5d881f0f4bbc0da909718f4abafd1e7b2c Mon Sep 17 00:00:00 2001 From: Alexis Hildebrandt Date: Mon, 3 Mar 2025 23:55:40 +0100 Subject: [PATCH 1/5] saxon: use stdenvNoCC instead of stdenv --- pkgs/development/libraries/java/saxon/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/java/saxon/default.nix b/pkgs/development/libraries/java/saxon/default.nix index 15f6d104a220..f0e34478e01e 100644 --- a/pkgs/development/libraries/java/saxon/default.nix +++ b/pkgs/development/libraries/java/saxon/default.nix @@ -1,6 +1,6 @@ { lib, - stdenv, + stdenvNoCC, fetchurl, unzip, jre, @@ -27,7 +27,7 @@ let license ? lib.licenses.mpl20, updateScript ? null, }: - stdenv.mkDerivation ( + stdenvNoCC.mkDerivation ( finalAttrs: let mainProgram = if prog == null then pname else prog; From 8a8dab4758bc503f8df90dd712b1db5c4f17b4b3 Mon Sep 17 00:00:00 2001 From: Alexis Hildebrandt Date: Mon, 3 Mar 2025 23:57:32 +0100 Subject: [PATCH 2/5] saxon: use installPhase instead of buildCommand --- pkgs/development/libraries/java/saxon/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/java/saxon/default.nix b/pkgs/development/libraries/java/saxon/default.nix index f0e34478e01e..e7d5cd8798a9 100644 --- a/pkgs/development/libraries/java/saxon/default.nix +++ b/pkgs/development/libraries/java/saxon/default.nix @@ -37,8 +37,9 @@ let inherit pname version src; nativeBuildInputs = [ unzip ]; + dontUnpack = true; - buildCommand = '' + installPhase = '' unzip $src -d $out mkdir -p $out/bin $out/share $out/share/java cp -s "$out"/*.jar "$out/share/java/" # */ From a1ac54e2679f77f09f69c5cd06acabc466cd4551 Mon Sep 17 00:00:00 2001 From: Alexis Hildebrandt Date: Mon, 3 Mar 2025 23:58:23 +0100 Subject: [PATCH 3/5] saxon: use makeWrapper to create mainProgram and additional binaries --- .../libraries/java/saxon/default.nix | 37 ++++++++++++------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/pkgs/development/libraries/java/saxon/default.nix b/pkgs/development/libraries/java/saxon/default.nix index e7d5cd8798a9..4d38f9a188b7 100644 --- a/pkgs/development/libraries/java/saxon/default.nix +++ b/pkgs/development/libraries/java/saxon/default.nix @@ -7,6 +7,7 @@ jre8, genericUpdater, writeShellScript, + makeWrapper, common-updater-scripts, gnused, }: @@ -36,22 +37,30 @@ let { inherit pname version src; - nativeBuildInputs = [ unzip ]; + nativeBuildInputs = [ + unzip + makeWrapper + ]; dontUnpack = true; - installPhase = '' - unzip $src -d $out - mkdir -p $out/bin $out/share $out/share/java - cp -s "$out"/*.jar "$out/share/java/" # */ - rm -rf $out/notices - mv $out/doc $out/share - cat > $out/bin/${mainProgram} < Date: Thu, 13 Mar 2025 09:27:01 +0100 Subject: [PATCH 4/5] saxon: use sri hashes --- pkgs/development/libraries/java/saxon/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/java/saxon/default.nix b/pkgs/development/libraries/java/saxon/default.nix index 4d38f9a188b7..d36d0b3cc711 100644 --- a/pkgs/development/libraries/java/saxon/default.nix +++ b/pkgs/development/libraries/java/saxon/default.nix @@ -123,7 +123,7 @@ in version = "6.5.3"; src = fetchurl { url = "mirror://sourceforge/saxon/saxon${dashify version}.zip"; - sha256 = "0l5y3y2z4wqgh80f26dwwxwncs8v3nkz3nidv14z024lmk730vs3"; + hash = "sha256-Q28wzqyUCPBJ2C3a8acdG2lmeee8GeEAgg9z8oUfvlA="; }; description = "XSLT 1.0 processor"; # https://saxon.sourceforge.net/saxon6.5.3/conditions.html @@ -137,7 +137,7 @@ in jar = "saxon8"; src = fetchurl { url = "mirror://sourceforge/saxon/saxonb${dashify version}j.zip"; - sha256 = "15bzrfyd2f1045rsp9dp4znyhmizh1pm97q8ji2bc0b43q23xsb8"; + hash = "sha256-aOk+BB5kAbZElAifVG+AP1bo7Se3patzISA40bzLf5U="; }; description = "Complete and conformant processor of XSLT 2.0, XQuery 1.0, and XPath 2.0"; java = jre8; From 4d657c9c560a33b93290fce2ac22d36e6c8152b2 Mon Sep 17 00:00:00 2001 From: Alexis Hildebrandt Date: Thu, 13 Mar 2025 09:33:12 +0100 Subject: [PATCH 5/5] saxon: use sourceRoot --- .../libraries/java/saxon/default.nix | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/java/saxon/default.nix b/pkgs/development/libraries/java/saxon/default.nix index d36d0b3cc711..b802b2b09711 100644 --- a/pkgs/development/libraries/java/saxon/default.nix +++ b/pkgs/development/libraries/java/saxon/default.nix @@ -41,26 +41,31 @@ let unzip makeWrapper ]; - dontUnpack = true; + + sourceRoot = "."; installPhase = '' - unzip $src -d $out - mkdir -p $out/bin $out/share $out/share/java - cp -s "$out"/*.jar "$out/share/java/" # */ - rm -rf $out/notices - mv $out/doc $out/share + runHook preInstall + install -Dm444 -t $out/share/java/ *.jar + mv doc $out/share + + mkdir -p $out/bin makeWrapper ${lib.getExe jre} $out/bin/${mainProgram} \ - --add-flags "-jar $out/${jar'}.jar" + --add-flags "-jar $out/share/java/${jar'}.jar" + '' + + lib.optionalString (versionAtLeast finalAttrs.version "11") '' + mv lib $out/share/java '' + lib.optionalString (versionAtLeast finalAttrs.version "8") '' makeWrapper ${lib.getExe jre} $out/bin/transform \ - --add-flags "-cp $out/${jar'}.jar net.sf.saxon.Transform" + --add-flags "-cp $out/share/java/${jar'}.jar net.sf.saxon.Transform" makeWrapper ${lib.getExe jre} $out/bin/query \ - --add-flags "-cp $out/${jar'}.jar net.sf.saxon.Query" - ''; + --add-flags "-cp $out/share/java/${jar'}.jar net.sf.saxon.Query" + '' + + "runHook postInstall"; passthru = lib.optionalAttrs (updateScript != null) { inherit updateScript;