nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at 22.05 110 lines 2.3 kB view raw
1{ lib 2, buildPythonPackage 3, isPy27 4, fetchPypi 5, pkg-config 6, dbus 7, lndir 8, dbus-python 9, sip 10, pyqt5_sip 11, pyqt-builder 12, libsForQt5 13, withConnectivity ? false 14, withMultimedia ? false 15, withWebKit ? false 16, withWebSockets ? false 17, withLocation ? false 18}: 19 20buildPythonPackage rec { 21 pname = "PyQt5"; 22 version = "5.15.4"; 23 format = "pyproject"; 24 25 disabled = isPy27; 26 27 src = fetchPypi { 28 inherit pname version; 29 sha256 = "1gp5jz71nmg58zsm1h4vzhcphf36rbz37qgsfnzal76i1mz5js9a"; 30 }; 31 32 outputs = [ "out" "dev" ]; 33 34 dontWrapQtApps = true; 35 36 nativeBuildInputs = with libsForQt5; [ 37 pkg-config 38 qmake 39 lndir 40 sip 41 qtbase 42 qtsvg 43 qtdeclarative 44 qtwebchannel 45 ] 46 ++ lib.optional withConnectivity qtconnectivity 47 ++ lib.optional withMultimedia qtmultimedia 48 ++ lib.optional withWebKit qtwebkit 49 ++ lib.optional withWebSockets qtwebsockets 50 ++ lib.optional withLocation qtlocation 51 ; 52 53 buildInputs = with libsForQt5; [ 54 dbus 55 qtbase 56 qtsvg 57 qtdeclarative 58 pyqt-builder 59 ] 60 ++ lib.optional withConnectivity qtconnectivity 61 ++ lib.optional withWebKit qtwebkit 62 ++ lib.optional withWebSockets qtwebsockets 63 ++ lib.optional withLocation qtlocation 64 ; 65 66 propagatedBuildInputs = [ 67 dbus-python 68 pyqt5_sip 69 ]; 70 71 patches = [ 72 # Fix some wrong assumptions by ./project.py 73 # TODO: figure out how to send this upstream 74 ./pyqt5-fix-dbus-mainloop-support.patch 75 ]; 76 77 passthru = { 78 inherit sip pyqt5_sip; 79 multimediaEnabled = withMultimedia; 80 webKitEnabled = withWebKit; 81 WebSocketsEnabled = withWebSockets; 82 }; 83 84 dontConfigure = true; 85 86 # Checked using pythonImportsCheck 87 doCheck = false; 88 89 pythonImportsCheck = [ 90 "PyQt5" 91 "PyQt5.QtCore" 92 "PyQt5.QtQml" 93 "PyQt5.QtWidgets" 94 "PyQt5.QtGui" 95 ] 96 ++ lib.optional withWebSockets "PyQt5.QtWebSockets" 97 ++ lib.optional withWebKit "PyQt5.QtWebKit" 98 ++ lib.optional withMultimedia "PyQt5.QtMultimedia" 99 ++ lib.optional withConnectivity "PyQt5.QtConnectivity" 100 ++ lib.optional withLocation "PyQt5.QtPositioning" 101 ; 102 103 meta = with lib; { 104 description = "Python bindings for Qt5"; 105 homepage = "https://riverbankcomputing.com/"; 106 license = licenses.gpl3Only; 107 platforms = platforms.mesaPlatforms; 108 maintainers = with maintainers; [ sander ]; 109 }; 110}