summary refs log tree commit diff
path: root/pkgs/development/python-modules/pyqt5-stubs/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/pyqt5-stubs/default.nix')
-rw-r--r--pkgs/development/python-modules/pyqt5-stubs/default.nix61
1 files changed, 61 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/pyqt5-stubs/default.nix b/pkgs/development/python-modules/pyqt5-stubs/default.nix
new file mode 100644
index 00000000000..505c6425397
--- /dev/null
+++ b/pkgs/development/python-modules/pyqt5-stubs/default.nix
@@ -0,0 +1,61 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, pytestCheckHook
+, pyqt5
+, pyqt3d
+, pyqtchart
+, pyqtdatavisualization
+, pyqtwebengine
+}:
+
+buildPythonPackage rec {
+  pname = "PyQt5-stubs";
+  version = "5.15.6.0";
+  format = "setuptools";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "python-qt-tools";
+    repo = "PyQt5-stubs";
+    rev = version;
+    hash = "sha256-qWnvlHnFRy8wbZJ28C0pYqAxod623Epe5z5FZufheDc=";
+  };
+  postPatch = ''
+    # pulls in a dependency to mypy, but we don't want to run linters
+    rm tests/test_stubs.py
+  '' + lib.optionalString (!pyqt5.connectivityEnabled) ''
+    rm tests/qflags/test_QtBluetooth_*
+    rm tests/qflags/test_QtNfc_*
+  '' + lib.optionalString (!pyqt5.locationEnabled) ''
+    rm tests/qflags/test_QtLocation_*
+    rm tests/qflags/test_QtPositioning_*
+  '' + lib.optionalString (!pyqt5.multimediaEnabled) ''
+    rm tests/qflags/test_QtMultimedia_*
+  '' + lib.optionalString (!pyqt5.serialPortEnabled) ''
+    rm tests/qflags/test_QtSerialPort_*
+  '' + lib.optionalString (!pyqt5.toolsEnabled) ''
+    rm tests/qflags/test_QtDesigner_*
+  '';
+
+  pythonImportsCheck = [
+    "PyQt5-stubs"
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pyqt5
+    pyqt3d
+    pyqtchart
+    pyqtdatavisualization
+    pyqtwebengine
+  ];
+
+  meta = with lib; {
+    description = "Stubs for PyQt5 ";
+    homepage = "https://github.com/python-qt-tools/PyQt5-stubs";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ _999eagle ];
+  };
+}