From de21e91ff9b48480b382f2787e3769b86f190efb Mon Sep 17 00:00:00 2001 From: Nicolas Benes Date: Fri, 31 Mar 2023 23:48:57 +0200 Subject: [PATCH] python3Packages.pyqtdatavisualization: init at 5.15.5 --- .../pyqtdatavisualization/default.nix | 77 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 5 ++ 2 files changed, 82 insertions(+) create mode 100644 pkgs/development/python-modules/pyqtdatavisualization/default.nix diff --git a/pkgs/development/python-modules/pyqtdatavisualization/default.nix b/pkgs/development/python-modules/pyqtdatavisualization/default.nix new file mode 100644 index 000000000000..1561e9d4be51 --- /dev/null +++ b/pkgs/development/python-modules/pyqtdatavisualization/default.nix @@ -0,0 +1,77 @@ +{ lib +, stdenv +, buildPythonPackage +, fetchPypi +, pyqt5 +, pyqt-builder +, python +, pythonOlder +, qtdatavis3d +, setuptools +, sip +}: + +buildPythonPackage rec { + pname = "pyqtdatavisualization"; + version = "5.15.5"; + format = "pyproject"; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + pname = "PyQtDataVisualization"; + inherit version; + hash = "sha256-iSf496pwhX7wDFHj379vg92fOFX0FuDVMVknYcu53H8="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace "[tool.sip.project]" "[tool.sip.project]''\nsip-include-dirs = [\"${pyqt5}/${python.sitePackages}/PyQt5/bindings\"]" + ''; + + outputs = [ "out" "dev" ]; + + enableParallelBuilding = true; + # HACK: paralellize compilation of make calls within pyqt's setup.py + # pkgs/stdenv/generic/setup.sh doesn't set this for us because + # make gets called by python code and not its build phase + # format=pyproject means the pip-build-hook hook gets used to build this project + # pkgs/development/interpreters/python/hooks/pip-build-hook.sh + # does not use the enableParallelBuilding flag + preBuild = '' + export MAKEFLAGS+="''${enableParallelBuilding:+-j$NIX_BUILD_CORES}" + ''; + + dontWrapQtApps = true; + + nativeBuildInputs = [ + sip + qtdatavis3d + setuptools + pyqt-builder + ]; + + buildInputs = [ + qtdatavis3d + ]; + + propagatedBuildInputs = [ + pyqt5 + ]; + + dontConfigure = true; + + # has no tests + doCheck = false; + + pythonImportsCheck = [ + "PyQt5.QtDataVisualization" + ]; + + meta = with lib; { + description = "Python bindings for the Qt Data Visualization library"; + homepage = "https://riverbankcomputing.com/"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ panicgh ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 32e8b1416c8c..11438c5fa6e4 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9181,6 +9181,11 @@ self: super: with self; { setuptools sip; }; + pyqtdatavisualization = pkgs.libsForQt5.callPackage ../development/python-modules/pyqtdatavisualization { + inherit (self) buildPythonPackage pyqt5 pyqt-builder python pythonOlder + setuptools sip; + }; + pyqtgraph = callPackage ../development/python-modules/pyqtgraph { }; pyqtwebengine = pkgs.libsForQt5.callPackage ../development/python-modules/pyqtwebengine {