From 7ed55b5ea09d1242a5fd63f868d105e050b2c41c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20S=C3=A1nchez=20Mu=C3=B1oz?= Date: Sun, 16 May 2021 19:19:44 +0200 Subject: [PATCH 01/19] python3Packages.sip: 5.5.0 -> 6.1.1 --- pkgs/development/python-modules/sip/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/sip/default.nix b/pkgs/development/python-modules/sip/default.nix index c15589b77bc..c7dcfb6f3c2 100644 --- a/pkgs/development/python-modules/sip/default.nix +++ b/pkgs/development/python-modules/sip/default.nix @@ -2,12 +2,12 @@ buildPythonPackage rec { pname = "sip"; - version = "5.5.0"; + version = "6.1.1"; src = fetchPypi { pname = "sip"; inherit version; - sha256 = "1idaivamp1jvbbai9yzv471c62xbqxhaawccvskaizihkd0lq0jx"; + sha256 = "083ykzg7zbvrfrg3ram2vx93zrmhpm817kf9bkhw8r6pzkr5mljj"; }; propagatedBuildInputs = [ packaging toml ]; From 6bea03ffc39d6669ff50eb85731210b865204722 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20S=C3=A1nchez=20Mu=C3=B1oz?= Date: Mon, 17 May 2021 00:38:20 +0200 Subject: [PATCH 02/19] python3Packages.pyqt5: build using `pyproject` Required to use sip 6 --- pkgs/development/python-modules/pyqt/5.x.nix | 10 +++++--- .../pyqt5-fix-dbus-mainloop-support.patch | 24 +++++++++++++------ 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix index 2671b27a630..4d184a31bb1 100644 --- a/pkgs/development/python-modules/pyqt/5.x.nix +++ b/pkgs/development/python-modules/pyqt/5.x.nix @@ -13,7 +13,7 @@ let - inherit (pythonPackages) buildPythonPackage python isPy3k dbus-python enum34; + inherit (pythonPackages) buildPythonPackage python isPy3k dbus-python enum34 pyqt-builder; sip = if isPy3k then pythonPackages.sip @@ -48,7 +48,7 @@ let in buildPythonPackage rec { pname = "PyQt5"; version = "5.15.2"; - format = "other"; + format = if isPy3k then "pyproject" else "other"; src = pythonPackages.fetchPypi { inherit pname version; @@ -84,6 +84,7 @@ in buildPythonPackage rec { ++ lib.optional withConnectivity qtconnectivity ++ lib.optional withWebKit qtwebkit ++ lib.optional withWebSockets qtwebsockets + ++ lib.optional isPy3k pyqt-builder ; propagatedBuildInputs = [ @@ -91,7 +92,7 @@ in buildPythonPackage rec { ] ++ (if isPy3k then [ pyqt5_sip ] else [ sip enum34 ]); patches = [ - # Fix some wrong assumptions by ./configure.py + # Fix some wrong assumptions by ./configure.py and ./project.py # TODO: figure out how to send this upstream ./pyqt5-fix-dbus-mainloop-support.patch ]; @@ -103,6 +104,9 @@ in buildPythonPackage rec { WebSocketsEnabled = withWebSockets; }; + # Configure only needed when building with sip 4 (python 2) + dontConfigure = isPy3k; + configurePhase = '' runHook preConfigure diff --git a/pkgs/development/python-modules/pyqt/pyqt5-fix-dbus-mainloop-support.patch b/pkgs/development/python-modules/pyqt/pyqt5-fix-dbus-mainloop-support.patch index faa36fa1913..2f559dcfe6a 100644 --- a/pkgs/development/python-modules/pyqt/pyqt5-fix-dbus-mainloop-support.patch +++ b/pkgs/development/python-modules/pyqt/pyqt5-fix-dbus-mainloop-support.patch @@ -21,7 +21,7 @@ so I have decided to solve this with an extra configure flag. 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/configure.py b/configure.py -index a3450ca3..440d90a2 100644 +index c6663e4..65e7da7 100644 --- a/configure.py +++ b/configure.py @@ -905,6 +905,9 @@ class TargetConfiguration: @@ -34,7 +34,7 @@ index a3450ca3..440d90a2 100644 if opts.pyuicinterpreter is not None: self.pyuic_interpreter = opts.pyuicinterpreter -@@ -1184,6 +1187,11 @@ def create_optparser(target_config): +@@ -1191,6 +1194,11 @@ def create_optparser(target_config): metavar="DIR", help="the directory containing the dbus/dbus-python.h header is " "DIR [default: supplied by pkg-config]") @@ -46,7 +46,7 @@ index a3450ca3..440d90a2 100644 p.add_option_group(g) # Installation. -@@ -2149,7 +2157,7 @@ def check_dbus(target_config, verbose): +@@ -2277,7 +2285,7 @@ def check_dbus(target_config, verbose): inform("Checking to see if the dbus support module should be built...") @@ -55,7 +55,7 @@ index a3450ca3..440d90a2 100644 if verbose: sys.stdout.write(cmd + "\n") -@@ -2178,7 +2186,8 @@ def check_dbus(target_config, verbose): +@@ -2307,7 +2315,8 @@ def check_dbus(target_config, verbose): inform("The Python dbus module doesn't seem to be installed.") return @@ -65,6 +65,16 @@ index a3450ca3..440d90a2 100644 # Try and find dbus-python.h. We don't use pkg-config because it is broken # for dbus-python (at least for versions up to and including v0.81.0). --- -2.18.0 - +diff --git a/project.py b/project.py +index fe9fbce..9ae1ca1 100644 +--- a/project.py ++++ b/project.py +@@ -261,7 +261,7 @@ del find_qt + dbus_lib_dirs = [] + dbus_libs = [] + +- args = ['pkg-config', '--cflags-only-I', '--libs dbus-1'] ++ args = ['pkg-config', '--cflags-only-I', '--libs dbus-1', 'dbus-python'] + + for line in self.read_command_pipe(args, fatal=False): + for flag in line.strip().split(): From 6c9f303ff1652a3fbdf330ac35f8d1335433ee87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20S=C3=A1nchez=20Mu=C3=B1oz?= Date: Mon, 26 Apr 2021 17:19:00 +0200 Subject: [PATCH 03/19] pythonPackages.pyqt5: 5.15.2 -> 5.15.4 --- pkgs/development/python-modules/pyqt/5.x.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix index 4d184a31bb1..b58f1f6e642 100644 --- a/pkgs/development/python-modules/pyqt/5.x.nix +++ b/pkgs/development/python-modules/pyqt/5.x.nix @@ -33,11 +33,11 @@ let pyqt5_sip = buildPythonPackage rec { pname = "PyQt5_sip"; - version = "12.8.1"; + version = "12.9.0"; src = pythonPackages.fetchPypi { inherit pname version; - sha256 = "30e944db9abee9cc757aea16906d4198129558533eb7fadbe48c5da2bd18e0bd"; + sha256 = "0cmfxb7igahxy74qkq199l6zdxrr75bnxris42fww3ibgjflir6k"; }; # There is no test code and the check phase fails with: @@ -47,12 +47,12 @@ let in buildPythonPackage rec { pname = "PyQt5"; - version = "5.15.2"; + version = "5.15.4"; format = if isPy3k then "pyproject" else "other"; src = pythonPackages.fetchPypi { inherit pname version; - sha256 = "1z74295i69cha52llsqffzhb5zz7qnbjc64h8qg21l91jgf0harp"; + sha256 = "1gp5jz71nmg58zsm1h4vzhcphf36rbz37qgsfnzal76i1mz5js9a"; }; outputs = [ "out" "dev" ]; From 616817ea82f0e92a6a3fd1388e64de64e43c4baf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20S=C3=A1nchez=20Mu=C3=B1oz?= Date: Mon, 17 May 2021 00:49:41 +0200 Subject: [PATCH 04/19] python3Packages.pyqt-builder: 1.6.0 -> 1.10.1 --- pkgs/development/python-modules/pyqt-builder/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyqt-builder/default.nix b/pkgs/development/python-modules/pyqt-builder/default.nix index d371fd7bcee..b923f8261fb 100644 --- a/pkgs/development/python-modules/pyqt-builder/default.nix +++ b/pkgs/development/python-modules/pyqt-builder/default.nix @@ -2,12 +2,12 @@ buildPythonPackage rec { pname = "pyqt-builder"; - version = "1.6.0"; + version = "1.10.1"; src = fetchPypi { pname = "PyQt-builder"; inherit version; - sha256 = "0g51yak53zzjs4gpq65i01cmpz7w8cjny9wfyxlgr2vi0wag107v"; + sha256 = "05vyckg4pq95s3b23drhd24sjwzic1k36nwckxz5jc83mixhqywn"; }; propagatedBuildInputs = [ packaging sip ]; From 245616b36a31ac82b772487241c0fd64e2d9f353 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20S=C3=A1nchez=20Mu=C3=B1oz?= Date: Mon, 17 May 2021 11:21:56 +0200 Subject: [PATCH 05/19] python3Packages.qscintilla-qt5: fix PyQt5 SIP path --- .../python-modules/qscintilla-qt5/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/qscintilla-qt5/default.nix b/pkgs/development/python-modules/qscintilla-qt5/default.nix index 05c12c1c62a..e8e36230347 100644 --- a/pkgs/development/python-modules/qscintilla-qt5/default.nix +++ b/pkgs/development/python-modules/qscintilla-qt5/default.nix @@ -4,7 +4,7 @@ , qtbase }: with pythonPackages; -buildPythonPackage { +buildPythonPackage rec { pname = "qscintilla"; version = qscintilla.version; src = qscintilla.src; @@ -23,6 +23,11 @@ buildPythonPackage { "'$out/${python.sitePackages}'" ''; + pyqt5_sip_dir = if isPy3k then + "${pyqt5}/${python.sitePackages}/PyQt5/bindings" + else + "${pyqt5}/share/sip/PyQt5"; + preConfigure = '' # configure.py will look for this folder mkdir -p $out/share/sip/PyQt5 @@ -38,7 +43,7 @@ buildPythonPackage { --qsci-incdir=${qscintilla}/include \ --qsci-featuresdir=${qscintilla}/mkspecs/features \ --qsci-libdir=${qscintilla}/lib \ - --pyqt-sipdir=${pyqt5}/share/sip/PyQt5 \ + --pyqt-sipdir=${pyqt5_sip_dir} \ --qsci-sipdir=$out/share/sip/PyQt5 \ --sip-incdir=${sip_4}/include ''; From e81bba8f5586114816003066358b2a83627e5987 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20S=C3=A1nchez=20Mu=C3=B1oz?= Date: Mon, 17 May 2021 11:30:30 +0200 Subject: [PATCH 06/19] python3Packages.pyqtwebengine: build using `pyproject` --- .../python-modules/pyqtwebengine/default.nix | 33 ++++++++++--------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/pkgs/development/python-modules/pyqtwebengine/default.nix b/pkgs/development/python-modules/pyqtwebengine/default.nix index ce25bc04a13..75a3e3eb934 100644 --- a/pkgs/development/python-modules/pyqtwebengine/default.nix +++ b/pkgs/development/python-modules/pyqtwebengine/default.nix @@ -5,7 +5,7 @@ let - inherit (pythonPackages) buildPythonPackage python isPy3k pyqt5 enum34; + inherit (pythonPackages) buildPythonPackage python isPy3k pyqt5 enum34 pyqt-builder; inherit (pyqt5) sip; # source: https://www.riverbankcomputing.com/pipermail/pyqt/2020-June/042985.html patches = lib.optional (lib.hasPrefix "5.14" pyqt5.version) @@ -15,7 +15,7 @@ let in buildPythonPackage rec { pname = "PyQtWebEngine"; version = "5.15.4"; - format = "other"; + format = if isPy3k then "pyproject" else "other"; src = pythonPackages.fetchPypi { inherit pname version; @@ -24,6 +24,11 @@ in buildPythonPackage rec { inherit patches; + postPatch = lib.optionalString isPy3k '' + substituteInPlace pyproject.toml \ + --replace "[tool.sip.project]" "[tool.sip.project]''\nsip-include-dirs = [\"${pyqt5}/${python.sitePackages}/PyQt5/bindings\"]" + ''; + outputs = [ "out" "dev" ]; nativeBuildInputs = [ @@ -33,7 +38,7 @@ in buildPythonPackage rec { qtbase qtsvg qtwebengine - ]; + ] ++ lib.optional isPy3k pyqt-builder; buildInputs = [ sip @@ -47,6 +52,9 @@ in buildPythonPackage rec { dontWrapQtApps = true; + # Configure only needed when building with sip 4 (python 2) + dontConfigure = isPy3k; + configurePhase = '' runHook preConfigure @@ -65,7 +73,7 @@ in buildPythonPackage rec { runHook postConfigure ''; - postInstall = '' + postInstall = lib.optionalString (!isPy3k) '' # Let's make it a namespace package cat << EOF > $out/${python.sitePackages}/PyQt5/__init__.py from pkgutil import extend_path @@ -73,18 +81,13 @@ in buildPythonPackage rec { EOF ''; - installCheckPhase = let - modules = [ - "PyQt5.QtWebEngine" - "PyQt5.QtWebEngineWidgets" - ]; - imports = lib.concatMapStrings (module: "import ${module};") modules; - in '' - echo "Checking whether modules can be imported..." - PYTHONPATH=$PYTHONPATH:$out/${python.sitePackages} ${python.interpreter} -c "${imports}" - ''; + # Checked using pythonImportsCheck + doCheck = false; - doCheck = true; + pythonImportsCheck = [ + "PyQt5.QtWebEngine" + "PyQt5.QtWebEngineWidgets" + ]; enableParallelBuilding = true; From d4c32e1684990d7e22bbba6fb0faa514e7ce9d81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20S=C3=A1nchez=20Mu=C3=B1oz?= Date: Mon, 17 May 2021 15:51:05 +0200 Subject: [PATCH 07/19] calibre: fix PyQt5 SIP path --- pkgs/applications/misc/calibre/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index 40951d5f2ab..0ee374ac695 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/applications/misc/calibre/default.nix @@ -41,7 +41,7 @@ mkDerivation rec { ++ lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch; prePatch = '' - sed -i "s@\[tool.sip.project\]@[tool.sip.project]\nsip-include-dirs = [\"${python3Packages.pyqt5}/share/sip/PyQt5\"]@g" \ + sed -i "s@\[tool.sip.project\]@[tool.sip.project]\nsip-include-dirs = [\"${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings\"]@g" \ setup/build.py sed -i "s/\[tool.sip.bindings.pictureflow\]/[tool.sip.bindings.pictureflow]\ntags = [\"${python3Packages.sip.platform_tag}\"]/g" \ setup/build.py From 7079b4c050719debb8da9da95df6a569afe32137 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20S=C3=A1nchez=20Mu=C3=B1oz?= Date: Mon, 17 May 2021 16:02:41 +0200 Subject: [PATCH 08/19] krita: fix PyQt5 SIP path --- pkgs/applications/graphics/krita/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/krita/default.nix b/pkgs/applications/graphics/krita/default.nix index fc6c1d55e70..5ca0f1df8ea 100644 --- a/pkgs/applications/graphics/krita/default.nix +++ b/pkgs/applications/graphics/krita/default.nix @@ -32,8 +32,8 @@ mkDerivation rec { ++ lib.optional stdenv.cc.isGNU "-Wno-deprecated-copy"; cmakeFlags = [ - "-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/share/sip/PyQt5" - "-DPYQT_SIP_DIR_OVERRIDE=${python3Packages.pyqt5}/share/sip/PyQt5" + "-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings" + "-DPYQT_SIP_DIR_OVERRIDE=${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings" "-DCMAKE_BUILD_TYPE=RelWithDebInfo" ]; From 3626f2663bec349edeb7b273735b3fc9d37b0cc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20S=C3=A1nchez=20Mu=C3=B1oz?= Date: Mon, 17 May 2021 16:35:37 +0200 Subject: [PATCH 09/19] qgis: fix PyQt5 SIP path --- pkgs/applications/gis/qgis/unwrapped.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/gis/qgis/unwrapped.nix b/pkgs/applications/gis/qgis/unwrapped.nix index 5b972ae5017..2ebe0ac253f 100644 --- a/pkgs/applications/gis/qgis/unwrapped.nix +++ b/pkgs/applications/gis/qgis/unwrapped.nix @@ -77,12 +77,12 @@ in mkDerivation rec { # build to use PYQT5_SIP_DIR consistently. postPatch = '' substituteInPlace cmake/FindPyQt5.py \ - --replace 'sip_dir = cfg.default_sip_dir' 'sip_dir = "${python3Packages.pyqt5}/share/sip/PyQt5"' + --replace 'sip_dir = cfg.default_sip_dir' 'sip_dir = "${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings"' ''; cmakeFlags = [ "-DCMAKE_SKIP_BUILD_RPATH=OFF" - "-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/share/sip/PyQt5" + "-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings" "-DQSCI_SIP_DIR=${python3Packages.qscintilla-qt5}/share/sip/PyQt5" ] ++ lib.optional (!withWebKit) "-DWITH_QTWEBKIT=OFF" ++ lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}"; From 3f667821252ee6baaa38868c9fea95136ffe91b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20S=C3=A1nchez=20Mu=C3=B1oz?= Date: Mon, 17 May 2021 17:27:26 +0200 Subject: [PATCH 10/19] pythonPackages.pyqtwebengine: disable python 2 support Nothing depends on it and simplifies the definition significantly --- .../python-modules/pyqtwebengine/default.nix | 53 ++++--------------- 1 file changed, 10 insertions(+), 43 deletions(-) diff --git a/pkgs/development/python-modules/pyqtwebengine/default.nix b/pkgs/development/python-modules/pyqtwebengine/default.nix index 75a3e3eb934..f59694876cc 100644 --- a/pkgs/development/python-modules/pyqtwebengine/default.nix +++ b/pkgs/development/python-modules/pyqtwebengine/default.nix @@ -4,27 +4,20 @@ }: let - - inherit (pythonPackages) buildPythonPackage python isPy3k pyqt5 enum34 pyqt-builder; - inherit (pyqt5) sip; - # source: https://www.riverbankcomputing.com/pipermail/pyqt/2020-June/042985.html - patches = lib.optional (lib.hasPrefix "5.14" pyqt5.version) - [ ./fix-build-with-qt-514.patch ] - ; - + inherit (pythonPackages) buildPythonPackage python isPy27 pyqt5 enum34 sip pyqt-builder; in buildPythonPackage rec { pname = "PyQtWebEngine"; version = "5.15.4"; - format = if isPy3k then "pyproject" else "other"; + format = "pyproject"; + + disabled = isPy27; src = pythonPackages.fetchPypi { inherit pname version; sha256 = "06fc35hzg346a9c86dk7vzm1fakkgzn5l52jfq3bix3587sjip6f"; }; - inherit patches; - - postPatch = lib.optionalString isPy3k '' + postPatch = '' substituteInPlace pyproject.toml \ --replace "[tool.sip.project]" "[tool.sip.project]''\nsip-include-dirs = [\"${pyqt5}/${python.sitePackages}/PyQt5/bindings\"]" ''; @@ -38,7 +31,8 @@ in buildPythonPackage rec { qtbase qtsvg qtwebengine - ] ++ lib.optional isPy3k pyqt-builder; + pyqt-builder + ]; buildInputs = [ sip @@ -47,39 +41,12 @@ in buildPythonPackage rec { qtwebengine ]; - propagatedBuildInputs = [ pyqt5 ] - ++ lib.optional (!isPy3k) enum34; + propagatedBuildInputs = [ pyqt5 ]; dontWrapQtApps = true; - # Configure only needed when building with sip 4 (python 2) - dontConfigure = isPy3k; - - configurePhase = '' - runHook preConfigure - - mkdir -p "$out/share/sip/PyQt5" - - # FIXME: Without --no-dist-info, I get - # unable to create /nix/store/yv4pzx3lxk3lscq0pw3hqzs7k4x76xsm-python3-3.7.2/lib/python3.7/site-packages/PyQtWebEngine-5.12.dist-info - ${python.executable} configure.py -w \ - --destdir="$out/${python.sitePackages}/PyQt5" \ - --no-dist-info \ - --apidir="$out/api/${python.libPrefix}" \ - --sipdir="$out/share/sip/PyQt5" \ - --pyqt-sipdir="${pyqt5}/share/sip/PyQt5" \ - --stubsdir="$out/${python.sitePackages}/PyQt5" - - runHook postConfigure - ''; - - postInstall = lib.optionalString (!isPy3k) '' - # Let's make it a namespace package - cat << EOF > $out/${python.sitePackages}/PyQt5/__init__.py - from pkgutil import extend_path - __path__ = extend_path(__path__, __name__) - EOF - ''; + # Avoid running qmake, which is in nativeBuildInputs + dontConfigure = true; # Checked using pythonImportsCheck doCheck = false; From 38034013e3832460860e6ea63dc074797a954c92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20S=C3=A1nchez=20Mu=C3=B1oz?= Date: Tue, 18 May 2021 19:36:30 +0200 Subject: [PATCH 11/19] pythonPackages.pyqt-builder: add eduardosm as maintainer --- pkgs/development/python-modules/pyqt-builder/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/pyqt-builder/default.nix b/pkgs/development/python-modules/pyqt-builder/default.nix index b923f8261fb..d116ed275dc 100644 --- a/pkgs/development/python-modules/pyqt-builder/default.nix +++ b/pkgs/development/python-modules/pyqt-builder/default.nix @@ -21,5 +21,6 @@ buildPythonPackage rec { description = "PEP 517 compliant build system for PyQt"; homepage = "https://pypi.org/project/PyQt-builder/"; license = licenses.gpl3Only; + maintainers = with maintainers; [ eduardosm ]; }; } From d6e728efc21a8658353d87542957a8b1a1caf05a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20S=C3=A1nchez=20Mu=C3=B1oz?= Date: Tue, 18 May 2021 19:58:36 +0200 Subject: [PATCH 12/19] pythonPackages.qscintilla-qt5: add pythonImportsCheck and disable Python 2 support --- .../python-modules/qscintilla-qt5/default.nix | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/qscintilla-qt5/default.nix b/pkgs/development/python-modules/qscintilla-qt5/default.nix index e8e36230347..e188314d7fc 100644 --- a/pkgs/development/python-modules/qscintilla-qt5/default.nix +++ b/pkgs/development/python-modules/qscintilla-qt5/default.nix @@ -10,6 +10,8 @@ buildPythonPackage rec { src = qscintilla.src; format = "other"; + disabled = !isPy3k; + nativeBuildInputs = [ sip_4 qtbase ]; buildInputs = [ qscintilla ]; propagatedBuildInputs = [ pyqt5 ]; @@ -23,11 +25,6 @@ buildPythonPackage rec { "'$out/${python.sitePackages}'" ''; - pyqt5_sip_dir = if isPy3k then - "${pyqt5}/${python.sitePackages}/PyQt5/bindings" - else - "${pyqt5}/share/sip/PyQt5"; - preConfigure = '' # configure.py will look for this folder mkdir -p $out/share/sip/PyQt5 @@ -43,11 +40,21 @@ buildPythonPackage rec { --qsci-incdir=${qscintilla}/include \ --qsci-featuresdir=${qscintilla}/mkspecs/features \ --qsci-libdir=${qscintilla}/lib \ - --pyqt-sipdir=${pyqt5_sip_dir} \ + --pyqt-sipdir=${pyqt5}/${python.sitePackages}/PyQt5/bindings \ --qsci-sipdir=$out/share/sip/PyQt5 \ --sip-incdir=${sip_4}/include ''; + postInstall = '' + # Needed by pythonImportsCheck to find the module + export PYTHONPATH="$out/${python.sitePackages}:$PYTHONPATH" + ''; + + # Checked using pythonImportsCheck + doCheck = false; + + pythonImportsCheck = [ "PyQt5.Qsci" ]; + meta = with lib; { description = "A Python binding to QScintilla, Qt based text editing control"; license = licenses.lgpl21Plus; From a1539652494ac9484c1982c6cfe7ed93280dcd0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20S=C3=A1nchez=20Mu=C3=B1oz?= Date: Tue, 18 May 2021 20:50:07 +0200 Subject: [PATCH 13/19] pythonPackages.pyqt5: fix license and homepage --- pkgs/development/python-modules/pyqt/5.x.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix index b58f1f6e642..9b9f7c1078c 100644 --- a/pkgs/development/python-modules/pyqt/5.x.nix +++ b/pkgs/development/python-modules/pyqt/5.x.nix @@ -158,8 +158,8 @@ in buildPythonPackage rec { meta = with lib; { description = "Python bindings for Qt5"; - homepage = "http://www.riverbankcomputing.co.uk"; - license = licenses.gpl3; + homepage = "https://riverbankcomputing.com/"; + license = licenses.gpl3Only; platforms = platforms.mesaPlatforms; maintainers = with maintainers; [ sander ]; }; From f5888e7277f35efd47a5f3d93a3e8fc4126a277d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20S=C3=A1nchez=20Mu=C3=B1oz?= Date: Wed, 9 Jun 2021 15:54:35 +0200 Subject: [PATCH 14/19] pythonPackages.sip{,_4}: update homepage --- pkgs/development/python-modules/sip/4.x.nix | 2 +- pkgs/development/python-modules/sip/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/sip/4.x.nix b/pkgs/development/python-modules/sip/4.x.nix index 5334d119634..5f6a3a5f82f 100644 --- a/pkgs/development/python-modules/sip/4.x.nix +++ b/pkgs/development/python-modules/sip/4.x.nix @@ -36,7 +36,7 @@ buildPythonPackage rec { meta = with lib; { description = "Creates C++ bindings for Python modules"; - homepage = "http://www.riverbankcomputing.co.uk/"; + homepage = "https://riverbankcomputing.com/"; license = licenses.gpl2Plus; maintainers = with maintainers; [ lovek323 sander ]; platforms = platforms.all; diff --git a/pkgs/development/python-modules/sip/default.nix b/pkgs/development/python-modules/sip/default.nix index c7dcfb6f3c2..b3945696b7e 100644 --- a/pkgs/development/python-modules/sip/default.nix +++ b/pkgs/development/python-modules/sip/default.nix @@ -33,7 +33,7 @@ buildPythonPackage rec { meta = with lib; { description = "Creates C++ bindings for Python modules"; - homepage = "http://www.riverbankcomputing.co.uk/"; + homepage = "https://riverbankcomputing.com/"; license = licenses.gpl3Only; maintainers = with maintainers; [ eduardosm ]; }; From 42d9ba907ceae0d90e08cf52fdcc9b16208b81ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20S=C3=A1nchez=20Mu=C3=B1oz?= Date: Wed, 23 Jun 2021 14:32:20 +0200 Subject: [PATCH 15/19] hplip_3_18_5: remove It does not seem to be used anymore and will allow to simplify pyqt5's expression (https://github.com/NixOS/nixpkgs/pull/123378#issuecomment-866786136). --- pkgs/misc/drivers/hplip/3.18.5.nix | 229 ----------------------------- pkgs/top-level/all-packages.nix | 4 - 2 files changed, 233 deletions(-) delete mode 100644 pkgs/misc/drivers/hplip/3.18.5.nix diff --git a/pkgs/misc/drivers/hplip/3.18.5.nix b/pkgs/misc/drivers/hplip/3.18.5.nix deleted file mode 100644 index 3c2f8fa2a08..00000000000 --- a/pkgs/misc/drivers/hplip/3.18.5.nix +++ /dev/null @@ -1,229 +0,0 @@ -{ lib, stdenv, fetchurl, substituteAll -, pkg-config -, cups, zlib, libjpeg, libusb1, python2Packages, sane-backends -, dbus, file, ghostscript, usbutils -, net-snmp, openssl, perl, nettools -, bash, coreutils, util-linux -, withQt5 ? true -, withPlugin ? false -, withStaticPPDInstall ? false -}: - -let - - name = "hplip-${version}"; - version = "3.18.5"; - - src = fetchurl { - url = "mirror://sourceforge/hplip/${name}.tar.gz"; - sha256 = "0xb7ga2wgbwjxsss67mjn2y6fmqsfwzmv11ivvfzhnl36lh22hkb"; - }; - - plugin = fetchurl { - url = "https://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/${name}-plugin.run"; - sha256 = "1jf74jya071zqvwhy9n0c3007pzgcxydkw7qdh4sx70brly81i7p"; - }; - - hplipState = substituteAll { - inherit version; - src = ./hplip.state; - }; - - hplipPlatforms = { - i686-linux = "x86_32"; - x86_64-linux = "x86_64"; - armv6l-linux = "arm32"; - armv7l-linux = "arm32"; - aarch64-linux = "arm64"; - }; - - hplipArch = hplipPlatforms.${stdenv.hostPlatform.system} - or (throw "HPLIP not supported on ${stdenv.hostPlatform.system}"); - - pluginArches = [ "x86_32" "x86_64" "arm32" "arm64" ]; - -in - -assert withPlugin -> builtins.elem hplipArch pluginArches - || throw "HPLIP plugin not supported on ${stdenv.hostPlatform.system}"; - -python2Packages.buildPythonApplication { - inherit name src; - format = "other"; - - buildInputs = [ - libjpeg - cups - libusb1 - sane-backends - dbus - file - ghostscript - net-snmp - openssl - perl - zlib - ]; - - nativeBuildInputs = [ - pkg-config - ]; - - pythonPath = with python2Packages; [ - dbus - pillow - pygobject2 - reportlab - usbutils - sip_4 - ] ++ lib.optionals withQt5 [ - pyqt5 - ]; - - makeWrapperArgs = [ "--prefix" "PATH" ":" "${nettools}/bin" ]; - - prePatch = '' - # HPLIP hardcodes absolute paths everywhere. Nuke from orbit. - find . -type f -exec sed -i \ - -e s,/etc/hp,$out/etc/hp,g \ - -e s,/etc/sane.d,$out/etc/sane.d,g \ - -e s,/usr/include/libusb-1.0,${libusb1.dev}/include/libusb-1.0,g \ - -e s,/usr/share/hal/fdi/preprobe/10osvendor,$out/share/hal/fdi/preprobe/10osvendor,g \ - -e s,/usr/lib/systemd/system,$out/lib/systemd/system,g \ - -e s,/var/lib/hp,$out/var/lib/hp,g \ - -e s,/usr/bin/perl,${perl}/bin/perl,g \ - -e s,/usr/bin/file,${file}/bin/file,g \ - -e s,/usr/bin/gs,${ghostscript}/bin/gs,g \ - -e s,/usr/share/cups/fonts,${ghostscript}/share/ghostscript/fonts,g \ - -e "s,ExecStart=/usr/bin/python /usr/bin/hp-config_usb_printer,ExecStart=$out/bin/hp-config_usb_printer,g" \ - {} + - ''; - - preConfigure = '' - export configureFlags="$configureFlags - --with-hpppddir=$out/share/cups/model/HP - --with-cupsfilterdir=$out/lib/cups/filter - --with-cupsbackenddir=$out/lib/cups/backend - --with-icondir=$out/share/applications - --with-systraydir=$out/xdg/autostart - --with-mimedir=$out/etc/cups - --enable-policykit - ${lib.optionalString withStaticPPDInstall "--enable-cups-ppd-install"} - --disable-qt4 - ${lib.optionalString withQt5 "--enable-qt5"} - " - - export makeFlags=" - halpredir=$out/share/hal/fdi/preprobe/10osvendor - rulesdir=$out/etc/udev/rules.d - policykit_dir=$out/share/polkit-1/actions - policykit_dbus_etcdir=$out/etc/dbus-1/system.d - policykit_dbus_sharedir=$out/share/dbus-1/system-services - hplip_confdir=$out/etc/hp - hplip_statedir=$out/var/lib/hp - " - - # Prevent 'ppdc: Unable to find include file ""' which prevent - # generation of '*.ppd' files. - # This seems to be a 'ppdc' issue when the tool is run in a hermetic sandbox. - # Could not find how to fix the problem in 'ppdc' so this is a workaround. - export CUPS_DATADIR="${cups}/share/cups" - ''; - - enableParallelBuilding = true; - - # - # Running `hp-diagnose_plugin -g` can be used to diagnose - # issues with plugins. - # - postInstall = lib.optionalString withPlugin '' - sh ${plugin} --noexec --keep - cd plugin_tmp - - cp plugin.spec $out/share/hplip/ - - mkdir -p $out/share/hplip/data/firmware - cp *.fw.gz $out/share/hplip/data/firmware - - mkdir -p $out/share/hplip/data/plugins - cp license.txt $out/share/hplip/data/plugins - - mkdir -p $out/share/hplip/prnt/plugins - for plugin in lj hbpl1; do - cp $plugin-${hplipArch}.so $out/share/hplip/prnt/plugins - chmod 0755 $out/share/hplip/prnt/plugins/$plugin-${hplipArch}.so - ln -s $out/share/hplip/prnt/plugins/$plugin-${hplipArch}.so \ - $out/share/hplip/prnt/plugins/$plugin.so - done - - mkdir -p $out/share/hplip/scan/plugins - for plugin in bb_soap bb_marvell bb_soapht bb_escl; do - cp $plugin-${hplipArch}.so $out/share/hplip/scan/plugins - chmod 0755 $out/share/hplip/scan/plugins/$plugin-${hplipArch}.so - ln -s $out/share/hplip/scan/plugins/$plugin-${hplipArch}.so \ - $out/share/hplip/scan/plugins/$plugin.so - done - - mkdir -p $out/share/hplip/fax/plugins - for plugin in fax_marvell; do - cp $plugin-${hplipArch}.so $out/share/hplip/fax/plugins - chmod 0755 $out/share/hplip/fax/plugins/$plugin-${hplipArch}.so - ln -s $out/share/hplip/fax/plugins/$plugin-${hplipArch}.so \ - $out/share/hplip/fax/plugins/$plugin.so - done - - mkdir -p $out/var/lib/hp - cp ${hplipState} $out/var/lib/hp/hplip.state - ''; - - # The installed executables are just symlinks into $out/share/hplip, - # but wrapPythonPrograms ignores symlinks. We cannot replace the Python - # modules in $out/share/hplip with wrapper scripts because they import - # each other as libraries. Instead, we emulate wrapPythonPrograms by - # 1. Calling patchPythonProgram on the original script in $out/share/hplip - # 2. Making our own wrapper pointing directly to the original script. - dontWrapPythonPrograms = true; - preFixup = '' - buildPythonPath "$out $pythonPath" - - for bin in $out/bin/*; do - py=$(readlink -m $bin) - rm $bin - echo "patching \`$py'..." - patchPythonScript "$py" - echo "wrapping \`$bin'..." - makeWrapper "$py" "$bin" \ - --prefix PATH ':' "$program_PATH" \ - --set PYTHONNOUSERSITE "true" \ - $makeWrapperArgs - done - ''; - - # There are some binaries there, which reference gcc-unwrapped otherwise. - stripDebugList = [ - "share/hplip" - ]; - - postFixup = '' - substituteInPlace $out/etc/hp/hplip.conf --replace /usr $out - # Patch udev rules: - # with plugin, they upload firmware to printers, - # without plugin, they complain about the missing plugin. - substituteInPlace $out/etc/udev/rules.d/56-hpmud.rules \ - --replace {,${bash}}/bin/sh \ - --replace /usr/bin/nohup "" \ - --replace {,${util-linux}/bin/}logger \ - --replace {/usr,$out}/bin - ''; - - meta = with lib; { - description = "Print, scan and fax HP drivers for Linux"; - homepage = "https://developers.hp.com/hp-linux-imaging-and-printing"; - downloadPage = "https://sourceforge.net/projects/hplip/files/hplip/"; - license = if withPlugin - then licenses.unfree - else with licenses; [ mit bsd2 gpl2Plus ]; - platforms = [ "i686-linux" "x86_64-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux" ]; - maintainers = with maintainers; [ jgeerds ttuegel ]; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cccdf4210f1..b03b944b37b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -30699,10 +30699,6 @@ in hplipWithPlugin_3_16_11 = hplip_3_16_11.override { withPlugin = true; }; - hplip_3_18_5 = callPackage ../misc/drivers/hplip/3.18.5.nix { }; - - hplipWithPlugin_3_18_5 = hplip_3_18_5.override { withPlugin = true; }; - hyperfine = callPackage ../tools/misc/hyperfine { inherit (darwin.apple_sdk.frameworks) Security; }; From a3e96e616f3b5bd2d1c79de046420a9b847bfcfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20S=C3=A1nchez=20Mu=C3=B1oz?= Date: Wed, 23 Jun 2021 14:37:43 +0200 Subject: [PATCH 16/19] pythonPackages.pyqt5: remove Python 2 support Not used and simplifies the expression. --- pkgs/development/python-modules/pyqt/5.x.nix | 65 +++----------------- 1 file changed, 9 insertions(+), 56 deletions(-) diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix index 9b9f7c1078c..95f2ab4673a 100644 --- a/pkgs/development/python-modules/pyqt/5.x.nix +++ b/pkgs/development/python-modules/pyqt/5.x.nix @@ -13,23 +13,7 @@ let - inherit (pythonPackages) buildPythonPackage python isPy3k dbus-python enum34 pyqt-builder; - - sip = if isPy3k then - pythonPackages.sip - else - (pythonPackages.sip_4.override { sip-module = "PyQt5.sip"; }).overridePythonAttrs(oldAttrs: { - # If we install sip in another folder, then we need to create a __init__.py as well - # if we want to be able to import it with Python 2. - # Python 3 could rely on it being an implicit namespace package, however, - # PyQt5 we made an explicit namespace package so sip should be as well. - postInstall = '' - cat << EOF > $out/${python.sitePackages}/PyQt5/__init__.py - from pkgutil import extend_path - __path__ = extend_path(__path__, __name__) - EOF - ''; - }); + inherit (pythonPackages) buildPythonPackage python isPy27 dbus-python sip pyqt-builder; pyqt5_sip = buildPythonPackage rec { pname = "PyQt5_sip"; @@ -48,7 +32,9 @@ let in buildPythonPackage rec { pname = "PyQt5"; version = "5.15.4"; - format = if isPy3k then "pyproject" else "other"; + format = "pyproject"; + + disabled = isPy27; src = pythonPackages.fetchPypi { inherit pname version; @@ -80,19 +66,20 @@ in buildPythonPackage rec { qtbase qtsvg qtdeclarative + pyqt-builder ] ++ lib.optional withConnectivity qtconnectivity ++ lib.optional withWebKit qtwebkit ++ lib.optional withWebSockets qtwebsockets - ++ lib.optional isPy3k pyqt-builder ; propagatedBuildInputs = [ dbus-python - ] ++ (if isPy3k then [ pyqt5_sip ] else [ sip enum34 ]); + pyqt5_sip + ]; patches = [ - # Fix some wrong assumptions by ./configure.py and ./project.py + # Fix some wrong assumptions by ./project.py # TODO: figure out how to send this upstream ./pyqt5-fix-dbus-mainloop-support.patch ]; @@ -104,39 +91,7 @@ in buildPythonPackage rec { WebSocketsEnabled = withWebSockets; }; - # Configure only needed when building with sip 4 (python 2) - dontConfigure = isPy3k; - - configurePhase = '' - runHook preConfigure - - export PYTHONPATH=$PYTHONPATH:$out/${python.sitePackages} - - ${python.executable} configure.py -w \ - --confirm-license \ - --dbus-moduledir=$out/${python.sitePackages}/dbus/mainloop \ - --no-qml-plugin \ - --bindir=$out/bin \ - --destdir=$out/${python.sitePackages} \ - --stubsdir=$out/${python.sitePackages}/PyQt5 \ - --sipdir=$out/share/sip/PyQt5 \ - --designer-plugindir=$out/plugins/designer - - runHook postConfigure - ''; - - postInstall = lib.optionalString (!isPy3k) '' - ln -s ${sip}/${python.sitePackages}/PyQt5/sip.* $out/${python.sitePackages}/PyQt5/ - for i in $out/bin/*; do - wrapProgram $i --prefix PYTHONPATH : "$PYTHONPATH" - done - - # Let's make it a namespace package - cat << EOF > $out/${python.sitePackages}/PyQt5/__init__.py - from pkgutil import extend_path - __path__ = extend_path(__path__, __name__) - EOF - ''; + dontConfigure = true; # Checked using pythonImportsCheck doCheck = false; @@ -154,8 +109,6 @@ in buildPythonPackage rec { ++ lib.optional withConnectivity "PyQt5.QtConnectivity" ; - enableParallelBuilding = true; - meta = with lib; { description = "Python bindings for Qt5"; homepage = "https://riverbankcomputing.com/"; From 3b6066299d7cf89ebef7027e9d9e974cb24fd3e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20S=C3=A1nchez=20Mu=C3=B1oz?= Date: Thu, 24 Jun 2021 11:29:08 +0200 Subject: [PATCH 17/19] pythonPackages.qscintilla-qt5: do not use `with pythonPackages;` --- pkgs/development/python-modules/qscintilla-qt5/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/qscintilla-qt5/default.nix b/pkgs/development/python-modules/qscintilla-qt5/default.nix index e188314d7fc..70ee4308913 100644 --- a/pkgs/development/python-modules/qscintilla-qt5/default.nix +++ b/pkgs/development/python-modules/qscintilla-qt5/default.nix @@ -3,8 +3,10 @@ , qscintilla , qtbase }: -with pythonPackages; -buildPythonPackage rec { + +let + inherit (pythonPackages) buildPythonPackage isPy3k python sip_4 pyqt5; +in buildPythonPackage rec { pname = "qscintilla"; version = qscintilla.version; src = qscintilla.src; From 52457525adde1b9a80bffd57139b28e7402477b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20S=C3=A1nchez=20Mu=C3=B1oz?= Date: Fri, 25 Jun 2021 20:08:25 +0200 Subject: [PATCH 18/19] veusz: fix PyQt5 sip path and use sip 4 veusz tries to use the `sip` binary, which is no longer available in sip 6 --- pkgs/applications/graphics/veusz/default.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/graphics/veusz/default.nix b/pkgs/applications/graphics/veusz/default.nix index 5c5b1c91709..d8f1ae76a88 100644 --- a/pkgs/applications/graphics/veusz/default.nix +++ b/pkgs/applications/graphics/veusz/default.nix @@ -14,7 +14,7 @@ python3Packages.buildPythonApplication rec { sha256 = "4ClgYwiU21wHDve2q9cItSAVb9hbR2F+fJc8znGI8OA="; }; - nativeBuildInputs = [ wrapQtAppsHook python3Packages.sip ]; + nativeBuildInputs = [ wrapQtAppsHook python3Packages.sip_4 ]; buildInputs = [ qtbase ]; @@ -25,21 +25,21 @@ python3Packages.buildPythonApplication rec { wrapQtApp "$out/bin/veusz" ''; - # For some reason, if sip5 is found on the PATH, the option --sip-dir is - # ignored in setupPyBuildFlags, see - # https://github.com/veusz/veusz/blob/53b99dffa999f2bc41fdc5335d7797ae857c761f/pyqtdistutils.py#L292 + # Since sip 6 (we use sip 4 here, but pyqt5 is built with sip 6), sip files are + # placed in a different directory layout and --sip-dir won't work anymore. + # --sip-dir expects a directory with a PyQt5 subdirectory (where sip files are located), + # but the new directory layout places sip files in a subdirectory named 'bindings'. + # To workaround this, we patch the full path into pyqtdistutils.py. postPatch = '' substituteInPlace pyqtdistutils.py \ - --replace "'-I', pyqt5_include_dir," "'-I', '${python3Packages.pyqt5}/share/sip/PyQt5'," + --replace "'-I', pyqt5_include_dir," "'-I', '${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings'," patchShebangs tests/runselftest.py ''; # you can find these options at # https://github.com/veusz/veusz/blob/53b99dffa999f2bc41fdc5335d7797ae857c761f/pyqtdistutils.py#L71 + # --sip-dir cannot be used here for the reasons explained above setupPyBuildFlags = [ - # --sip-dir does nothing here, but it should be the correct way to set the - # sip_dir, so I'm leaving it here for future versions - "--sip-dir=${python3Packages.pyqt5}/share/sip" "--qt-include-dir=${qtbase.dev}/include" # veusz tries to find a libinfix and fails without one # but we simply don't need a libinfix, so set it to empty here From 015fa4e53e0ff069abbea93ccecc9c84571311fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20S=C3=A1nchez=20Mu=C3=B1oz?= Date: Fri, 25 Jun 2021 20:16:53 +0200 Subject: [PATCH 19/19] python3Packages.pyqt5: use python callPackage instead of qt5 callPackage --- pkgs/development/python-modules/pyqt/5.x.nix | 37 ++++++++++---------- pkgs/top-level/python-packages.nix | 4 +-- 2 files changed, 20 insertions(+), 21 deletions(-) diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix index 95f2ab4673a..ae737ca2e63 100644 --- a/pkgs/development/python-modules/pyqt/5.x.nix +++ b/pkgs/development/python-modules/pyqt/5.x.nix @@ -1,25 +1,27 @@ -{ lib, pythonPackages, pkg-config +{ lib +, buildPythonPackage +, isPy27 +, fetchPypi +, pkg-config , dbus -, qmake, lndir -, qtbase -, qtsvg -, qtdeclarative -, qtwebchannel -, withConnectivity ? false, qtconnectivity -, withMultimedia ? false, qtmultimedia -, withWebKit ? false, qtwebkit -, withWebSockets ? false, qtwebsockets +, lndir +, python +, dbus-python +, sip +, pyqt-builder +, libsForQt5 +, withConnectivity ? false +, withMultimedia ? false +, withWebKit ? false +, withWebSockets ? false }: let - - inherit (pythonPackages) buildPythonPackage python isPy27 dbus-python sip pyqt-builder; - pyqt5_sip = buildPythonPackage rec { pname = "PyQt5_sip"; version = "12.9.0"; - src = pythonPackages.fetchPypi { + src = fetchPypi { inherit pname version; sha256 = "0cmfxb7igahxy74qkq199l6zdxrr75bnxris42fww3ibgjflir6k"; }; @@ -28,7 +30,6 @@ let # > error: could not create 'PyQt5/sip.cpython-38-x86_64-linux-gnu.so': No such file or directory doCheck = false; }; - in buildPythonPackage rec { pname = "PyQt5"; version = "5.15.4"; @@ -36,7 +37,7 @@ in buildPythonPackage rec { disabled = isPy27; - src = pythonPackages.fetchPypi { + src = fetchPypi { inherit pname version; sha256 = "1gp5jz71nmg58zsm1h4vzhcphf36rbz37qgsfnzal76i1mz5js9a"; }; @@ -45,7 +46,7 @@ in buildPythonPackage rec { dontWrapQtApps = true; - nativeBuildInputs = [ + nativeBuildInputs = with libsForQt5; [ pkg-config qmake lndir @@ -61,7 +62,7 @@ in buildPythonPackage rec { ++ lib.optional withWebSockets qtwebsockets ; - buildInputs = [ + buildInputs = with libsForQt5; [ dbus qtbase qtsvg diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f4cac783342..ada93c6755c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6309,9 +6309,7 @@ in { pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix { }; - pyqt5 = pkgs.libsForQt5.callPackage ../development/python-modules/pyqt/5.x.nix { - pythonPackages = self; - }; + pyqt5 = callPackage ../development/python-modules/pyqt/5.x.nix { }; pyqt5_with_qtmultimedia = self.pyqt5.override { withMultimedia = true;