base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12
[NixPkgs.git] / pkgs / by-name / kr / krop / package.nix
blob93e24b24b53bf6d13c9ed2541fd368d3c8e12384
1 { lib, fetchFromGitHub, python3Packages, libsForQt5, ghostscript, qt5}:
3 python3Packages.buildPythonApplication rec {
4   pname = "krop";
5   version = "0.6.0";
7   src = fetchFromGitHub {
8     owner = "arminstraub";
9     repo = pname;
10     rev = "v${version}";
11     sha256 = "1ygzc7vlwszqmsd3v1dsqp1dpsn6inx7g8gck63alvf88dbn8m3s";
12   };
14   propagatedBuildInputs = with python3Packages; [
15     pyqt5
16     pypdf2
17     poppler-qt5
18     ghostscript
19   ];
20   buildInputs = [
21     libsForQt5.poppler
22     libsForQt5.qtwayland
23   ];
25   nativeBuildInputs = [ qt5.wrapQtAppsHook ];
26   makeWrapperArgs = [
27    "\${qtWrapperArgs[@]}"
28   ];
30   postInstall = ''
31     install -m666 -Dt $out/share/applications krop.desktop
32   '';
34   # Disable checks because of interference with older Qt versions // xcb
35   doCheck = false;
37   meta = {
38     homepage = "http://arminstraub.com/software/krop";
39     description = "Graphical tool to crop the pages of PDF files";
40     mainProgram = "krop";
41     longDescription = ''
42     Krop is a tool that allows you to optimise your PDF files, and remove
43     sections of the page you do not want.  A unique feature of krop, at least to my
44     knowledge, is its ability to automatically split pages into subpages to fit the
45     limited screensize of devices such as eReaders. This is particularly useful, if
46     your eReader does not support convenient scrolling. Krop also has a command line
47     interface.
48     '';
49     license = lib.licenses.gpl3Plus;
50     maintainers = with lib.maintainers; [ leenaars ];
51     platforms = lib.platforms.linux;
52   };