Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / pyqtchart / default.nix
blob3f95fe791574ccb34b485892ab8ed8adc3263e4d
1 { lib
2 , stdenv
3 , buildPythonPackage
4 , fetchPypi
5 , pyqt5
6 , pyqt-builder
7 , python
8 , pythonOlder
9 , qtcharts
10 , setuptools
11 , sip
14 buildPythonPackage rec {
15   pname = "pyqtchart";
16   version = "5.15.6";
17   format = "pyproject";
19   disabled = pythonOlder "3.7";
21   src = fetchPypi {
22     pname = "PyQtChart";
23     inherit version;
24     hash = "sha256-JpF5b+kqKUphdZKlxcNeeF3JH3dZ3vnrItp532N2Izk=";
25   };
27   postPatch = ''
28     substituteInPlace pyproject.toml \
29       --replace "[tool.sip.project]" "[tool.sip.project]''\nsip-include-dirs = [\"${pyqt5}/${python.sitePackages}/PyQt5/bindings\"]"
30   '';
32   outputs = [ "out" "dev" ];
34   enableParallelBuilding = true;
35   # HACK: paralellize compilation of make calls within pyqt's setup.py
36   # pkgs/stdenv/generic/setup.sh doesn't set this for us because
37   # make gets called by python code and not its build phase
38   # format=pyproject means the pip-build-hook hook gets used to build this project
39   # pkgs/development/interpreters/python/hooks/pip-build-hook.sh
40   # does not use the enableParallelBuilding flag
41   preBuild = ''
42     export MAKEFLAGS+="''${enableParallelBuilding:+-j$NIX_BUILD_CORES}"
43   '';
45   dontWrapQtApps = true;
47   nativeBuildInputs = [
48     sip
49     qtcharts
50     setuptools
51     pyqt-builder
52   ];
54   buildInputs = [
55     qtcharts
56   ];
58   propagatedBuildInputs = [
59     pyqt5
60   ];
62   dontConfigure = true;
64   # has no tests
65   doCheck = false;
67   pythonImportsCheck = [
68     "PyQt5.QtChart"
69   ];
71   meta = with lib; {
72     description = "Python bindings for the Qt Charts library";
73     homepage = "https://riverbankcomputing.com/";
74     license = licenses.gpl3Only;
75     maintainers = with maintainers; [ panicgh ];
76   };