{ lib, fetchurl, pythonPackages, pkgconfig, makeWrapper, qmake , lndir, qtbase, qtsvg, qtwebkit, qtwebengine, dbus_libs , withWebSockets ? false, qtwebsockets , withConnectivity ? false, qtconnectivity }: let pname = "PyQt"; version = "5.9.2"; inherit (pythonPackages) buildPythonPackage python dbus-python sip; in buildPythonPackage { pname = pname; version = version; format = "other"; name = pname + "-" + version; 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 = "15439gxari6azbfql20ksz8h4gv23k3kfyjyr89h2yy9k32xm461"; }; nativeBuildInputs = [ pkgconfig makeWrapper qmake ]; buildInputs = [ lndir qtbase qtsvg qtwebkit qtwebengine dbus_libs ] ++ lib.optional withWebSockets qtwebsockets ++ lib.optional withConnectivity qtconnectivity; propagatedBuildInputs = [ sip ]; configurePhase = '' runHook preConfigure mkdir -p $out lndir ${dbus-python} $out rm -rf "$out/nix-support" export PYTHONPATH=$PYTHONPATH:$out/lib/${python.libPrefix}/site-packages substituteInPlace configure.py \ --replace 'install_dir=pydbusmoddir' "install_dir='$out/lib/${python.libPrefix}/site-packages/dbus/mainloop'" \ --replace "ModuleMetadata(qmake_QT=['webkitwidgets'])" "ModuleMetadata(qmake_QT=['webkitwidgets', 'printsupport'])" ${python.executable} configure.py -w \ --confirm-license \ --dbus=${dbus_libs.dev}/include/dbus-1.0 \ --no-qml-plugin \ --bindir=$out/bin \ --destdir=$out/${python.sitePackages} \ --stubsdir=$out/${python.sitePackages}/PyQt5 \ --sipdir=$out/share/sip/PyQt5 \ --designer-plugindir=$out/plugins/designer runHook postConfigure ''; postInstall = '' for i in $out/bin/*; do wrapProgram $i --prefix PYTHONPATH : "$PYTHONPATH" done ''; enableParallelBuilding = true; }