diff --git a/pkgs/by-name/ve/verapdf/package.nix b/pkgs/by-name/ve/verapdf/package.nix new file mode 100644 index 000000000000..1b772e74ed94 --- /dev/null +++ b/pkgs/by-name/ve/verapdf/package.nix @@ -0,0 +1,80 @@ +{ + lib, + fetchFromGitHub, + maven, + makeWrapper, + stripJavaArchivesHook, + makeDesktopItem, + copyDesktopItems, + jre, +}: +maven.buildMavenPackage rec { + pname = "verapdf"; + version = "1.26.2"; + + mvnParameters = "-pl '!installer' -Dverapdf.timestamp=1980-01-01T00:00:02Z -Dproject.build.outputTimestamp=1980-01-01T00:00:02Z"; + + src = fetchFromGitHub { + owner = "veraPDF"; + repo = "veraPDF-apps"; + rev = "v${version}"; + hash = "sha256-bWj4dX1qRQ2zzfF9GfskvMnrNU9pKC738Zllx6JsFww="; + }; + + patches = [ ./stable-maven-plugins.patch ]; + + mvnHash = "sha256-sVuzd4TUmrfvqhtiZL1L4obOF1DihMANbZNIy/LKyfw="; + + nativeBuildInputs = [ + makeWrapper + stripJavaArchivesHook + copyDesktopItems + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin $out/share + + install -Dm644 greenfield-apps/target/greenfield-apps-${lib.versions.majorMinor version}.0.jar $out/share/verapdf.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" + + install -Dm644 gui/src/main/resources/org/verapdf/gui/images/icon.png $out/share/icons/hicolor/256x256/apps/verapdf.png + + runHook postInstall + ''; + + desktopItems = [ + (makeDesktopItem { + name = "veraPDF"; + comment = meta.description; + desktopName = "veraPDF"; + genericName = "PDF/A Conformance Checker"; + exec = "verapdf-gui"; + icon = "verapdf"; + categories = [ + "Development" + "Utility" + ]; + keywords = [ "PDF" ]; + mimeTypes = [ "application/pdf" ]; + }) + ]; + + meta = { + description = "Command line and GUI industry supported PDF/A and PDF/UA Validation"; + homepage = "https://github.com/veraPDF/veraPDF-apps"; + license = [ + lib.licenses.gpl3Plus + # or + lib.licenses.mpl20 + ]; + mainProgram = "verapdf-gui"; + maintainers = [ + lib.maintainers.mohe2015 + lib.maintainers.kilianar + ]; + }; +} diff --git a/pkgs/by-name/ve/verapdf/stable-maven-plugins.patch b/pkgs/by-name/ve/verapdf/stable-maven-plugins.patch new file mode 100644 index 000000000000..77257b5f2dfb --- /dev/null +++ b/pkgs/by-name/ve/verapdf/stable-maven-plugins.patch @@ -0,0 +1,42 @@ +diff --git a/pom.xml b/pom.xml +index 015dca6..1557d54 100644 +--- a/pom.xml ++++ b/pom.xml +@@ -125,6 +125,37 @@ + + + ++ ++ org.apache.maven.plugins ++ maven-enforcer-plugin ++ 3.5.0 ++ ++ ++ enforce-plugin-versions ++ ++ enforce ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ org.apache.maven.plugins ++ maven-install-plugin ++ 3.1.3 ++ ++ ++ ++ org.apache.maven.plugins ++ maven-jar-plugin ++ 3.4.2 ++ ++ + + org.apache.maven.plugins + maven-compiler-plugin