1{
2 lib,
3 mkDerivation,
4 fetchFromGitLab,
5 fetchpatch,
6 fetchpatch2,
7 cmake,
8 pkg-config,
9 qtbase,
10 qttools,
11 qpdf,
12 podofo,
13 imagemagick,
14}:
15
16mkDerivation rec {
17 pname = "pdfmixtool";
18 version = "1.1.1";
19
20 src = fetchFromGitLab {
21 owner = "scarpetta";
22 repo = pname;
23 rev = "v${version}";
24 hash = "sha256-fgtRKUG6J/CM6cXUTHWAPemqL8loWZT3wZmGdRHldq8=";
25 };
26
27 nativeBuildInputs = [
28 cmake
29 pkg-config
30 ];
31
32 buildInputs = [
33 imagemagick
34 qtbase
35 qttools
36 qpdf
37 podofo
38 ];
39
40 patches = [
41 # fix incompatibility with qpdf11.3.0 usage of c++17 - delete this patch when we reach pdfmixtool version > v1.1.1
42 (fetchpatch {
43 url = "https://gitlab.com/scarpetta/pdfmixtool/-/commit/bd5f78c3a4d977d9b0c74302ce2521c737189b43.diff";
44 hash = "sha256-h2g5toFqgEEnObd2TYQms1a1WFTgN7VsIHyy0Uyq4/I=";
45 })
46 # https://gitlab.com/scarpetta/pdfmixtool/-/merge_requests/14
47 (fetchpatch2 {
48 url = "https://gitlab.com/scarpetta/pdfmixtool/-/commit/268291317ccd1805dc1c801ff88641ba06c6a7f0.patch";
49 hash = "sha256-56bDoFtE+IOQHcV9xPfyrgYYFvTfB0QiLIfRl91irb0=";
50 })
51 ];
52
53 meta = with lib; {
54 description = "Application to split, merge, rotate and mix PDF files";
55 mainProgram = "pdfmixtool";
56 homepage = "https://gitlab.com/scarpetta/pdfmixtool";
57 license = licenses.gpl3Only;
58 maintainers = with maintainers; [ onny ];
59 };
60}