Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 fetchFromGitHub,
4 maven,
5 makeWrapper,
6 stripJavaArchivesHook,
7 makeDesktopItem,
8 copyDesktopItems,
9 jre,
10}:
11maven.buildMavenPackage rec {
12 pname = "verapdf";
13 version = "1.26.5";
14
15 mvnParameters = "-pl '!installer' -Dverapdf.timestamp=1980-01-01T00:00:02Z -Dproject.build.outputTimestamp=1980-01-01T00:00:02Z";
16
17 src = fetchFromGitHub {
18 owner = "veraPDF";
19 repo = "veraPDF-apps";
20 rev = "v${version}";
21 hash = "sha256-2g16PJdbC4OgFzLonfZgE7LRw2dKGjLCb2AYvrr8lxA=";
22 };
23
24 patches = [ ./stable-maven-plugins.patch ];
25
26 # FIXME: this hash keeps changing over time??
27 mvnHash = "sha256-uFY92BFsIu9B6clwQV3l718DsBxvswANrKEBIFGNXN4=";
28
29 nativeBuildInputs = [
30 makeWrapper
31 stripJavaArchivesHook
32 copyDesktopItems
33 ];
34
35 installPhase = ''
36 runHook preInstall
37
38 mkdir -p $out/bin $out/share
39
40 install -Dm644 greenfield-apps/target/greenfield-apps-${lib.versions.majorMinor version}.0.jar $out/share/verapdf.jar
41
42 makeWrapper ${jre}/bin/java $out/bin/verapdf-gui --add-flags "-jar $out/share/verapdf.jar"
43 makeWrapper ${jre}/bin/java $out/bin/verapdf --add-flags "-cp $out/share/verapdf.jar org.verapdf.apps.GreenfieldCliWrapper"
44
45 install -Dm644 gui/src/main/resources/org/verapdf/gui/images/icon.png $out/share/icons/hicolor/256x256/apps/verapdf.png
46
47 runHook postInstall
48 '';
49
50 desktopItems = [
51 (makeDesktopItem {
52 name = "veraPDF";
53 comment = meta.description;
54 desktopName = "veraPDF";
55 genericName = "PDF/A Conformance Checker";
56 exec = "verapdf-gui";
57 icon = "verapdf";
58 categories = [
59 "Development"
60 "Utility"
61 ];
62 keywords = [ "PDF" ];
63 mimeTypes = [ "application/pdf" ];
64 })
65 ];
66
67 meta = {
68 description = "Command line and GUI industry supported PDF/A and PDF/UA Validation";
69 homepage = "https://github.com/veraPDF/veraPDF-apps";
70 license = [
71 lib.licenses.gpl3Plus
72 # or
73 lib.licenses.mpl20
74 ];
75 mainProgram = "verapdf-gui";
76 maintainers = [
77 lib.maintainers.mohe2015
78 lib.maintainers.kilianar
79 ];
80 };
81}