diff --git a/pkgs/by-name/kr/krop/package.nix b/pkgs/by-name/kr/krop/package.nix index 93e24b24b53b..889cd4317e04 100644 --- a/pkgs/by-name/kr/krop/package.nix +++ b/pkgs/by-name/kr/krop/package.nix @@ -1,6 +1,32 @@ -{ lib, fetchFromGitHub, python3Packages, libsForQt5, ghostscript, qt5}: +{ + lib, + fetchFromGitHub, + python3, + libsForQt5, + ghostscript, + qt5, + fetchPypi, +}: -python3Packages.buildPythonApplication rec { +let + py = python3.override { + self = py; + packageOverrides = self: super: { + # Can be removed once this is merged + # https://github.com/arminstraub/krop/pull/40 + pypdf2 = super.pypdf2.overridePythonAttrs (oldAttrs: rec { + version = "2.12.1"; + src = fetchPypi { + pname = "PyPDF2"; + inherit version; + hash = "sha256-4D7xirzHXadBoKzBp3SSU0loh744zZiHvM4c7jk9pF4="; + }; + }); + }; + }; +in + +py.pkgs.buildPythonApplication rec { pname = "krop"; version = "0.6.0"; @@ -11,21 +37,21 @@ python3Packages.buildPythonApplication rec { sha256 = "1ygzc7vlwszqmsd3v1dsqp1dpsn6inx7g8gck63alvf88dbn8m3s"; }; - propagatedBuildInputs = with python3Packages; [ + propagatedBuildInputs = with py.pkgs; [ pyqt5 pypdf2 poppler-qt5 ghostscript ]; + buildInputs = [ libsForQt5.poppler libsForQt5.qtwayland ]; nativeBuildInputs = [ qt5.wrapQtAppsHook ]; - makeWrapperArgs = [ - "\${qtWrapperArgs[@]}" - ]; + + makeWrapperArgs = [ "\${qtWrapperArgs[@]}" ]; postInstall = '' install -m666 -Dt $out/share/applications krop.desktop @@ -37,17 +63,17 @@ python3Packages.buildPythonApplication rec { meta = { homepage = "http://arminstraub.com/software/krop"; description = "Graphical tool to crop the pages of PDF files"; - mainProgram = "krop"; longDescription = '' - Krop is a tool that allows you to optimise your PDF files, and remove - sections of the page you do not want. A unique feature of krop, at least to my - knowledge, is its ability to automatically split pages into subpages to fit the - limited screensize of devices such as eReaders. This is particularly useful, if - your eReader does not support convenient scrolling. Krop also has a command line - interface. + Krop is a tool that allows you to optimise your PDF files, and remove + sections of the page you do not want. A unique feature of krop, at least to my + knowledge, is its ability to automatically split pages into subpages to fit the + limited screensize of devices such as eReaders. This is particularly useful, if + your eReader does not support convenient scrolling. Krop also has a command line + interface. ''; license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ leenaars ]; platforms = lib.platforms.linux; + mainProgram = "krop"; }; }