From c25fcc83ba1f45faf21f994b6c806cfe8b2f591d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 27 May 2026 17:58:40 -0700 Subject: [PATCH 1/4] verapdf: 1.28.2 -> 1.30.1 Diff: https://github.com/veraPDF/veraPDF-apps/compare/v1.28.2...v1.30.1 Changelog: https://github.com/veraPDF/veraPDF-library/blob/v1.30.1/RELEASENOTES.md --- pkgs/by-name/ve/verapdf/package.nix | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/ve/verapdf/package.nix b/pkgs/by-name/ve/verapdf/package.nix index e6d74bc67432..3f47924cd2f5 100644 --- a/pkgs/by-name/ve/verapdf/package.nix +++ b/pkgs/by-name/ve/verapdf/package.nix @@ -10,7 +10,7 @@ }: maven.buildMavenPackage rec { pname = "verapdf"; - version = "1.28.2"; + version = "1.30.1"; mvnParameters = "-pl '!installer' -Dverapdf.timestamp=1980-01-01T00:00:02Z -Dproject.build.outputTimestamp=1980-01-01T00:00:02Z " @@ -27,13 +27,13 @@ maven.buildMavenPackage rec { src = fetchFromGitHub { owner = "veraPDF"; repo = "veraPDF-apps"; - rev = "v${version}"; - hash = "sha256-tv5iffIQkyjHyulnmagcJuSGbc4tXRYTwB3hSEGLQrc="; + tag = "v${version}"; + hash = "sha256-IoQbAYEUJuK5FxGSxiLfcn5X1KOJca70hu4cMaYXfmw="; }; patches = [ ./stable-maven-plugins.patch ]; - mvnHash = "sha256-CrpiomKsAyD7SyVzwbjVXy8BoVnkejQVcim+kwVP5Ng="; + mvnHash = "sha256-hY+zPuSujMr3RntuLOZVEN8GN4n8201+S5OYvwB1+j4="; nativeBuildInputs = [ makeWrapper @@ -46,10 +46,11 @@ maven.buildMavenPackage rec { mkdir -p $out/bin $out/share - install -Dm644 greenfield-apps/target/greenfield-apps-${lib.versions.majorMinor version}.0.jar $out/share/verapdf.jar + install -Dm644 cli/target/cli-${lib.versions.majorMinor version}.0.jar $out/share/verapdf.jar + install -Dm644 gui/target/gui-${lib.versions.majorMinor version}.0.jar $out/share/verapdf-gui.jar - makeWrapper ${jre}/bin/java $out/bin/verapdf-gui --add-flags "-jar $out/share/verapdf.jar" - makeWrapper ${jre}/bin/java $out/bin/verapdf --add-flags "-cp $out/share/verapdf.jar org.verapdf.apps.GreenfieldCliWrapper" + makeWrapper ${lib.getExe jre} $out/bin/verapdf-gui --add-flags "-jar $out/share/verapdf-gui.jar" + makeWrapper ${lib.getExe jre} $out/bin/verapdf --add-flags "-jar $out/share/verapdf.jar" install -Dm644 gui/src/main/resources/org/verapdf/gui/images/icon.png $out/share/icons/hicolor/256x256/apps/verapdf.png @@ -74,6 +75,7 @@ maven.buildMavenPackage rec { ]; meta = { + changelog = "https://github.com/veraPDF/veraPDF-library/blob/${src.tag}/RELEASENOTES.md"; description = "Command line and GUI industry supported PDF/A and PDF/UA Validation"; homepage = "https://github.com/veraPDF/veraPDF-apps"; license = [ From 26942a46f36123e609d4cee4270b54d8f86c266d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 27 May 2026 18:22:15 -0700 Subject: [PATCH 2/4] verapdf: run versionCheckHook --- pkgs/by-name/ve/verapdf/package.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkgs/by-name/ve/verapdf/package.nix b/pkgs/by-name/ve/verapdf/package.nix index 3f47924cd2f5..3a849132d0f5 100644 --- a/pkgs/by-name/ve/verapdf/package.nix +++ b/pkgs/by-name/ve/verapdf/package.nix @@ -7,6 +7,7 @@ makeDesktopItem, copyDesktopItems, jre, + versionCheckHook, }: maven.buildMavenPackage rec { pname = "verapdf"; @@ -74,6 +75,18 @@ maven.buildMavenPackage rec { }) ]; + doInstallCheck = true; + + nativeInstallCheckInputs = [ + versionCheckHook + ]; + + versionCheckProgram = "${placeholder "out"}/bin/verapdf"; + + preVersionCheck = '' + version=${lib.versions.majorMinor version}.0 + ''; + meta = { changelog = "https://github.com/veraPDF/veraPDF-library/blob/${src.tag}/RELEASENOTES.md"; description = "Command line and GUI industry supported PDF/A and PDF/UA Validation"; From fbc0649c499298f65aa771ecc76e424c1ac66f74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 28 May 2026 16:18:01 -0700 Subject: [PATCH 3/4] verapdf-gui: split out from verapdf --- pkgs/by-name/ve/verapdf-gui/package.nix | 5 +++++ pkgs/by-name/ve/verapdf/package.nix | 29 +++++++++++++++++-------- 2 files changed, 25 insertions(+), 9 deletions(-) create mode 100644 pkgs/by-name/ve/verapdf-gui/package.nix diff --git a/pkgs/by-name/ve/verapdf-gui/package.nix b/pkgs/by-name/ve/verapdf-gui/package.nix new file mode 100644 index 000000000000..67d9771c918c --- /dev/null +++ b/pkgs/by-name/ve/verapdf-gui/package.nix @@ -0,0 +1,5 @@ +{ verapdf }: +verapdf.override { + withCli = false; + withGui = true; +} diff --git a/pkgs/by-name/ve/verapdf/package.nix b/pkgs/by-name/ve/verapdf/package.nix index 3a849132d0f5..2c9a5e42565e 100644 --- a/pkgs/by-name/ve/verapdf/package.nix +++ b/pkgs/by-name/ve/verapdf/package.nix @@ -8,9 +8,11 @@ copyDesktopItems, jre, versionCheckHook, + withCli ? true, + withGui ? false, }: maven.buildMavenPackage rec { - pname = "verapdf"; + pname = "verapdf" + lib.optionalString (withGui && !withCli) "-gui"; version = "1.30.1"; mvnParameters = @@ -46,19 +48,22 @@ maven.buildMavenPackage rec { runHook preInstall mkdir -p $out/bin $out/share - + '' + + lib.optionalString withCli '' install -Dm644 cli/target/cli-${lib.versions.majorMinor version}.0.jar $out/share/verapdf.jar - install -Dm644 gui/target/gui-${lib.versions.majorMinor version}.0.jar $out/share/verapdf-gui.jar - - makeWrapper ${lib.getExe jre} $out/bin/verapdf-gui --add-flags "-jar $out/share/verapdf-gui.jar" makeWrapper ${lib.getExe jre} $out/bin/verapdf --add-flags "-jar $out/share/verapdf.jar" + '' + + lib.optionalString withGui '' + install -Dm644 gui/target/gui-${lib.versions.majorMinor version}.0.jar $out/share/verapdf-gui.jar + makeWrapper ${lib.getExe jre} $out/bin/verapdf-gui --add-flags "-jar $out/share/verapdf-gui.jar" install -Dm644 gui/src/main/resources/org/verapdf/gui/images/icon.png $out/share/icons/hicolor/256x256/apps/verapdf.png - + '' + + '' runHook postInstall ''; - desktopItems = [ + desktopItems = lib.optionals withGui [ (makeDesktopItem { name = "veraPDF"; comment = meta.description; @@ -75,7 +80,8 @@ maven.buildMavenPackage rec { }) ]; - doInstallCheck = true; + # GUI has no --version flag + doInstallCheck = withCli; nativeInstallCheckInputs = [ versionCheckHook @@ -96,10 +102,15 @@ maven.buildMavenPackage rec { # or lib.licenses.mpl20 ]; - mainProgram = "verapdf-gui"; maintainers = [ lib.maintainers.mohe2015 lib.maintainers.kilianar ]; + } + // lib.optionalAttrs (withCli && !withGui) { + mainProgram = "verapdf"; + } + // lib.optionalAttrs (withGui && !withCli) { + mainProgram = "verapdf-gui"; }; } From e9d620e19f6bd981733e5e47d452bf5ffe9aa5d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 28 May 2026 16:36:10 -0700 Subject: [PATCH 4/4] verapdf: use __structuredAttrs and strictDeps --- pkgs/by-name/ve/verapdf/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/ve/verapdf/package.nix b/pkgs/by-name/ve/verapdf/package.nix index 2c9a5e42565e..2cb5874cc115 100644 --- a/pkgs/by-name/ve/verapdf/package.nix +++ b/pkgs/by-name/ve/verapdf/package.nix @@ -14,6 +14,7 @@ maven.buildMavenPackage rec { pname = "verapdf" + lib.optionalString (withGui && !withCli) "-gui"; version = "1.30.1"; + __structuredAttrs = true; mvnParameters = "-pl '!installer' -Dverapdf.timestamp=1980-01-01T00:00:02Z -Dproject.build.outputTimestamp=1980-01-01T00:00:02Z " @@ -38,6 +39,8 @@ maven.buildMavenPackage rec { mvnHash = "sha256-hY+zPuSujMr3RntuLOZVEN8GN4n8201+S5OYvwB1+j4="; + strictDeps = true; + nativeBuildInputs = [ makeWrapper stripJavaArchivesHook