about summary refs log tree commit diff
path: root/pkgs/development/libraries/qt-5/modules
diff options
context:
space:
mode:
authorDmitry Kalinkin <dmitry.kalinkin@gmail.com>2019-03-03 11:01:47 -0500
committerGitHub <noreply@github.com>2019-03-03 11:01:47 -0500
commit4a62576c12c400aef7e81302df599e280962e9cf (patch)
tree69c96c16ae182421e83c85dd9d462d57a3e750f6 /pkgs/development/libraries/qt-5/modules
parent768336a74b95f24c7b33daf8905bd822be03c78e (diff)
parent518f997eb5a893bdc16a8f18f0b1e98b895f49a9 (diff)
downloadnixlib-4a62576c12c400aef7e81302df599e280962e9cf.tar
nixlib-4a62576c12c400aef7e81302df599e280962e9cf.tar.gz
nixlib-4a62576c12c400aef7e81302df599e280962e9cf.tar.bz2
nixlib-4a62576c12c400aef7e81302df599e280962e9cf.tar.lz
nixlib-4a62576c12c400aef7e81302df599e280962e9cf.tar.xz
nixlib-4a62576c12c400aef7e81302df599e280962e9cf.tar.zst
nixlib-4a62576c12c400aef7e81302df599e280962e9cf.zip
Merge pull request #55983 from veprbl/pr/qt5_qtwebkit_darwin_fix
qt511.qtwebkit: fix on darwin
Diffstat (limited to 'pkgs/development/libraries/qt-5/modules')
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwebkit.nix24
1 files changed, 13 insertions, 11 deletions
diff --git a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
index 526fc2b8b2d1..6b43f6ed25c0 100644
--- a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
@@ -8,7 +8,7 @@
 }:
 
 let
-  inherit (lib) optional optionals getLib;
+  inherit (lib) optional optionals getDev getLib;
   hyphen = stdenv.mkDerivation rec {
     name = "hyphen-2.8.8";
     src = fetchurl {
@@ -20,28 +20,30 @@ let
     '';
     buildInputs = [ perl ];
   };
+  usingAnnulenWebkitFork = lib.versionAtLeast qtbase.version "5.11.0";
 in
 qtModule {
   name = "qtwebkit";
   qtInputs = [ qtbase qtdeclarative qtlocation qtsensors ]
     ++ optional (stdenv.isDarwin && lib.versionAtLeast qtbase.version "5.9.0") qtmultimedia
-    ++ optional (lib.versionAtLeast qtbase.version "5.11.0") qtwebchannel;
+    ++ optional usingAnnulenWebkitFork qtwebchannel;
   buildInputs = [ fontconfig libwebp libxml2 libxslt sqlite glib gst_all_1.gstreamer gst_all_1.gst-plugins-base ]
-    ++ optionals (stdenv.isDarwin) (with darwin; with apple_sdk.frameworks; [ cf-private OpenGL ])
-    ++ optionals (lib.versionAtLeast qtbase.version "5.11.0") [ hyphen ];
+    ++ optionals (stdenv.isDarwin) (with darwin; with apple_sdk.frameworks; [ cf-private ICU OpenGL ])
+    ++ optional usingAnnulenWebkitFork hyphen;
   nativeBuildInputs = [
     bison2 flex gdb gperf perl pkgconfig python2 ruby
-  ] ++ optionals (lib.versionAtLeast qtbase.version "5.11.0") [ cmake ];
+  ] ++ optional usingAnnulenWebkitFork cmake;
 
-  cmakeFlags = optionals (lib.versionAtLeast qtbase.version "5.11.0") [ "-DPORT=Qt" ];
-
-  __impureHostDeps = optionals (stdenv.isDarwin) [
-    "/usr/lib/libicucore.dylib"
-  ];
+  cmakeFlags = optionals usingAnnulenWebkitFork ([ "-DPORT=Qt" ]
+    ++ optionals stdenv.isDarwin [
+      "-DQt5Multimedia_DIR=${getDev qtmultimedia}/lib/cmake/Qt5Multimedia"
+      "-DQt5MultimediaWidgets_DIR=${getDev qtmultimedia}/lib/cmake/Qt5MultimediaWidgets"
+      "-DMACOS_FORCE_SYSTEM_XML_LIBRARIES=OFF"
+    ]);
 
   # QtWebKit overrides qmake's default_pre and default_post features,
   # so its custom qmake files must be found first at the front of QMAKEPATH.
-  preConfigure = ''
+  preConfigure = stdenv.lib.optionalString (!usingAnnulenWebkitFork) ''
     QMAKEPATH="$PWD/Tools/qmake''${QMAKEPATH:+:}$QMAKEPATH"
     fixQtBuiltinPaths . '*.pr?'
     # Fix hydra's "Log limit exceeded"