1{ lib, pythonPackages, pkg-config
2, qmake, qtbase, qtsvg, qtwebengine
3, wrapQtAppsHook
4}:
5
6let
7 inherit (pythonPackages) buildPythonPackage python isPy27 pyqt5 enum34 sip pyqt-builder;
8in buildPythonPackage rec {
9 pname = "PyQtWebEngine";
10 version = "5.15.4";
11 format = "pyproject";
12
13 disabled = isPy27;
14
15 src = pythonPackages.fetchPypi {
16 inherit pname version;
17 sha256 = "06fc35hzg346a9c86dk7vzm1fakkgzn5l52jfq3bix3587sjip6f";
18 };
19
20 postPatch = ''
21 substituteInPlace pyproject.toml \
22 --replace "[tool.sip.project]" "[tool.sip.project]''\nsip-include-dirs = [\"${pyqt5}/${python.sitePackages}/PyQt5/bindings\"]"
23 '';
24
25 outputs = [ "out" "dev" ];
26
27 nativeBuildInputs = [
28 pkg-config
29 qmake
30 sip
31 qtbase
32 qtsvg
33 qtwebengine
34 pyqt-builder
35 pythonPackages.setuptools
36 ];
37
38 buildInputs = [
39 sip
40 qtbase
41 qtsvg
42 qtwebengine
43 ];
44
45 propagatedBuildInputs = [ pyqt5 ];
46
47 dontWrapQtApps = true;
48
49 # Avoid running qmake, which is in nativeBuildInputs
50 dontConfigure = true;
51
52 # Checked using pythonImportsCheck
53 doCheck = false;
54
55 pythonImportsCheck = [
56 "PyQt5.QtWebEngine"
57 "PyQt5.QtWebEngineWidgets"
58 ];
59
60 enableParallelBuilding = true;
61
62 passthru = {
63 inherit wrapQtAppsHook;
64 };
65
66 meta = with lib; {
67 description = "Python bindings for Qt5";
68 homepage = "http://www.riverbankcomputing.co.uk";
69 license = licenses.gpl3;
70 platforms = lib.lists.intersectLists qtwebengine.meta.platforms platforms.mesaPlatforms;
71 };
72}