1{ stdenv
2, lib
3, buildPythonPackage
4, isPy3k
5, fetchPypi
6, pythonPackages
7, sip
8, qtbase
9, qmake
10, pyqt5
11, pyqt-builder
12, poppler
13, pkg-config
14, fetchpatch
15}:
16
17buildPythonPackage rec {
18 pname = "python-poppler-qt5";
19 version = "21.1.0";
20
21 disabled = !isPy3k;
22
23 src = fetchPypi {
24 inherit pname version;
25 sha256 = "0b82gm4i75q5v19kfbq0h4y0b2vcwr2213zkhxh6l0h45kdndmxd";
26 };
27
28 patches = [
29 # Fix for https://github.com/frescobaldi/python-poppler-qt5/issues/43 (from PR #45)
30 (fetchpatch {
31 url = "https://github.com/frescobaldi/python-poppler-qt5/commit/40e71ad88173d02648bceb2438bc0567e60dacd5.patch";
32 sha256 = "0c93d0k7b1n2s2njl8g92x6vw3z96da1fczah9qx07x08iw8dzi5";
33 })
34 ];
35
36 buildInputs = [ qtbase.dev poppler pyqt-builder ];
37 nativeBuildInputs = [ pkg-config qmake sip ];
38 propagatedBuildInputs = [ pyqt5.dev ];
39
40 format = "pyproject";
41 dontConfigure = true;
42
43 postPatch = ''
44 cat <<EOF >> pyproject.toml
45 sip-include-dirs = ["${pyqt5}/share/sip/PyQt5"]
46
47 [tool.sip.bindings.Poppler-Qt5]
48 include-dirs = ["${poppler.dev}/include/poppler"]
49 tags = ["${sip.platform_tag}"]
50 EOF
51 '';
52
53 # no tests, just bindings for `poppler_qt5`
54 doCheck = false;
55 pythonImportsCheck = [ "popplerqt5" ];
56
57 dontWrapQtApps = true;
58
59 meta = with lib; {
60 homepage = "https://github.com/frescobaldi/python-poppler-qt5";
61 license = licenses.lgpl21Plus;
62 maintainers = with maintainers; [ eduardosm ];
63 };
64}