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