From f95647d1f6524a4411d89bc2f8e13851b6082ee9 Mon Sep 17 00:00:00 2001 From: Nicolas Benes Date: Tue, 28 Mar 2023 23:38:00 +0200 Subject: [PATCH 1/5] 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 { From 82070ce6fd7b96e9581551d26e9d205d144be4eb Mon Sep 17 00:00:00 2001 From: Nicolas Benes Date: Wed, 29 Mar 2023 01:50:01 +0200 Subject: [PATCH 2/5] python3Packages.pyqt3d: init at 5.15.6 --- .../python-modules/pyqt3d/default.nix | 77 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 5 ++ 2 files changed, 82 insertions(+) create mode 100644 pkgs/development/python-modules/pyqt3d/default.nix diff --git a/pkgs/development/python-modules/pyqt3d/default.nix b/pkgs/development/python-modules/pyqt3d/default.nix new file mode 100644 index 000000000000..c6129a08680e --- /dev/null +++ b/pkgs/development/python-modules/pyqt3d/default.nix @@ -0,0 +1,77 @@ +{ lib +, stdenv +, buildPythonPackage +, fetchPypi +, pyqt5 +, pyqt-builder +, python +, pythonOlder +, qt3d +, setuptools +, sip +}: + +buildPythonPackage rec { + pname = "pyqt3d"; + version = "5.15.6"; + format = "pyproject"; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + pname = "PyQt3D"; + inherit version; + hash = "sha256-fWxtVc2PwiGzE8mVwPhymjdxFJJvA3f46QEdRevziBw="; + }; + + 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 + qt3d + setuptools + pyqt-builder + ]; + + buildInputs = [ + qt3d + ]; + + propagatedBuildInputs = [ + pyqt5 + ]; + + dontConfigure = true; + + # has no tests + doCheck = false; + + pythonImportsCheck = [ + "PyQt5.Qt3DCore" + ]; + + meta = with lib; { + description = "Python bindings for the Qt 3D framework"; + 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 a027439e6912..32e8b1416c8c 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 { }; + pyqt3d = pkgs.libsForQt5.callPackage ../development/python-modules/pyqt3d { + inherit (self) buildPythonPackage pyqt5 pyqt-builder python pythonOlder + setuptools sip; + }; + pyqtchart = pkgs.libsForQt5.callPackage ../development/python-modules/pyqtchart { inherit (self) buildPythonPackage pyqt5 pyqt-builder python pythonOlder setuptools sip; From de21e91ff9b48480b382f2787e3769b86f190efb Mon Sep 17 00:00:00 2001 From: Nicolas Benes Date: Fri, 31 Mar 2023 23:48:57 +0200 Subject: [PATCH 3/5] 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 { From c856aad7728c715153bbf2ecade6b66d80067a48 Mon Sep 17 00:00:00 2001 From: Nicolas Benes Date: Sat, 1 Apr 2023 00:54:39 +0200 Subject: [PATCH 4/5] python3Packages.pyqt5: add QtSerialPort --- pkgs/development/python-modules/pyqt/5.x.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix index f43038fac296..c24d9f0870f1 100644 --- a/pkgs/development/python-modules/pyqt/5.x.nix +++ b/pkgs/development/python-modules/pyqt/5.x.nix @@ -17,6 +17,7 @@ , withWebKit ? false , withWebSockets ? false , withLocation ? false +, withSerialPort ? false }: buildPythonPackage rec { @@ -86,6 +87,7 @@ buildPythonPackage rec { ++ lib.optional withWebKit qtwebkit ++ lib.optional withWebSockets qtwebsockets ++ lib.optional withLocation qtlocation + ++ lib.optional withSerialPort qtserialport ; buildInputs = with libsForQt5; [ @@ -99,6 +101,7 @@ buildPythonPackage rec { ++ lib.optional withWebKit qtwebkit ++ lib.optional withWebSockets qtwebsockets ++ lib.optional withLocation qtlocation + ++ lib.optional withSerialPort qtserialport ; propagatedBuildInputs = [ @@ -130,6 +133,7 @@ buildPythonPackage rec { ++ lib.optional withMultimedia "PyQt5.QtMultimedia" ++ lib.optional withConnectivity "PyQt5.QtBluetooth" ++ lib.optional withLocation "PyQt5.QtPositioning" + ++ lib.optional withSerialPort "PyQt5.QtSerialPort" ; meta = with lib; { From dff0b1b4084c64f87a369daddcaee9a12733f05d Mon Sep 17 00:00:00 2001 From: Nicolas Benes Date: Sat, 1 Apr 2023 01:05:04 +0200 Subject: [PATCH 5/5] python3Packages.pyqt5: add QtDesigner --- pkgs/development/python-modules/pyqt/5.x.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix index c24d9f0870f1..6bb268d21995 100644 --- a/pkgs/development/python-modules/pyqt/5.x.nix +++ b/pkgs/development/python-modules/pyqt/5.x.nix @@ -18,6 +18,7 @@ , withWebSockets ? false , withLocation ? false , withSerialPort ? false +, withTools ? false }: buildPythonPackage rec { @@ -88,6 +89,7 @@ buildPythonPackage rec { ++ lib.optional withWebSockets qtwebsockets ++ lib.optional withLocation qtlocation ++ lib.optional withSerialPort qtserialport + ++ lib.optional withTools qttools ; buildInputs = with libsForQt5; [ @@ -102,6 +104,7 @@ buildPythonPackage rec { ++ lib.optional withWebSockets qtwebsockets ++ lib.optional withLocation qtlocation ++ lib.optional withSerialPort qtserialport + ++ lib.optional withTools qttools ; propagatedBuildInputs = [ @@ -134,6 +137,7 @@ buildPythonPackage rec { ++ lib.optional withConnectivity "PyQt5.QtBluetooth" ++ lib.optional withLocation "PyQt5.QtPositioning" ++ lib.optional withSerialPort "PyQt5.QtSerialPort" + ++ lib.optional withTools "PyQt5.QtDesigner" ; meta = with lib; {