about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules/poppler-qt5/default.nix
blob: 4a9fdfa42620a1eae7a1ccd85971e749e5f631fd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
{ stdenv
, lib
, buildPythonPackage
, isPy3k
, fetchPypi
, pythonPackages
, sip
, qtbase
, qmake
, pyqt5
, pyqt-builder
, poppler
, pkg-config
, fetchpatch
}:

buildPythonPackage rec {
  pname = "python-poppler-qt5";
  version = "21.1.0";

  disabled = !isPy3k;

  src = fetchPypi {
    inherit pname version;
    sha256 = "0b82gm4i75q5v19kfbq0h4y0b2vcwr2213zkhxh6l0h45kdndmxd";
  };

  patches = [
    # Fix for https://github.com/frescobaldi/python-poppler-qt5/issues/43 (from PR #45)
    (fetchpatch {
      url = "https://github.com/frescobaldi/python-poppler-qt5/commit/40e71ad88173d02648bceb2438bc0567e60dacd5.patch";
      sha256 = "0c93d0k7b1n2s2njl8g92x6vw3z96da1fczah9qx07x08iw8dzi5";
    })
  ];

  buildInputs = [ qtbase.dev poppler pyqt-builder ];
  nativeBuildInputs = [ pkg-config qmake sip ];
  propagatedBuildInputs = [ pyqt5.dev ];

  format = "pyproject";
  dontConfigure = true;

  postPatch = ''
    cat <<EOF >> pyproject.toml
    sip-include-dirs = ["${pyqt5}/share/sip/PyQt5"]

    [tool.sip.bindings.Poppler-Qt5]
    include-dirs = ["${poppler.dev}/include/poppler"]
    tags = ["${sip.platform_tag}"]
    EOF
  '';

  # no tests, just bindings for `poppler_qt5`
  doCheck = false;
  pythonImportsCheck = [ "popplerqt5" ];

  dontWrapQtApps = true;

  meta = with lib; {
    homepage = "https://github.com/frescobaldi/python-poppler-qt5";
    license = licenses.lgpl21Plus;
    maintainers = with maintainers; [ eduardosm ];
  };
}