summary refs log tree commit diff
path: root/pkgs/development/python-modules/pyqtwebengine/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/pyqtwebengine/default.nix')
-rw-r--r--pkgs/development/python-modules/pyqtwebengine/default.nix25
1 files changed, 21 insertions, 4 deletions
diff --git a/pkgs/development/python-modules/pyqtwebengine/default.nix b/pkgs/development/python-modules/pyqtwebengine/default.nix
index 7ad39633b7e..9dc076a5e8d 100644
--- a/pkgs/development/python-modules/pyqtwebengine/default.nix
+++ b/pkgs/development/python-modules/pyqtwebengine/default.nix
@@ -1,13 +1,14 @@
 { lib, stdenv, pythonPackages, fetchPypi, pkg-config
-, qmake, qtbase, qtsvg, qtwebengine
+, qmake, qtbase, qtsvg, qtwebengine, qtwebchannel, qtdeclarative
 , wrapQtAppsHook
 , darwin
+, buildPackages
 }:
 
 let
   inherit (pythonPackages) buildPythonPackage python isPy27 pyqt5 sip pyqt-builder;
   inherit (darwin) autoSignDarwinBinariesHook;
-in buildPythonPackage rec {
+in buildPythonPackage (rec {
   pname = "PyQtWebEngine";
   version = "5.15.4";
   format = "pyproject";
@@ -29,12 +30,18 @@ in buildPythonPackage rec {
   nativeBuildInputs = [
     pkg-config
     qmake
+  ] ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [
     sip
+  ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
+    python.pythonOnBuildForHost.pkgs.sip
+  ] ++ [
     qtbase
     qtsvg
     qtwebengine
     pyqt-builder
     pythonPackages.setuptools
+  ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
+    qtdeclarative
   ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
     autoSignDarwinBinariesHook
   ];
@@ -44,6 +51,9 @@ in buildPythonPackage rec {
     qtbase
     qtsvg
     qtwebengine
+  ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
+    qtwebchannel
+    qtdeclarative
   ];
 
   propagatedBuildInputs = [ pyqt5 ];
@@ -71,6 +81,13 @@ in buildPythonPackage rec {
     description = "Python bindings for Qt5";
     homepage    = "http://www.riverbankcomputing.co.uk";
     license     = licenses.gpl3;
-    platforms   = lib.lists.intersectLists qtwebengine.meta.platforms platforms.mesaPlatforms;
+    hydraPlatforms = lib.lists.intersectLists qtwebengine.meta.platforms platforms.mesaPlatforms;
   };
-}
+} // lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) {
+  # TODO: figure out why the env hooks aren't adding these inclusions automatically
+  env.NIX_CFLAGS_COMPILE =
+    lib.concatStringsSep " " [
+      "-I${lib.getDev qtbase}/include/QtPrintSupport/"
+      "-I${lib.getDev qtwebchannel}/include/QtWebChannel/"
+    ];
+})