From f95647d1f6524a4411d89bc2f8e13851b6082ee9 Mon Sep 17 00:00:00 2001 From: Nicolas Benes Date: Tue, 28 Mar 2023 23:38:00 +0200 Subject: [PATCH] python3Packages.pyqtchart: init at 5.15.6 --- .../python-modules/pyqtchart/default.nix | 77 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 5 ++ 2 files changed, 82 insertions(+) create mode 100644 pkgs/development/python-modules/pyqtchart/default.nix diff --git a/pkgs/development/python-modules/pyqtchart/default.nix b/pkgs/development/python-modules/pyqtchart/default.nix new file mode 100644 index 000000000000..3f95fe791574 --- /dev/null +++ b/pkgs/development/python-modules/pyqtchart/default.nix @@ -0,0 +1,77 @@ +{ lib +, stdenv +, buildPythonPackage +, fetchPypi +, pyqt5 +, pyqt-builder +, python +, pythonOlder +, qtcharts +, setuptools +, sip +}: + +buildPythonPackage rec { + pname = "pyqtchart"; + version = "5.15.6"; + format = "pyproject"; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + pname = "PyQtChart"; + inherit version; + hash = "sha256-JpF5b+kqKUphdZKlxcNeeF3JH3dZ3vnrItp532N2Izk="; + }; + + 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 + qtcharts + setuptools + pyqt-builder + ]; + + buildInputs = [ + qtcharts + ]; + + propagatedBuildInputs = [ + pyqt5 + ]; + + dontConfigure = true; + + # has no tests + doCheck = false; + + pythonImportsCheck = [ + "PyQt5.QtChart" + ]; + + meta = with lib; { + description = "Python bindings for the Qt Charts 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 c394e42aada2..a027439e6912 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9171,6 +9171,11 @@ self: super: with self; { pyqt6-webengine = callPackage ../development/python-modules/pyqt6-webengine.nix { }; + pyqtchart = pkgs.libsForQt5.callPackage ../development/python-modules/pyqtchart { + inherit (self) buildPythonPackage pyqt5 pyqt-builder python pythonOlder + setuptools sip; + }; + pyqtgraph = callPackage ../development/python-modules/pyqtgraph { }; pyqtwebengine = pkgs.libsForQt5.callPackage ../development/python-modules/pyqtwebengine {