diff --git a/pkgs/applications/audio/cadence/default.nix b/pkgs/applications/audio/cadence/default.nix index f7fa9dbd8615a..ef7eeab4b60c6 100644 --- a/pkgs/applications/audio/cadence/default.nix +++ b/pkgs/applications/audio/cadence/default.nix @@ -25,7 +25,7 @@ DESTDIR=$(out) ''; - propagatedBuildInputs = with python3Packages; [ pyqt5 ]; + propagatedBuildInputs = with python3Packages; [ pyqt5_with_qtwebkit ]; postInstall = '' # replace with our own wrappers. They need to be changed manually since it wouldn't work otherwise diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index 6da1cdefa7000..7b01f5c53d778 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/applications/misc/calibre/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { ] ++ stdenv.lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch; prePatch = '' - sed -i "/pyqt_sip_dir/ s:=.*:= '${python2Packages.pyqt5}/share/sip/PyQt5':" \ + sed -i "/pyqt_sip_dir/ s:=.*:= '${python2Packages.pyqt5_with_qtwebkit}/share/sip/PyQt5':" \ setup/build_environment.py # Remove unneeded files and libs @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils wrapGAppsHook ] ++ (with python2Packages; [ apsw cssselect cssutils dateutil dnspython html5-parser lxml mechanize netifaces pillow - python pyqt5 sip + python pyqt5_with_qtwebkit sip regex msgpack # the following are distributed with calibre, but we use upstream instead odfpy diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix index 5e44bb8cbef6e..1be4f1c4c5247 100644 --- a/pkgs/applications/networking/browsers/qutebrowser/default.nix +++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix @@ -4,7 +4,6 @@ , libxslt, gst_all_1 ? null , withPdfReader ? true , withMediaPlayback ? true -, withWebEngineDefault ? true }: assert withMediaPlayback -> gst_all_1 != null; @@ -39,7 +38,7 @@ in python3Packages.buildPythonApplication rec { ] ++ lib.optionals withMediaPlayback (with gst_all_1; [ gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav - ]) ++ lib.optional (!withWebEngineDefault) python3Packages.qtwebkit-plugins; + ]); nativeBuildInputs = [ makeWrapper wrapGAppsHook asciidoc @@ -90,10 +89,6 @@ in python3Packages.buildPythonApplication rec { done ''; - postFixup = lib.optionalString (! withWebEngineDefault) '' - wrapProgram $out/bin/qutebrowser --add-flags "--backend webkit" - ''; - meta = with stdenv.lib; { homepage = https://github.com/The-Compiler/qutebrowser; description = "Keyboard-focused browser with a minimal GUI"; diff --git a/pkgs/applications/networking/instant-messengers/blink/default.nix b/pkgs/applications/networking/instant-messengers/blink/default.nix index 63dec91dad901..bbdb2ae79f831 100644 --- a/pkgs/applications/networking/instant-messengers/blink/default.nix +++ b/pkgs/applications/networking/instant-messengers/blink/default.nix @@ -16,7 +16,7 @@ pythonPackages.buildPythonApplication rec { sed -i 's|@out@|'"''${out}"'|g' blink/resources.py ''; - propagatedBuildInputs = with pythonPackages; [ pyqt5 cjson sipsimple twisted google_api_python_client ]; + propagatedBuildInputs = with pythonPackages; [ pyqt5_with_qtwebkit cjson sipsimple twisted google_api_python_client ]; buildInputs = [ pythonPackages.cython zlib libvncserver libvpx ]; diff --git a/pkgs/applications/networking/instant-messengers/scudcloud/default.nix b/pkgs/applications/networking/instant-messengers/scudcloud/default.nix index 441bc020868ec..54959383f08e2 100644 --- a/pkgs/applications/networking/instant-messengers/scudcloud/default.nix +++ b/pkgs/applications/networking/instant-messengers/scudcloud/default.nix @@ -9,7 +9,7 @@ in python3Packages.buildPythonPackage { sha256 = "e0d1cb72115d0fda17db92d28be51558ad8fe250972683fac3086dbe8d350d22"; }; - propagatedBuildInputs = with python3Packages; [ pyqt5 dbus-python jsmin ]; + propagatedBuildInputs = with python3Packages; [ pyqt5_with_qtwebkit dbus-python jsmin ]; meta = with stdenv.lib; { description = "Non-official desktop client for Slack"; diff --git a/pkgs/applications/version-management/git-and-tools/git-cola/default.nix b/pkgs/applications/version-management/git-and-tools/git-cola/default.nix index 4b15d03d20078..039da03efb1f5 100644 --- a/pkgs/applications/version-management/git-and-tools/git-cola/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-cola/default.nix @@ -2,6 +2,7 @@ let inherit (pythonPackages) buildPythonApplication pyqt5 sip pyinotify; + in buildPythonApplication rec { name = "git-cola-${version}"; version = "3.2"; diff --git a/pkgs/applications/video/openshot-qt/default.nix b/pkgs/applications/video/openshot-qt/default.nix index 0905ef5481bbc..6f113817058ce 100644 --- a/pkgs/applications/video/openshot-qt/default.nix +++ b/pkgs/applications/video/openshot-qt/default.nix @@ -17,7 +17,7 @@ python3Packages.buildPythonApplication rec { buildInputs = [ gtk3 ]; - propagatedBuildInputs = with python3Packages; [ libopenshot pyqt5 requests sip httplib2 pyzmq ]; + propagatedBuildInputs = with python3Packages; [ libopenshot pyqt5_with_qtwebkit requests sip httplib2 pyzmq ]; preConfigure = '' diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix index 14d7bddbb7096..2d2c04d5fb2cc 100644 --- a/pkgs/development/python-modules/pyqt/5.x.nix +++ b/pkgs/development/python-modules/pyqt/5.x.nix @@ -1,30 +1,21 @@ { lib, fetchurl, fetchpatch, pythonPackages, pkgconfig -, qmake, lndir, qtbase, qtsvg, qtwebkit, qtwebengine, dbus -, withWebSockets ? false, qtwebsockets +, qmake, lndir, qtbase, qtsvg, qtwebengine, dbus , withConnectivity ? false, qtconnectivity +, withWebKit ? false, qtwebkit +, withWebSockets ? false, qtwebsockets }: let - pname = "PyQt"; - version = "5.11.3"; inherit (pythonPackages) buildPythonPackage python isPy3k dbus-python enum34; sip = pythonPackages.sip.override { sip-module = "PyQt5.sip"; }; -in buildPythonPackage { - pname = pname; - version = version; +in buildPythonPackage rec { + pname = "PyQt"; + version = "5.11.3"; format = "other"; - meta = with lib; { - description = "Python bindings for Qt5"; - homepage = http://www.riverbankcomputing.co.uk; - license = licenses.gpl3; - platforms = platforms.mesaPlatforms; - maintainers = with maintainers; [ sander ]; - }; - src = fetchurl { url = "mirror://sourceforge/pyqt/PyQt5/PyQt-${version}/PyQt5_gpl-${version}.tar.gz"; sha256 = "0wqh4srqkcc03rvkwrcshaa028psrq58xkys6npnyhqxc0apvdf9"; @@ -36,9 +27,11 @@ in buildPythonPackage { buildInputs = [ dbus sip ]; - propagatedBuildInputs = [ - qtbase qtsvg qtwebkit qtwebengine - ] ++ lib.optional (!isPy3k) enum34 ++ lib.optional withWebSockets qtwebsockets ++ lib.optional withConnectivity qtconnectivity; + propagatedBuildInputs = [ qtbase qtsvg qtwebengine ] + ++ lib.optional (!isPy3k) enum34 + ++ lib.optional withConnectivity qtconnectivity + ++ lib.optional withWebKit qtwebkit + ++ lib.optional withWebSockets qtwebsockets; configurePhase = '' runHook preConfigure @@ -49,10 +42,6 @@ in buildPythonPackage { export PYTHONPATH=$PYTHONPATH:$out/${python.sitePackages} - substituteInPlace configure.py \ - --replace 'install_dir=pydbusmoddir' "install_dir='$out/${python.sitePackages}/dbus/mainloop'" \ - --replace "ModuleMetadata(qmake_QT=['webkitwidgets'])" "ModuleMetadata(qmake_QT=['webkitwidgets', 'printsupport'])" - ${python.executable} configure.py -w \ --confirm-license \ --dbus=${dbus.dev}/include/dbus-1.0 \ @@ -74,4 +63,12 @@ in buildPythonPackage { ''; enableParallelBuilding = true; + + meta = with lib; { + description = "Python bindings for Qt5"; + homepage = http://www.riverbankcomputing.co.uk; + license = licenses.gpl3; + platforms = platforms.mesaPlatforms; + maintainers = with maintainers; [ sander ]; + }; } diff --git a/pkgs/development/python-modules/qtconsole/default.nix b/pkgs/development/python-modules/qtconsole/default.nix index ef322bd798046..07b5a31696141 100644 --- a/pkgs/development/python-modules/qtconsole/default.nix +++ b/pkgs/development/python-modules/qtconsole/default.nix @@ -31,7 +31,7 @@ buildPythonPackage rec { description = "Jupyter Qt console"; homepage = http://jupyter.org/; license = lib.licenses.bsd3; - platforms = lib.platforms.linux; # fails on Darwin + platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ fridh ]; }; } diff --git a/pkgs/misc/frescobaldi/default.nix b/pkgs/misc/frescobaldi/default.nix index af4c54d9d0d82..2b38ed57c2856 100644 --- a/pkgs/misc/frescobaldi/default.nix +++ b/pkgs/misc/frescobaldi/default.nix @@ -11,7 +11,10 @@ python3Packages.buildPythonApplication rec { sha256 = "1yn18pwsjxpxz5j3yfysmaif8k0vqahj5c7ays9cxsylpg9hl7jd"; }; - propagatedBuildInputs = with python3Packages; [ lilypond pygame python-ly poppler-qt5 ]; + propagatedBuildInputs = with python3Packages; [ + lilypond pygame python-ly sip + pyqt5_with_qtwebkit (poppler-qt5.override { pyqt5 = pyqt5_with_qtwebkit; }) + ]; # no tests in shipped with upstream doCheck = false; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d7a22f94b53a2..ba25debd55190 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -615,6 +615,13 @@ in { pythonPackages = self; }; + /* + `pyqt5_with_qtwebkit` should not be used by python libraries in + pkgs/development/python-modules/*. Putting this attribute in + `propagatedBuildInputs` may cause collisions. + */ + pyqt5_with_qtwebkit = self.pyqt5.override { withWebKit = true; }; + pysc2 = callPackage ../development/python-modules/pysc2 { }; pyscard = callPackage ../development/python-modules/pyscard { inherit (pkgs.darwin.apple_sdk.frameworks) PCSC; };