unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#57431] [PATCH]: Add PyQt 6.
@ 2022-08-26 14:50 Zhu Zihao
  2023-04-13 15:04 ` ROCKTAKEY
                   ` (5 more replies)
  0 siblings, 6 replies; 18+ messages in thread
From: Zhu Zihao @ 2022-08-26 14:50 UTC (permalink / raw)
  To: 57431

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: 0001-gnu-Add-python-pyqt6-sip.patch --]
[-- Type: text/x-patch, Size: 1148 bytes --]

From f14e4b2e32240ef169514127d61da775b641f97d Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Thu, 25 Aug 2022 14:58:57 +0800
Subject: [PATCH 1/9] gnu: Add python-pyqt6-sip.

* gnu/packages/qt.scm (python-pyqt6-sip): New variable.
---
 gnu/packages/qt.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 25d56acdc3..1f8e51c667 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3088,6 +3088,21 @@ (define-public python-pyqt5-sip
     (description "Sip module support for PyQt5")
     (license license:lgpl2.1+)))
 
+(define-public python-pyqt6-sip
+  (package
+    (inherit python-pyqt5-sip)
+    (name "python-pyqt6-sip")
+    (version "13.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "PyQt6_sip" version))
+       (sha256
+        (base32
+         "0yfra2rk4072kqfs0hks7fpjqd8946inhzcmfqdm3mvjb3pa71vd"))))
+    (synopsis "Sip module support for PyQt6")
+    (description "Sip module support for PyQt6")))
+
 (define-public python-pyqtwebengine
   (package
     (name "python-pyqtwebengine")
-- 
2.37.2


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0002-gnu-python-pyqtwebengine-Rename-to-python-pyqtwebeng.patch --]
[-- Type: text/x-patch, Size: 5055 bytes --]

From 6cdce14bb88eebfc7da1a5aa3f59eab663550589 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Thu, 25 Aug 2022 18:19:51 +0800
Subject: [PATCH 2/9] gnu: python-pyqtwebengine: Rename to
 python-pyqtwebengine-5.

Automated via the follownig commands:

  git grep -l '\bpython-pyqtwebengine\b' | xargs sed -E 's/python-pyqtwebengine/\0-5/g' -i
---
 gnu/packages/ebook.scm        | 2 +-
 gnu/packages/education.scm    | 4 ++--
 gnu/packages/orange.scm       | 2 +-
 gnu/packages/qt.scm           | 6 +++---
 gnu/packages/vpn.scm          | 2 +-
 gnu/packages/web-browsers.scm | 6 +++---
 6 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index c3a27cb113..edcf7b486f 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -198,7 +198,7 @@ (define-public calibre
            python-pychm
            python-pygments
            python-pyqt-without-qtwebkit
-           python-pyqtwebengine
+           python-pyqtwebengine-5
            python-regex
            speech-dispatcher
            python-zeroconf
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index c5666fb02e..3c574b4176 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -801,8 +801,8 @@ (define-public anki
        ("python-jsonschema" ,python-jsonschema)
        ("python-markdown" ,python-markdown)
        ("python-pyaudio" ,python-pyaudio)
-       ;; `python-pyqtwebengine' must precede `python-pyqt' in PYTHONPATH.
-       ("python-pyqtwebengine" ,python-pyqtwebengine)
+       ;; `python-pyqtwebengine-5' must precede `python-pyqt' in PYTHONPATH.
+       ("python-pyqtwebengine-5" ,python-pyqtwebengine-5)
        ("python-pyqt" ,python-pyqt-without-qtwebkit)
        ("python-requests" ,python-requests)
        ("python-send2trash" ,python-send2trash)
diff --git a/gnu/packages/orange.scm b/gnu/packages/orange.scm
index 367c9cc288..ef6f36d8a8 100644
--- a/gnu/packages/orange.scm
+++ b/gnu/packages/orange.scm
@@ -162,7 +162,7 @@ (define-public orange
            python-pygments
            python-pyqt-without-qtwebkit
            python-pyqtgraph
-           python-pyqtwebengine
+           python-pyqtwebengine-5
            python-pyyaml
            python-qtconsole
            python-requests
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 1f8e51c667..e6779e333a 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3025,7 +3025,7 @@ (define-public python-pyqt
                            ,@%gnu-build-system-modules)
        #:phases
        (modify-phases %standard-phases
-         ;; When building python-pyqtwebengine, <qprinter.h> can not be
+         ;; When building python-pyqtwebengine-5, <qprinter.h> can not be
          ;; included.  Here we substitute the full path to the header in the
          ;; store.
          (add-before 'configure 'substitute-source
@@ -3103,7 +3103,7 @@ (define-public python-pyqt6-sip
     (synopsis "Sip module support for PyQt6")
     (description "Sip module support for PyQt6")))
 
-(define-public python-pyqtwebengine
+(define-public python-pyqtwebengine-5
   (package
     (name "python-pyqtwebengine")
     (version "5.15.2")
@@ -3187,7 +3187,7 @@ (define-public python-pyqtwebengine
     (license license:gpl3)))
 
 ;; XXX: This is useful for removing qtwebkit from other packages' dependency
-;; graphs, as well as for preventing python-pyqtwebengine from transitively
+;; graphs, as well as for preventing python-pyqtwebengine-5 from transitively
 ;; depending on qtwebkit.
 ;; Ultimately, it would be nicer to have a more modular set of python-pyqt-*
 ;; packages that could be used together.
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 1ec619b0c2..eeb5991303 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -751,7 +751,7 @@ (define-public openconnect-sso
            python-prompt-toolkit
            python-requests
            python-pyqt-without-qtwebkit
-           python-pyqtwebengine
+           python-pyqtwebengine-5
            python-pysocks
            python-pyxdg
            python-structlog
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 68d27a838b..8708efdb56 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -488,11 +488,11 @@ (define-public qutebrowser
            python-pygments
            python-pynacl
            python-pyyaml
-           ;; FIXME: python-pyqtwebengine needs to come before python-pyqt so
+           ;; FIXME: python-pyqtwebengine-5 needs to come before python-pyqt so
            ;; that it's __init__.py is used first.
-           python-pyqtwebengine
+           python-pyqtwebengine-5
            python-pyqt-without-qtwebkit
-           ;; While qtwebengine-5 is provided by python-pyqtwebengine, it's
+           ;; While qtwebengine-5 is provided by python-pyqtwebengine-5, it's
            ;; included here so we can wrap QTWEBENGINEPROCESS_PATH.
            qtwebengine-5))
     (arguments
-- 
2.37.2


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0003-gnu-python-pyqt-without-qtwebkit-Rename-to-python-py.patch --]
[-- Type: text/x-patch, Size: 6960 bytes --]

From 5890b5be7cc4ceaa6efad623eb56300dfc1a3e15 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Thu, 25 Aug 2022 19:05:17 +0800
Subject: [PATCH 3/9] gnu: python-pyqt-without-qtwebkit: Rename to
 python-pyqt-5-without-qtwebkit.

Automated by following script:

  git grep -l '\bpython-pyqt-without-qtwebkit' | \
    xargs sed -E 's/python-pyqt-without-qtwebkit/python-pyqt-5-without-qtwebkit/g' -i
---
 gnu/packages/backup.scm       | 2 +-
 gnu/packages/ebook.scm        | 4 ++--
 gnu/packages/education.scm    | 2 +-
 gnu/packages/orange.scm       | 2 +-
 gnu/packages/python-check.scm | 2 +-
 gnu/packages/python-xyz.scm   | 2 +-
 gnu/packages/qt.scm           | 4 ++--
 gnu/packages/radio.scm        | 2 +-
 gnu/packages/vpn.scm          | 2 +-
 gnu/packages/web-browsers.scm | 2 +-
 10 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 0d03d2e87f..f673e16a4a 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -1336,7 +1336,7 @@ (define-public vorta
            python-paramiko
            python-peewee
            python-psutil
-           python-pyqt-without-qtwebkit
+           python-pyqt-5-without-qtwebkit
            python-secretstorage
            ;; This is included so that the qt-wrap phase picks it up.
            qtsvg-5))
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index edcf7b486f..f105d43754 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -197,7 +197,7 @@ (define-public calibre
            python-py7zr
            python-pychm
            python-pygments
-           python-pyqt-without-qtwebkit
+           python-pyqt-5-without-qtwebkit
            python-pyqtwebengine-5
            python-regex
            speech-dispatcher
@@ -243,7 +243,7 @@ (define-public calibre
                  (string-append "[tool.sip.project]
 sip-include-dirs = [\""
                                 #$(this-package-input
-                                   "python-pyqt-without-qtwebkit")
+                                   "python-pyqt-5-without-qtwebkit")
                                 "/share/sip\"]")))
               (substitute* "src/calibre/ebooks/pdf/pdftohtml.py"
                 (("PDFTOHTML = 'pdftohtml'")
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 3c574b4176..b2e8eb4568 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -803,7 +803,7 @@ (define-public anki
        ("python-pyaudio" ,python-pyaudio)
        ;; `python-pyqtwebengine-5' must precede `python-pyqt' in PYTHONPATH.
        ("python-pyqtwebengine-5" ,python-pyqtwebengine-5)
-       ("python-pyqt" ,python-pyqt-without-qtwebkit)
+       ("python-pyqt" ,python-pyqt-5-without-qtwebkit)
        ("python-requests" ,python-requests)
        ("python-send2trash" ,python-send2trash)
        ("python-sip" ,python-sip)
diff --git a/gnu/packages/orange.scm b/gnu/packages/orange.scm
index ef6f36d8a8..0da1f28692 100644
--- a/gnu/packages/orange.scm
+++ b/gnu/packages/orange.scm
@@ -160,7 +160,7 @@ (define-public orange
            python-orange-widget-base
            python-pandas
            python-pygments
-           python-pyqt-without-qtwebkit
+           python-pyqt-5-without-qtwebkit
            python-pyqtgraph
            python-pyqtwebengine-5
            python-pyyaml
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 7cc266fbce..e866de2212 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -1624,7 +1624,7 @@ (define-public python-pytest-qt
              (setenv "QT_QPA_PLATFORM" "offscreen")
              #t)))))
     (propagated-inputs
-     (list python-pyqt-without-qtwebkit))
+     (list python-pyqt-5-without-qtwebkit))
     (native-inputs
      (list python-pytest python-pytest-runner python-setuptools-scm))
     (home-page "https://github.com/pytest-dev/pytest-qt")
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f7971b75fa..d362850466 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -15562,7 +15562,7 @@ (define-public python-pyqtgraph
      (list qtbase-5))
     (propagated-inputs
      (list python-h5py python-numpy python-pyopengl python-scipy
-           python-pyqt-without-qtwebkit))
+           python-pyqt-5-without-qtwebkit))
     (home-page "http://www.pyqtgraph.org")
     (synopsis "Scientific graphics and GUI library for Python")
     (description
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index e6779e333a..df12c37964 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3127,7 +3127,7 @@ (define-public python-pyqtwebengine-5
     (inputs
      `(("python" ,python-wrapper)
        ("python-sip" ,python-sip)
-       ("python-pyqt" ,python-pyqt-without-qtwebkit)
+       ("python-pyqt" ,python-pyqt-5-without-qtwebkit)
        ("qtbase" ,qtbase-5)
        ("qtsvg-5" ,qtsvg-5)
        ("qtdeclarative-5" ,qtdeclarative-5)
@@ -3191,7 +3191,7 @@ (define-public python-pyqtwebengine-5
 ;; depending on qtwebkit.
 ;; Ultimately, it would be nicer to have a more modular set of python-pyqt-*
 ;; packages that could be used together.
-(define-public python-pyqt-without-qtwebkit
+(define-public python-pyqt-5-without-qtwebkit
   (package/inherit python-pyqt
     (name "python-pyqt-without-qtwebkit")
     (inputs
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index bc2c13b847..7d1d9da0b1 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -597,7 +597,7 @@ (define-public gnuradio
            python-numpy
            python-pycairo
            python-pygobject
-           python-pyqt-without-qtwebkit
+           python-pyqt-5-without-qtwebkit
            python-pyqtgraph
            python-pyyaml
            qtbase-5
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index eeb5991303..a0fd20d246 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -750,7 +750,7 @@ (define-public openconnect-sso
            python-lxml
            python-prompt-toolkit
            python-requests
-           python-pyqt-without-qtwebkit
+           python-pyqt-5-without-qtwebkit
            python-pyqtwebengine-5
            python-pysocks
            python-pyxdg
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 8708efdb56..634d9ea0bf 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -491,7 +491,7 @@ (define-public qutebrowser
            ;; FIXME: python-pyqtwebengine-5 needs to come before python-pyqt so
            ;; that it's __init__.py is used first.
            python-pyqtwebengine-5
-           python-pyqt-without-qtwebkit
+           python-pyqt-5-without-qtwebkit
            ;; While qtwebengine-5 is provided by python-pyqtwebengine-5, it's
            ;; included here so we can wrap QTWEBENGINEPROCESS_PATH.
            qtwebengine-5))
-- 
2.37.2


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: 0004-gnu-python-pyqt-Rename-to-python-pyqt-5.patch --]
[-- Type: text/x-patch, Size: 16166 bytes --]

From 5614cc205c8ef9dc10f24726ea959f13220fac13 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Thu, 25 Aug 2022 19:17:54 +0800
Subject: [PATCH 4/9] gnu: python-pyqt: Rename to python-pyqt-5.

Automated by following scripts and some manually fix:

  git grep -l '\bpython-pyqt\b' | xargs sed -E \
    -e 's/,python-pyqt/\0-5/g' \
    -e 's/pyqt$/\0-5/g' \
    -e 's/pyqt /pyqt-5 /g' \
    -e 's/pyqt\)/pyqt-5)/g' -i
---
 gnu/packages/audio.scm        |  4 ++--
 gnu/packages/chemistry.scm    |  2 +-
 gnu/packages/cups.scm         |  2 +-
 gnu/packages/education.scm    |  2 +-
 gnu/packages/engineering.scm  |  2 +-
 gnu/packages/finance.scm      |  6 +++---
 gnu/packages/games.scm        |  2 +-
 gnu/packages/maths.scm        |  2 +-
 gnu/packages/music.scm        |  4 ++--
 gnu/packages/pdf.scm          |  4 ++--
 gnu/packages/photo.scm        |  2 +-
 gnu/packages/plotutils.scm    |  2 +-
 gnu/packages/python-web.scm   |  2 +-
 gnu/packages/python-xyz.scm   |  8 ++++----
 gnu/packages/qt.scm           | 14 +++++++-------
 gnu/packages/radio.scm        |  6 +++---
 gnu/packages/stenography.scm  |  2 +-
 gnu/packages/text-editors.scm |  2 +-
 gnu/packages/video.scm        |  2 +-
 gnu/packages/web-browsers.scm |  2 +-
 20 files changed, 36 insertions(+), 36 deletions(-)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index c0bfb3b9d8..083b9ca971 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -5104,9 +5104,9 @@ (define-public carla
            gtk+-2              ;needed for bridging GTK2 plugins in GTK3 hosts
            gtk+
            python-pyliblo
-           python-pyqt
+           python-pyqt-5
            python-rdflib
-           ;; python-pyqt shows the following error without python-wrapper:
+           ;; python-pyqt-5 shows the following error without python-wrapper:
            ;; Error while finding module specification for 'PyQt5.uic.pyuic'
            ;; (ModuleNotFoundError: No module named 'PyQt5')
            python-wrapper
diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm
index 735d599d2d..f00e96bdc2 100644
--- a/gnu/packages/chemistry.scm
+++ b/gnu/packages/chemistry.scm
@@ -555,7 +555,7 @@ (define-public python-pymol
            libxml2
            mmtf-cpp
            msgpack
-           python-pyqt
+           python-pyqt-5
            glm
            netcdf))
     (native-inputs
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index 3de9ddbf22..7e5ddaa7e3 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -689,7 +689,7 @@ (define-public hplip
        ("python" ,python)
        ("python-dbus" ,python-dbus)
        ("python-pygobject" ,python-pygobject)
-       ("python-pyqt" ,python-pyqt)
+       ("python-pyqt" ,python-pyqt-5)
        ("python-wrapper" ,python-wrapper)
        ("sane-backends" ,sane-backends-minimal)
        ("zlib" ,zlib)))
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index b2e8eb4568..d11f4e956e 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -434,7 +434,7 @@ (define-public toutenclic
     (native-inputs
      (list unzip))
     (inputs
-     (list python-pyqt))
+     (list python-pyqt-5))
     (synopsis "School tools for physically disabled children")
     (description "ToutEnClic is intended to facilitate the schooling
 of physically disabled children in ordinary schools.  It is both
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index f195179413..947047fd11 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -3418,7 +3418,7 @@ (define-public uranium
            python
            python-cryptography
            python-numpy
-           python-pyqt
+           python-pyqt-5
            python-scipy
            python-shapely
            python-trimesh
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 849f9aba99..79f00e3738 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -581,7 +581,7 @@ (define-public electrum
            python-hidapi
            python-ledgerblue
            python-protobuf
-           python-pyqt
+           python-pyqt-5
            python-qdarkstyle
            python-qrcode
            zbar))
@@ -680,7 +680,7 @@ (define-public electron-cash
            python-pathvalidate
            python-protobuf
            python-pyaes
-           python-pyqt
+           python-pyqt-5
            python-pysocks
            python-qdarkstyle
            python-qrcode
@@ -1100,7 +1100,7 @@ (define-public python-trezor
            python-black
            python-isort
            python-protobuf
-           python-pyqt
+           python-pyqt-5
            python-pytest))
     (home-page "https://github.com/trezor/python-trezor")
     (synopsis "Python library for communicating with TREZOR Hardware Wallet")
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 5dc7298acb..b40fde45a4 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -10503,7 +10503,7 @@ (define-public kajongg
            libkmahjongg
            python
            python-twisted
-           python-pyqt
+           python-pyqt-5
            python-zope-interface
            qtbase-5
            qtsvg-5))
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 72d5e9a83a..947578c038 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -3150,7 +3150,7 @@ (define-public veusz
      (list ghostscript ;optional, for EPS/PS output
            python-dbus
            python-h5py ;optional, for HDF5 data
-           python-pyqt
+           python-pyqt-5
            qtbase-5
            qtsvg-5))
     (propagated-inputs
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index e1de632dda..cedfb4fee7 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -2890,7 +2890,7 @@ (define-public frescobaldi
            python-ly
            python-poppler-qt5
            python-pyportmidi
-           python-pyqt
+           python-pyqt-5
            python-sip))
     (home-page "https://www.frescobaldi.org/")
     (synopsis "LilyPond sheet music text editor")
@@ -3553,7 +3553,7 @@ (define-public picard
      `(("gettext" ,gettext-minimal)
        ("python-dateutil" ,python-dateutil)))
     (inputs
-     (list chromaprint python-discid python-pyqt python-mutagen))
+     (list chromaprint python-discid python-pyqt-5 python-mutagen))
     (home-page "https://picard.musicbrainz.org/")
     (synopsis "Graphical music tagging application")
     (description
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 39266a2822..d94c2e2f75 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -180,7 +180,7 @@ (define-public flyer-composer
                    (,(string-append qtbase "/lib/qt5/plugins/platforms"))))
                #t))))))
     (inputs
-     (list python-pypdf2 python-pyqt python-poppler-qt5 qtbase-5))
+     (list python-pypdf2 python-pyqt-5 python-poppler-qt5 qtbase-5))
     (home-page "http://crazy-compilers.com/flyer-composer")
     (synopsis "Rearrange PDF pages to print as flyers on one sheet")
     (description "@command{flyer-composer} can be used to prepare one- or
@@ -351,7 +351,7 @@ (define-public python-poppler-qt5
     (native-inputs
      (list pkg-config))
     (inputs
-     (list python-sip-4 python-pyqt poppler-qt5 qtbase-5))
+     (list python-sip-4 python-pyqt-5 poppler-qt5 qtbase-5))
     (home-page "https://pypi.org/project/python-poppler-qt5/")
     (synopsis "Python bindings for Poppler-Qt5")
     (description
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index 19c171a9bb..56806ad014 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -118,7 +118,7 @@ (define-public rapid-photo-downloader
        ("libnotify" ,libnotify)
        ("libmediainfo" ,libmediainfo)
        ("usdisks" ,udisks)
-       ("python-pyqt" ,python-pyqt)
+       ("python-pyqt" ,python-pyqt-5)
        ("python-pygobject" ,python-pygobject)
        ("python-gphoto2" ,python-gphoto2)
        ("python-pyzmq" ,python-pyzmq)
diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index a5e1a1ad55..83a869137c 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -327,7 +327,7 @@ (define-public asymptote
            python
            python-cson
            python-numpy
-           python-pyqt
+           python-pyqt-5
            readline
            zlib))
     (arguments
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index d060d5b27c..9c57aaa25e 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -7153,7 +7153,7 @@ (define-public python-woob
            python-lxml
            python-pillow
            python-prettytable
-           python-pyqt
+           python-pyqt-5
            python-pyyaml
            python-requests
            python-six
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d362850466..67d1128b88 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -13584,7 +13584,7 @@ (define-public python-qtconsole
                (("def test_other_output") "def _test_other_output")))))))
     (propagated-inputs
      (list python-ipykernel python-ipython-genutils python-jupyter-client
-           python-jupyter-core python-pygments python-pyqt python-pyzmq
+           python-jupyter-core python-pygments python-pyqt-5 python-pyzmq
            python-qtpy python-traitlets))
     (native-inputs
      (list python-flaky python-pytest python-pytest-qt))
@@ -15596,7 +15596,7 @@ (define-public python-qasync
     (native-inputs
      (list python-pytest python-pytest-runner))
     (propagated-inputs
-     (list python-pyqt))
+     (list python-pyqt-5))
     (home-page "https://github.com/CabbageDevelopment/qasync")
     (synopsis "Implementation of the PEP 3156 Event-Loop with Qt")
     (description
@@ -25269,7 +25269,7 @@ (define-public offlate
             python-pyenchant
             python-pygit2
             python-pygithub
-            python-pyqt
+            python-pyqt-5
             python-requests
             python-ruamel.yaml
             python-translate-toolkit
@@ -26198,7 +26198,7 @@ (define-public pyzo
        ;; symbol: objc_getClass".
        #:tests? #f))
     (propagated-inputs
-     (list python-pyqt))
+     (list python-pyqt-5))
     (home-page "https://pyzo.org")
     (synopsis
      "Python IDE for scientific computing")
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index df12c37964..25bc0a1dad 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -2978,7 +2978,7 @@ (define-public python-sip-4
                        "--incdir" include)))))))
     (license license:gpl3)))
 
-(define-public python-pyqt
+(define-public python-pyqt-5
   (package
     (name "python-pyqt")
     (version "5.15.2")
@@ -3162,7 +3162,7 @@ (define-public python-pyqtwebengine-5
                        "--stubsdir" stubs
                        "--sipdir" sipdir
                        "--pyqt-sipdir" pyqt-sipdir))))
-         ;; Because this has a different prefix than python-pyqt then we need
+         ;; Because this has a different prefix than python-pyqt-5 then we need
          ;; to make this a namespace of its own.
          (add-after 'install 'make-namespace
            (lambda* (#:key inputs outputs #:allow-other-keys)
@@ -3192,10 +3192,10 @@ (define-public python-pyqtwebengine-5
 ;; Ultimately, it would be nicer to have a more modular set of python-pyqt-*
 ;; packages that could be used together.
 (define-public python-pyqt-5-without-qtwebkit
-  (package/inherit python-pyqt
+  (package/inherit python-pyqt-5
     (name "python-pyqt-without-qtwebkit")
     (inputs
-     (alist-delete "qtwebkit" (package-inputs python-pyqt)))))
+     (alist-delete "qtwebkit" (package-inputs python-pyqt-5)))))
 
 (define-public python-pyqt-builder
   (package
@@ -3322,7 +3322,7 @@ (define-public python-qscintilla
     (inputs
      `(("qscintilla" ,qscintilla)
        ("python" ,python)
-       ("python-pyqt" ,python-pyqt)))
+       ("python-pyqt" ,python-pyqt-5)))
     (description "QScintilla is a port to Qt of Neil Hodgson's Scintilla C++
 editor control.  QScintilla includes features especially useful when editing
 and debugging source code.  These include support for syntax styling, error
@@ -3334,7 +3334,7 @@ (define-public python-qscintilla
 ;; variables such as PYTHONPATH, so we need to build a union package to make
 ;; it work.
 (define-public python-pyqt+qscintilla
-  (package/inherit python-pyqt
+  (package/inherit python-pyqt-5
     (name "python-pyqt+qscintilla")
     (source #f)
     (build-system trivial-build-system)
@@ -3349,7 +3349,7 @@ (define-public python-pyqt+qscintilla
                                    directories)
                       #t)))))
     (inputs
-     `(("python-pyqt" ,python-pyqt)
+     `(("python-pyqt" ,python-pyqt-5)
        ("python-qscintilla" ,python-qscintilla)))
     (synopsis "Union of PyQt and the Qscintilla extension")
     (description
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index 7d1d9da0b1..4f356d677d 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -734,7 +734,7 @@ (define-public gr-osmosdr
              log4cpp
              python
              python-numpy
-             python-pyqt
+             python-pyqt-5
              rtl-sdr
              soapysdr
              spdlog
@@ -1576,7 +1576,7 @@ (define-public nanovna-saver
     (native-inputs
      (list python-cython))
     (inputs
-     (list python-numpy python-pyqt python-pyserial python-scipy))
+     (list python-numpy python-pyqt-5 python-pyserial python-scipy))
     (arguments
      '(#:tests? #f))
     (home-page "https://github.com/NanoVNA-Saver/nanovna-saver")
@@ -2470,7 +2470,7 @@ (define-public urh
            python-numpy
            python-psutil
            python-pyaudio
-           python-pyqt
+           python-pyqt-5
            rtl-sdr))
     (arguments
      `(#:phases
diff --git a/gnu/packages/stenography.scm b/gnu/packages/stenography.scm
index 3b86ab6bcf..2be3461a4d 100644
--- a/gnu/packages/stenography.scm
+++ b/gnu/packages/stenography.scm
@@ -49,7 +49,7 @@ (define-public plover
      (list python-pytest))
     (inputs
      (list python-appdirs
-           python-pyqt
+           python-pyqt-5
            python-babel
            python-dbus
            python-hidapi
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index 839f812733..555d9cf620 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -770,7 +770,7 @@ (define-public manuskript
                    #:icon "manuskript"
                    #:categories "Office;WordProcessor;"))))))))
     (inputs
-     (list pandoc python-lxml python-markdown python-pyqt qtsvg-5))
+     (list pandoc python-lxml python-markdown python-pyqt-5 qtsvg-5))
     (home-page "http://www.theologeek.ch/manuskript/")
     (synopsis "Tool for writers")
     (description "Manuskript provides a rich environment to help
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 556eb46df4..40d74c741d 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -4762,7 +4762,7 @@ (define-public openshot
            font-dejavu
            libopenshot
            python
-           python-pyqt
+           python-pyqt-5
            python-pyzmq
            python-requests
            qtsvg-5))
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 634d9ea0bf..f2bb61d0bb 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -488,7 +488,7 @@ (define-public qutebrowser
            python-pygments
            python-pynacl
            python-pyyaml
-           ;; FIXME: python-pyqtwebengine-5 needs to come before python-pyqt so
+           ;; FIXME: python-pyqtwebengine-5 needs to come before python-pyqt-5 so
            ;; that it's __init__.py is used first.
            python-pyqtwebengine-5
            python-pyqt-5-without-qtwebkit
-- 
2.37.2


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #5: 0005-gnu-python-pyqt-qscintilla-Rename-to-python-pyqt-5-q.patch --]
[-- Type: text/x-patch, Size: 2684 bytes --]

From 5949dc9870560a474d79337b8cfe3abdde7792f3 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Thu, 25 Aug 2022 19:25:45 +0800
Subject: [PATCH 5/9] gnu: python-pyqt+qscintilla: Rename to
 python-pyqt-5+qscintilla.

* gnu/packages/qt.scm (python-pyqt+qscintilla): Rename to
python-pyqt-5+qscintilla.
* gnu/packages/geo.scm (qgjs)[inputs]: Ditto.
* gnu/packages/medical.scm (openmolar-1)[inputs]: Ditto.
* gnu/packages/python-xyz.scm (autokey)[inputs]: Ditto.
---
 gnu/packages/geo.scm        | 2 +-
 gnu/packages/medical.scm    | 2 +-
 gnu/packages/python-xyz.scm | 2 +-
 gnu/packages/qt.scm         | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 66c97d3d6a..2678c08a02 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -2607,7 +2607,7 @@ (define-public qgis
            python-owslib
            python-psycopg2
            python-pygments
-           python-pyqt+qscintilla
+           python-pyqt-5+qscintilla
            python-pytz
            python-pyyaml
            python-requests
diff --git a/gnu/packages/medical.scm b/gnu/packages/medical.scm
index 6c9cc757eb..60fb8c6091 100644
--- a/gnu/packages/medical.scm
+++ b/gnu/packages/medical.scm
@@ -49,7 +49,7 @@ (define-public openmolar-1
               (("/usr") (assoc-ref outputs "out")))
             #t)))))
    (inputs
-    (list python-pyqt+qscintilla python-mysqlclient qscintilla))
+    (list python-pyqt-5+qscintilla python-mysqlclient qscintilla))
    (home-page "https://openmolar.com/om1")
    (synopsis "Dental practice management software")
    (description "Openmolar is a dental practice management suite.  Its
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 67d1128b88..82eaeec90f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -4357,7 +4357,7 @@ (define-public autokey
            python-ipython
            python-pygobject
            python-pyinotify
-           python-pyqt+qscintilla
+           python-pyqt-5+qscintilla
            python-xlib
            wmctrl
            zenity))
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 25bc0a1dad..d9b32749cc 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3333,7 +3333,7 @@ (define-public python-qscintilla
 ;; PyQt only looks for modules in its own directory.  It ignores environment
 ;; variables such as PYTHONPATH, so we need to build a union package to make
 ;; it work.
-(define-public python-pyqt+qscintilla
+(define-public python-pyqt-5+qscintilla
   (package/inherit python-pyqt-5
     (name "python-pyqt+qscintilla")
     (source #f)
-- 
2.37.2


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #6: 0006-gnu-python-sip-Update-to-6.6.2.patch --]
[-- Type: text/x-patch, Size: 1429 bytes --]

From 5e054770ff6f50478be9860f0c75ffc706e980ec Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Thu, 25 Aug 2022 20:06:14 +0800
Subject: [PATCH 6/9] gnu: python-sip: Update to 6.6.2.

* gnu/packages/qt.scm (python-sip): Update to 6.6.2
[propagated-inputs]: Add missing input python-ply.
---
 gnu/packages/qt.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index d9b32749cc..c7ea6e6713 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -2904,7 +2904,7 @@ (define-public single-application-qt5
 (define-public python-sip
   (package
     (name "python-sip")
-    (version "5.5.0")
+    (version "6.6.2")
     (source
       (origin
         (method url-fetch)
@@ -2914,12 +2914,12 @@ (define-public python-sip
                                   "/sip-" version ".tar.gz")))
         (sha256
          (base32
-          "1idaivamp1jvbbai9yzv471c62xbqxhaawccvskaizihkd0lq0jx"))))
+          "03frpw2l2krigibx32cbyl9kx696vwkhj52pmqjybn6zqp0zlghf"))))
     (build-system python-build-system)
     (native-inputs
      (list python-wrapper))
     (propagated-inputs
-     (list python-toml python-packaging))
+     (list python-toml python-packaging python-ply))
     (home-page "https://www.riverbankcomputing.com/software/sip/intro")
     (synopsis "Python binding creator for C and C++ libraries")
     (description
-- 
2.37.2


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #7: 0007-gnu-python-pyqt-builder-Update-to-1.13.0.patch --]
[-- Type: text/x-patch, Size: 1046 bytes --]

From 750cd9f80a3a02b64c933b8308fa1e0ef0ab8333 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Thu, 25 Aug 2022 22:41:25 +0800
Subject: [PATCH 7/9] gnu: python-pyqt-builder: Update to 1.13.0.

* gnu/packages/qt.scm (python-pyqt-builder): Update to 1.13.0.
---
 gnu/packages/qt.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index c7ea6e6713..b89cf989ec 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3200,14 +3200,14 @@ (define-public python-pyqt-5-without-qtwebkit
 (define-public python-pyqt-builder
   (package
    (name "python-pyqt-builder")
-   (version "1.9.0")
+   (version "1.13.0")
    (source
     (origin
      (method url-fetch)
      (uri (pypi-uri "PyQt-builder" version))
      (sha256
       (base32
-       "0nh0054c54ji3sm6d268fccf0y5f613spswwgwqd3rnn816hnljl"))))
+       "1vwyd2hs13zh0ybvkn36h73031ha7c41sf4v28735dff7065hxs8"))))
    (build-system python-build-system)
    (inputs
     (list python-sip))
-- 
2.37.2


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #8: 0008-gnu-Add-python-pyqt-version-6.3.1.patch --]
[-- Type: text/x-patch, Size: 2860 bytes --]

From 18831a399f1be3748c55d25c3c1bb80036c2cbcb Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Fri, 26 Aug 2022 17:50:36 +0800
Subject: [PATCH 8/9] gnu: Add python-pyqt, version 6.3.1.

* gnu/packages/qt.scm (python-pyqt): New variable.
---
 gnu/packages/qt.scm | 59 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index b89cf989ec..ac575c9828 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -2978,6 +2978,65 @@ (define-public python-sip-4
                        "--incdir" include)))))))
     (license license:gpl3)))
 
+(define-public python-pyqt
+  (package
+    (name "python-pyqt")
+    (version "6.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "PyQt6" version))
+       (file-name (string-append "PyQt6-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0mwp5iyh21jzsvd66rcpxzr142kiv769dqwpr0gps17pp8fy5ilc"))))
+    (inputs
+     (list python-wrapper
+           qtbase
+           qtdeclarative
+           qtmultimedia
+           qtpositioning
+           qtsvg
+           qttools
+           qtwebchannel
+           qtwebsockets))
+    (propagated-inputs
+     (list python-pyqt6-sip))
+    (native-inputs
+     (list python-pyqt-builder
+           python-sip
+           python-wrapper
+           qtbase))                     ;qmake
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:imported-modules `((guix build python-build-system)
+                           ,@%gnu-build-system-modules)
+      #:modules `(((guix build python-build-system) #:select (site-packages))
+                  ,@%gnu-build-system-modules)
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'configure
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (invoke "sip-build"
+                      "--verbose"
+                      "--confirm-license"
+                      "--no-make"
+                      "--qmake" (search-input-file inputs "/bin/qmake")
+                      "--target-dir" (site-packages inputs outputs)
+                      "--scripts-dir" (string-append #$output "/bin"))))
+          (add-before 'build 'enter-build-directory
+            (lambda _ (chdir "build") #t))
+          (add-after 'install 'leave-build-directory
+            (lambda _ (chdir "..") #t)))))
+    (home-page "https://www.riverbankcomputing.com/software/pyqt/intro")
+    (synopsis "Python bindings for Qt6")
+    (description
+     "PyQt is a set of Python v3 bindings for the Qt6 application framework.
+The bindings are implemented as a set of Python modules and contain over
+620 classes.")
+    (license license:gpl3)))
+
 (define-public python-pyqt-5
   (package
     (name "python-pyqt")
-- 
2.37.2


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #9: 0009-gnu-Add-python-pyqtwebengine-version-6.3.1.patch --]
[-- Type: text/x-patch, Size: 4963 bytes --]

From 0856c6efcd09be2a5326af457b01f994c954d959 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Fri, 26 Aug 2022 22:32:24 +0800
Subject: [PATCH 9/9] gnu: Add python-pyqtwebengine, version 6.3.1.

* gnu/packages/qt.scm (python-pyqtwebengine): New variable.
---
 gnu/packages/qt.scm | 104 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 104 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index ac575c9828..821e824e36 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3162,6 +3162,110 @@ (define-public python-pyqt6-sip
     (synopsis "Sip module support for PyQt6")
     (description "Sip module support for PyQt6")))
 
+(define-public python-pyqtwebengine
+  (package
+    (name "python-pyqtwebengine")
+    (version "6.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "PyQt6_WebEngine" version))
+       (sha256
+        (base32
+         "01zhx1yz8ggi6n9rwqi1z18aznbl3ndwa5yn090z85abgd9gblf3"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     (list python
+           python-sip
+           python-pyqt-builder
+           ;; qtbase is required for qmake
+           qtbase))
+    (inputs
+     (list python-pyqt
+           qtbase
+           qtdeclarative
+           qtwebchannel
+           qtwebengine))
+    (arguments
+     (list
+      #:imported-modules `((guix build python-build-system)
+                           ,@%gnu-build-system-modules)
+      #:modules
+      `((ice-9 regex)
+        ((guix build python-build-system)
+         #:select (site-packages python-version))
+        ,@%gnu-build-system-modules)
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'configure 'fix-pyqt-sip-dirs
+            (lambda _
+              (define sip-dir
+                (string-append
+                 #$(this-package-input "python-pyqt")
+                 "/lib/python"
+                 (python-version #$(this-package-native-input "python"))
+                 "/site-packages/PyQt6/bindings"))
+
+              (substitute* "pyproject.toml"
+                (("tool\\.sip\\.project.+$" all)
+                 (format #f "~asip-include-dirs = [\"~a\"]~%"
+                         all sip-dir)))))
+          (replace 'configure
+            (lambda* (#:key inputs native-inputs outputs #:allow-other-keys)
+              (invoke "sip-build"
+                      "--verbose"
+                      "--no-make"
+                      "--target-dir" (site-packages inputs outputs))))
+          ;; XXX: qmake generates Makefile that tries to link with
+          ;; <path-to-qtbase>/lib/libQt6Qml.so. This phase deletes these
+          ;; bad references.
+          (add-after 'configure 'delete-bad-references
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* '("build/QtWebEngineCore/Makefile"
+                             "build/QtWebEngineQuick/Makefile"
+                             "build/QtWebEngineWidgets/Makefile")
+                (((string-append
+                   (regexp-quote #$(this-package-input "qtbase"))
+                   "/lib/libQt6(Qml|QmlModels|WebEngineCore)\\.so"))
+                 ""))))
+          (add-after 'configure 'absolutize-qprinter.h
+            (lambda* (#:key inputs  #:allow-other-keys)
+              (let* ((qtprinter.h
+                      (string-append
+                       "\""
+                       (search-input-file
+                        inputs
+                        "include/qt6/QtPrintSupport/qprinter.h")
+                       "\"")))
+                (substitute* (find-files "build/QtWebEngineWidgets"
+                                         "\\.(cpp|h)$")
+                  (("<qprinter.h>")
+                   qtprinter.h))
+                #t)))
+          (add-before 'build 'enter-build-directory
+            (lambda _ (chdir "build") #t))
+          (add-after 'install 'leave-build-directory
+            (lambda _ (chdir "..") #t))
+          (add-after 'install 'make-namespace
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (let* ((init (string-append
+                            (site-packages inputs outputs)
+                            "/PyQt6/__init__.py")))
+                (with-output-to-file init
+                  (lambda _
+                    (display "\
+from pkgutil import extend_path
+__path__ = extend_path(__path__, __name__)
+")))
+                #t))))))
+    (home-page "https://www.riverbankcomputing.com/software/pyqtwebengine/intro")
+    (synopsis "Python bindings for QtWebEngine6")
+    (description
+     "PyQtWebEngine is a set of Python bindings for The Qt Company's Qt
+WebEngine libraries.  The bindings sit on top of PyQt6 and are implemented as a
+set of three modules.")
+    (license license:gpl3)))
+
 (define-public python-pyqtwebengine-5
   (package
     (name "python-pyqtwebengine")
-- 
2.37.2


[-- Attachment #10: Type: text/plain, Size: 100 bytes --]


-- 
Retrieve my PGP public key:

  gpg --recv-keys 481F5EEEBA425ADC13247C76A6E672D981B8E744

Zihao

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#57431] [PATCH]: Add PyQt 6.
  2022-08-26 14:50 [bug#57431] [PATCH]: Add PyQt 6 Zhu Zihao
@ 2023-04-13 15:04 ` ROCKTAKEY
  2023-04-16  2:16   ` Zhu Zihao
  2023-11-19 15:15 ` [bug#57431] Update packages to compatible versions Herman Rimm via Guix-patches via
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 18+ messages in thread
From: ROCKTAKEY @ 2023-04-13 15:04 UTC (permalink / raw)
  To: 57431, all_but_last

Hi, it looks great. I would like to use PyQt 6.

Is there any progress? I want help if there is some problem.

ROCKTAKEY





^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#57431] [PATCH]: Add PyQt 6.
  2023-04-13 15:04 ` ROCKTAKEY
@ 2023-04-16  2:16   ` Zhu Zihao
  0 siblings, 0 replies; 18+ messages in thread
From: Zhu Zihao @ 2023-04-16  2:16 UTC (permalink / raw)
  To: ROCKTAKEY; +Cc: 57431

[-- Attachment #1: Type: text/plain, Size: 574 bytes --]



ROCKTAKEY <rocktakey@gmail.com> writes:

> Hi, it looks great. I would like to use PyQt 6.

If you just wanna programming with Python and Qt, you can use qtpy and
pyside-6 :)

>
> Is there any progress? I want help if there is some problem.

The problem is, the sip of PyQt 6 prefer the qmake way rather than CMake
way like PySide6. but the qmake definition file of Qt6 is broken.(Ok,
plz see the XXX comment of pyqt-webengine in previos patch...)


-- 
Retrieve my PGP public key:

  gpg --recv-keys B3EBC086AB0EBC0F45E0B4D433DB374BCEE4D9DC

Zihao

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 255 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#57431] Update packages to compatible versions.
  2022-08-26 14:50 [bug#57431] [PATCH]: Add PyQt 6 Zhu Zihao
  2023-04-13 15:04 ` ROCKTAKEY
@ 2023-11-19 15:15 ` Herman Rimm via Guix-patches via
  2023-11-19 15:18 ` [bug#57431] [PATCH v1 1/3] gnu: Add python-pyqt6-sip Herman Rimm via Guix-patches via
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 18+ messages in thread
From: Herman Rimm via Guix-patches via @ 2023-11-19 15:15 UTC (permalink / raw)
  To: 57431

Hello, only patch 1 can be applied sucessfully: python-sip and
python-pyqt-builder are already updated, so patch 6 and 7 don't apply;
patches 2, 3, 4 and 5 do renames and touch a lot of code, which has
changed since patch creation; patch 8 and 9 can't be applied without the
renames.

I have modified patch 8 and 9 and made a patch series from patches 1, 8
and 9. It should easier to apply than the longer patch series. I have
not tested or cross-compiled any of the packages, only built them
natively. Probably some (native-)inputs can be removed or need to be
added.

As for the renames, there are many Qt5 package symbols without a '-5'
suffix. Some rename patches touch a lot of files and get outdated
quickly. Can they be contributed some other way? For example:

1. run the rename scripts;
2. write a commit message for the changes;
3. send the commit as a patch to a maintainer via IRC/Matrix;
4. the maintainer applies the patch and pushes to remote;
5. repeat steps 1-4 until it is pushed sucessfully.

Cheers,
Herman Rimm




^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#57431] [PATCH v1 1/3] gnu: Add python-pyqt6-sip.
  2022-08-26 14:50 [bug#57431] [PATCH]: Add PyQt 6 Zhu Zihao
  2023-04-13 15:04 ` ROCKTAKEY
  2023-11-19 15:15 ` [bug#57431] Update packages to compatible versions Herman Rimm via Guix-patches via
@ 2023-11-19 15:18 ` Herman Rimm via Guix-patches via
  2023-11-19 15:18   ` [bug#57431] [PATCH v1 2/3] gnu: Add python-pyqt, version 6.5.2 Herman Rimm via Guix-patches via
                     ` (2 more replies)
  2023-11-23  7:20 ` [bug#57431] [PATCH v2 " Herman Rimm via Guix-patches via
                   ` (2 subsequent siblings)
  5 siblings, 3 replies; 18+ messages in thread
From: Herman Rimm via Guix-patches via @ 2023-11-19 15:18 UTC (permalink / raw)
  To: 57431; +Cc: Zhu Zihao, Andreas Enge, Maxim Cournoyer,
	宋文武

From: Zhu Zihao <all_but_last@163.com>

* gnu/packages/qt.scm (python-pyqt6-sip): New variable.
---
 gnu/packages/qt.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 12785c811f..242a5da172 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3675,6 +3675,21 @@ (define-public python-pyqt5-sip
     (description "Sip module support for PyQt5")
     (license license:lgpl2.1+)))
 
+(define-public python-pyqt6-sip
+  (package
+    (inherit python-pyqt5-sip)
+    (name "python-pyqt6-sip")
+    (version "13.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "PyQt6_sip" version))
+       (sha256
+        (base32
+         "0y2pgc1kzskq3q230b5d48izvzy9dl4hkfjpcr7kv53ih1cf31i4"))))
+    (synopsis "Sip module support for PyQt6")
+    (description "Sip module support for PyQt6")))
+
 (define-public python-pyqtwebengine
   (package
     (name "python-pyqtwebengine")

base-commit: b7abea0fd6a146563830db1dc4ddd0cceb6fcf1c
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#57431] [PATCH v1 2/3] gnu: Add python-pyqt, version 6.5.2.
  2023-11-19 15:18 ` [bug#57431] [PATCH v1 1/3] gnu: Add python-pyqt6-sip Herman Rimm via Guix-patches via
@ 2023-11-19 15:18   ` Herman Rimm via Guix-patches via
  2023-11-22 15:47     ` Ludovic Courtès
  2023-11-19 15:18   ` [bug#57431] [PATCH v1 3/3] gnu: Add python-pyqtwebengine, version 6.6.0 Herman Rimm via Guix-patches via
  2023-11-22 15:43   ` [bug#57431] [PATCH v1 1/3] gnu: Add python-pyqt6-sip Ludovic Courtès
  2 siblings, 1 reply; 18+ messages in thread
From: Herman Rimm via Guix-patches via @ 2023-11-19 15:18 UTC (permalink / raw)
  To: 57431; +Cc: Zhu Zihao, Andreas Enge, Maxim Cournoyer,
	宋文武

From: Zhu Zihao <all_but_last@163.com>

* gnu/packages/qt.scm (python-pyqt-6): New variable.
---
 gnu/packages/qt.scm | 49 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 242a5da172..eea13d1ea2 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -29,6 +29,7 @@
 ;;; Copyright © 2022 Yash Tiwari <yasht@mailbox.org>
 ;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
 ;;; Copyright © 2022 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2023 Herman Rimm <herman@rimm.ee>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3656,6 +3657,54 @@ (define-public python-pyqt
 contain over 620 classes.")
     (license license:gpl3)))
 
+(define-public python-pyqt-6
+  (package
+    (inherit python-pyqt)
+    (version "6.5.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "PyQt6" version))
+       (file-name (string-append "PyQt6-" version ".tar.gz"))
+       (sha256
+        (base32
+         "100jh1iiz5gx821qzgicfrqv7hjjj98pchdbc1nvdzzra1ryx1ql"))))
+    (inputs ; Qt5 dependencies only in python-pyqt:
+     ; (qt)connectivity, location, sensors, serialport, x11extras, xmlpatterns.
+     `(("python" ,python-wrapper)
+       ("qtbase" ,qtbase)
+       ("qtdeclarative" ,qtdeclarative)
+       ("qtmultimedia" ,qtmultimedia)
+       ("qtpositioning" ,qtpositioning)
+       ("qtsvg" ,qtsvg)
+       ("qttools" ,qttools)
+       ("qtwebchannel" ,qtwebchannel)
+       ("qtwebsockets" ,qtwebsockets)))
+    (propagated-inputs
+     (list python-sip python-pyqt6-sip))
+    (native-inputs
+     (list python-pyqt-builder
+           qtbase))                     ;for qmake
+    (arguments
+      (list
+       #:tests? #f ; No tests.
+       #:configure-flags
+       #~`(@ ("--verbose" . "") ; Print commands run.
+             ("--confirm-license" . "")
+             ("--jobs" . ,(number->string (parallel-job-count))))
+       #:phases
+       #~(modify-phases %standard-phases
+         ;; When building python-pyqtwebengine, <qprinter.h> can not be
+         ;; included.  Here we substitute the full path to the header in the
+         ;; store.
+         (add-after 'unpack 'substitute-source
+           (lambda* (#:key inputs  #:allow-other-keys)
+             (let* ((qtbase (assoc-ref inputs "qtbase"))
+                    (qtprinter.h (string-append "\"" qtbase "/include/qt6/QtPrintSupport/qprinter.h\"")))
+               (substitute* (list "sip/QtPrintSupport/qprinter.sip"
+                                  "sip/QtPrintSupport/qpyprintsupport_qlist.sip")
+                 (("<qprinter.h>") qtprinter.h))))))))))
+
 (define-public python-pyqt5-sip
   (package
     (name "python-pyqt5-sip")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#57431] [PATCH v1 3/3] gnu: Add python-pyqtwebengine, version 6.6.0.
  2023-11-19 15:18 ` [bug#57431] [PATCH v1 1/3] gnu: Add python-pyqt6-sip Herman Rimm via Guix-patches via
  2023-11-19 15:18   ` [bug#57431] [PATCH v1 2/3] gnu: Add python-pyqt, version 6.5.2 Herman Rimm via Guix-patches via
@ 2023-11-19 15:18   ` Herman Rimm via Guix-patches via
  2023-11-22 15:49     ` Ludovic Courtès
  2023-11-22 15:43   ` [bug#57431] [PATCH v1 1/3] gnu: Add python-pyqt6-sip Ludovic Courtès
  2 siblings, 1 reply; 18+ messages in thread
From: Herman Rimm via Guix-patches via @ 2023-11-19 15:18 UTC (permalink / raw)
  To: 57431; +Cc: Zhu Zihao, Andreas Enge, Maxim Cournoyer,
	宋文武

From: Zhu Zihao <all_but_last@163.com>

* gnu/packages/qt.scm (python-pyqtwebengine-6): New variable.
---
 gnu/packages/qt.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index eea13d1ea2..3418900d16 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3796,6 +3796,50 @@ (define-public python-pyqtwebengine
 itself.")
     (license license:gpl3)))
 
+(define-public python-pyqtwebengine-6
+  (package
+    (inherit python-pyqtwebengine)
+    (version "6.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "PyQt6_WebEngine" version))
+       (sha256
+        (base32
+         "11wlnggs5vi7z465xhmnz664wbaj44ki6mmijbk0kr457x69h2ym"))))
+    (native-inputs
+     (list python python-sip
+           python-pyqt-builder
+           ;; qtbase is required for qmake
+           qtbase))
+    (inputs
+     `(("python-pyqt" ,python-pyqt-6)
+       ("qtbase" ,qtbase)
+       ("qtdeclarative" ,qtdeclarative)
+       ("qtwebchannel" ,qtwebchannel)
+       ("qtwebengine" ,qtwebengine)))
+    (arguments
+     (list
+      #:tests? #f ; No tests.
+      #:configure-flags
+      #~`(@ ("--verbose" . "") ; Print commands run.
+            ("--jobs" . ,(number->string (parallel-job-count))))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'set-include-dirs
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (let* ((python (assoc-ref inputs "python"))
+                     (python-pyqt (assoc-ref inputs "python-pyqt"))
+                     (sip-include-dirs (string-append
+                                        python-pyqt "/lib/python"
+                                        (python-version python)
+                                        "/site-packages/PyQt6/bindings")))
+              (setenv "SIP_INCLUDE_DIRS" sip-include-dirs)))))))
+    (description
+     "PyQtWebEngine is a set of Python bindings for The Qt Company's Qt
+WebEngine libraries.  The bindings sit on top of PyQt6 and are implemented as a
+set of three modules.")))
+
 (define-public python-pyqt-builder
   (package
    (name "python-pyqt-builder")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#57431] [PATCH v1 1/3] gnu: Add python-pyqt6-sip.
  2023-11-19 15:18 ` [bug#57431] [PATCH v1 1/3] gnu: Add python-pyqt6-sip Herman Rimm via Guix-patches via
  2023-11-19 15:18   ` [bug#57431] [PATCH v1 2/3] gnu: Add python-pyqt, version 6.5.2 Herman Rimm via Guix-patches via
  2023-11-19 15:18   ` [bug#57431] [PATCH v1 3/3] gnu: Add python-pyqtwebengine, version 6.6.0 Herman Rimm via Guix-patches via
@ 2023-11-22 15:43   ` Ludovic Courtès
  2 siblings, 0 replies; 18+ messages in thread
From: Ludovic Courtès @ 2023-11-22 15:43 UTC (permalink / raw)
  To: Herman Rimm
  Cc: 宋文武, Andreas Enge, 57431, Zhu Zihao,
	Maxim Cournoyer

Hi,

Herman Rimm <herman@rimm.ee> skribis:

> From: Zhu Zihao <all_but_last@163.com>
>
> * gnu/packages/qt.scm (python-pyqt6-sip): New variable.

[...]

> +    (inherit python-pyqt5-sip)
> +    (name "python-pyqt6-sip")
> +    (version "13.6.0")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "PyQt6_sip" version))
> +       (sha256
> +        (base32
> +         "0y2pgc1kzskq3q230b5d48izvzy9dl4hkfjpcr7kv53ih1cf31i4"))))
> +    (synopsis "Sip module support for PyQt6")
> +    (description "Sip module support for PyQt6")))

I know the issue was already present, but it would be great if you could
provide a description that follows our conventions, possible in
‘python-pyqt5-sip’ proper:

  https://guix.gnu.org/manual/devel/en/html_node/Synopses-and-Descriptions.html

Ludo’.




^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#57431] [PATCH v1 2/3] gnu: Add python-pyqt, version 6.5.2.
  2023-11-19 15:18   ` [bug#57431] [PATCH v1 2/3] gnu: Add python-pyqt, version 6.5.2 Herman Rimm via Guix-patches via
@ 2023-11-22 15:47     ` Ludovic Courtès
  0 siblings, 0 replies; 18+ messages in thread
From: Ludovic Courtès @ 2023-11-22 15:47 UTC (permalink / raw)
  To: Herman Rimm
  Cc: 宋文武, Andreas Enge, 57431, Zhu Zihao,
	Maxim Cournoyer

Herman Rimm <herman@rimm.ee> skribis:

> From: Zhu Zihao <all_but_last@163.com>
>
> * gnu/packages/qt.scm (python-pyqt-6): New variable.

[...]

> +    (inputs ; Qt5 dependencies only in python-pyqt:
> +     ; (qt)connectivity, location, sensors, serialport, x11extras, xmlpatterns.
> +     `(("python" ,python-wrapper)
> +       ("qtbase" ,qtbase)
> +       ("qtdeclarative" ,qtdeclarative)
> +       ("qtmultimedia" ,qtmultimedia)
> +       ("qtpositioning" ,qtpositioning)
> +       ("qtsvg" ,qtsvg)
> +       ("qttools" ,qttools)
> +       ("qtwebchannel" ,qtwebchannel)
> +       ("qtwebsockets" ,qtwebsockets)))

Could you run ‘guix style -f inputs --input-simplification=always python-pyqt-6’?

> +       #:phases
> +       #~(modify-phases %standard-phases
> +         ;; When building python-pyqtwebengine, <qprinter.h> can not be
> +         ;; included.  Here we substitute the full path to the header in the
> +         ;; store.
> +         (add-after 'unpack 'substitute-source
> +           (lambda* (#:key inputs  #:allow-other-keys)
> +             (let* ((qtbase (assoc-ref inputs "qtbase"))
> +                    (qtprinter.h (string-append "\"" qtbase "/include/qt6/QtPrintSupport/qprinter.h\"")))

I understand it’s copied from ‘python-pyqt’ but IWBN to write it along
these lines:

  (let ((qtprinter.h
         (search-input-file inputs
                            "/include/qt6/QtPrintSupport/qprinter.h")))
    …)

(We could make the same changes in ‘python-pyqt’ in a separate patch.)

Thanks,
Ludo’.




^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#57431] [PATCH v1 3/3] gnu: Add python-pyqtwebengine, version 6.6.0.
  2023-11-19 15:18   ` [bug#57431] [PATCH v1 3/3] gnu: Add python-pyqtwebengine, version 6.6.0 Herman Rimm via Guix-patches via
@ 2023-11-22 15:49     ` Ludovic Courtès
  0 siblings, 0 replies; 18+ messages in thread
From: Ludovic Courtès @ 2023-11-22 15:49 UTC (permalink / raw)
  To: Herman Rimm
  Cc: 宋文武, Andreas Enge, 57431, Zhu Zihao,
	Maxim Cournoyer

Herman Rimm <herman@rimm.ee> skribis:

> From: Zhu Zihao <all_but_last@163.com>
>
> * gnu/packages/qt.scm (python-pyqtwebengine-6): New variable.

[...]

> +    (inputs
> +     `(("python-pyqt" ,python-pyqt-6)
> +       ("qtbase" ,qtbase)
> +       ("qtdeclarative" ,qtdeclarative)
> +       ("qtwebchannel" ,qtwebchannel)
> +       ("qtwebengine" ,qtwebengine)))

[...]

> +                     (sip-include-dirs (string-append
> +                                        python-pyqt "/lib/python"
> +                                        (python-version python)
> +                                        "/site-packages/PyQt6/bindings")))

Similar comments as before regarding ‘guix style -S inputs’ and use of
‘search-input-directory’ above.

Could you send updated patches?

Thanks in advance!

Ludo’.




^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#57431] [PATCH v2 1/3] gnu: Add python-pyqt6-sip.
  2022-08-26 14:50 [bug#57431] [PATCH]: Add PyQt 6 Zhu Zihao
                   ` (2 preceding siblings ...)
  2023-11-19 15:18 ` [bug#57431] [PATCH v1 1/3] gnu: Add python-pyqt6-sip Herman Rimm via Guix-patches via
@ 2023-11-23  7:20 ` Herman Rimm via Guix-patches via
  2023-11-23  7:20   ` [bug#57431] [PATCH v2 2/3] gnu: Add python-pyqt, version 6.5.2 Herman Rimm via Guix-patches via
  2023-11-23  7:20   ` [bug#57431] [PATCH v2 3/3] gnu: Add python-pyqtwebengine, version 6.6.0 Herman Rimm via Guix-patches via
  2023-11-23 11:59 ` [bug#57431] [PATCH v3 1/3] gnu: Add python-pyqt6-sip Herman Rimm via Guix-patches via
  2023-11-30  9:50 ` [bug#57431] [PATCH]: Add PyQt 6 chris
  5 siblings, 2 replies; 18+ messages in thread
From: Herman Rimm via Guix-patches via @ 2023-11-23  7:20 UTC (permalink / raw)
  To: 57431; +Cc: Zhu Zihao, Andreas Enge, Maxim Cournoyer,
	宋文武

From: Zhu Zihao <all_but_last@163.com>

* gnu/packages/qt.scm (python-pyqt6-sip): New variable.
---
 gnu/packages/qt.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 12785c811f..242a5da172 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3675,6 +3675,21 @@ (define-public python-pyqt5-sip
     (description "Sip module support for PyQt5")
     (license license:lgpl2.1+)))
 
+(define-public python-pyqt6-sip
+  (package
+    (inherit python-pyqt5-sip)
+    (name "python-pyqt6-sip")
+    (version "13.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "PyQt6_sip" version))
+       (sha256
+        (base32
+         "0y2pgc1kzskq3q230b5d48izvzy9dl4hkfjpcr7kv53ih1cf31i4"))))
+    (synopsis "Sip module support for PyQt6")
+    (description "Sip module support for PyQt6")))
+
 (define-public python-pyqtwebengine
   (package
     (name "python-pyqtwebengine")

base-commit: 5283d24062be62f59ff9f14fa7095ebcfcb7a9a4
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#57431] [PATCH v2 2/3] gnu: Add python-pyqt, version 6.5.2.
  2023-11-23  7:20 ` [bug#57431] [PATCH v2 " Herman Rimm via Guix-patches via
@ 2023-11-23  7:20   ` Herman Rimm via Guix-patches via
  2023-11-23  7:20   ` [bug#57431] [PATCH v2 3/3] gnu: Add python-pyqtwebengine, version 6.6.0 Herman Rimm via Guix-patches via
  1 sibling, 0 replies; 18+ messages in thread
From: Herman Rimm via Guix-patches via @ 2023-11-23  7:20 UTC (permalink / raw)
  To: 57431; +Cc: Zhu Zihao, Andreas Enge, Maxim Cournoyer,
	宋文武

From: Zhu Zihao <all_but_last@163.com>

* gnu/packages/qt.scm (python-pyqt-6): New variable.
---
 gnu/packages/qt.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 242a5da172..22569f5f75 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -29,6 +29,7 @@
 ;;; Copyright © 2022 Yash Tiwari <yasht@mailbox.org>
 ;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
 ;;; Copyright © 2022 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2023 Herman Rimm <herman@rimm.ee>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3656,6 +3657,50 @@ (define-public python-pyqt
 contain over 620 classes.")
     (license license:gpl3)))
 
+(define-public python-pyqt-6
+  (package
+    (inherit python-pyqt)
+    (version "6.5.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "PyQt6" version))
+       (file-name (string-append "PyQt6-" version ".tar.gz"))
+       (sha256
+        (base32 "100jh1iiz5gx821qzgicfrqv7hjjj98pchdbc1nvdzzra1ryx1ql"))))
+    (inputs ;Qt5 dependencies only in python-pyqt:
+            ;; (qt)connectivity, location, sensors, serialport, x11extras, xmlpatterns.
+            (list python-wrapper
+                  qtbase
+                  qtdeclarative
+                  qtmultimedia
+                  qtpositioning
+                  qtsvg
+                  qttools
+                  qtwebchannel
+                  qtwebsockets))
+    (propagated-inputs (list python-sip python-pyqt6-sip))
+    (native-inputs (list python-pyqt-builder qtbase)) ;qtbase is required for qmake.
+    (arguments
+     (list
+      #:tests? #f ;No tests.
+      #:configure-flags #~`(@ ("--verbose" . "") ;Print commands run.
+                              ("--confirm-license" . "")
+                              ("--jobs" unquote
+                               (number->string (parallel-job-count))))
+      #:phases #~(modify-phases %standard-phases
+                   ;; When building python-pyqtwebengine, <qprinter.h> cannot be
+                   ;; included.  Here we substitute the full path to the header in the
+                   ;; store.
+                   (add-after 'unpack 'substitute-source
+                     (lambda* (#:key inputs #:allow-other-keys)
+                       (let* ((qprinter.h (search-input-file inputs
+                                            "/include/qt6/QtPrintSupport/qprinter.h")))
+                         (substitute* (list "sip/QtPrintSupport/qprinter.sip"
+                                       "sip/QtPrintSupport/qpyprintsupport_qlist.sip")
+                           (("qprinter.h")
+                            qprinter.h))))))))))
+
 (define-public python-pyqt5-sip
   (package
     (name "python-pyqt5-sip")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#57431] [PATCH v2 3/3] gnu: Add python-pyqtwebengine, version 6.6.0.
  2023-11-23  7:20 ` [bug#57431] [PATCH v2 " Herman Rimm via Guix-patches via
  2023-11-23  7:20   ` [bug#57431] [PATCH v2 2/3] gnu: Add python-pyqt, version 6.5.2 Herman Rimm via Guix-patches via
@ 2023-11-23  7:20   ` Herman Rimm via Guix-patches via
  1 sibling, 0 replies; 18+ messages in thread
From: Herman Rimm via Guix-patches via @ 2023-11-23  7:20 UTC (permalink / raw)
  To: 57431; +Cc: Zhu Zihao, Andreas Enge, Maxim Cournoyer,
	宋文武

From: Zhu Zihao <all_but_last@163.com>

* gnu/packages/qt.scm (python-pyqtwebengine-6): New variable.
---
 gnu/packages/qt.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 22569f5f75..6ac6afba6e 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3792,6 +3792,39 @@ (define-public python-pyqtwebengine
 itself.")
     (license license:gpl3)))
 
+(define-public python-pyqtwebengine-6
+  (package
+    (inherit python-pyqtwebengine)
+    (version "6.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "PyQt6_WebEngine" version))
+       (sha256
+        (base32 "11wlnggs5vi7z465xhmnz664wbaj44ki6mmijbk0kr457x69h2ym"))))
+    (native-inputs (list python python-sip python-pyqt-builder
+                         ;; qtbase is required for qmake
+                         qtbase))
+    (inputs (list python-pyqt-6 qtbase qtdeclarative qtwebchannel qtwebengine))
+    (arguments
+     (list
+      #:tests? #f ;No tests.
+      #:configure-flags #~`(@ ("--verbose" . "") ;Print commands run.
+                              ("--jobs" unquote
+                               (number->string (parallel-job-count))))
+      #:phases #~(modify-phases %standard-phases
+                   (add-after 'unpack 'set-include-dirs
+                     (lambda* (#:key inputs outputs #:allow-other-keys)
+                       (let* ((version (python-version (assoc-ref inputs "python")))
+                              (sip-include-dirs (search-input-directory inputs
+                                                 (string-append "/lib/python" version
+                                                                "/site-packages/PyQt6/bindings"))))
+                         (setenv "SIP_INCLUDE_DIRS" sip-include-dirs)))))))
+    (description
+     "PyQtWebEngine is a set of Python bindings for The Qt Company's Qt
+WebEngine libraries.  The bindings sit on top of PyQt6 and are implemented as a
+set of three modules.")))
+
 (define-public python-pyqt-builder
   (package
    (name "python-pyqt-builder")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#57431] [PATCH v3 1/3] gnu: Add python-pyqt6-sip.
  2022-08-26 14:50 [bug#57431] [PATCH]: Add PyQt 6 Zhu Zihao
                   ` (3 preceding siblings ...)
  2023-11-23  7:20 ` [bug#57431] [PATCH v2 " Herman Rimm via Guix-patches via
@ 2023-11-23 11:59 ` Herman Rimm via Guix-patches via
  2023-11-23 11:59   ` [bug#57431] [PATCH v3 2/3] gnu: Add python-pyqt, version 6.5.2 Herman Rimm via Guix-patches via
                     ` (2 more replies)
  2023-11-30  9:50 ` [bug#57431] [PATCH]: Add PyQt 6 chris
  5 siblings, 3 replies; 18+ messages in thread
From: Herman Rimm via Guix-patches via @ 2023-11-23 11:59 UTC (permalink / raw)
  To: 57431; +Cc: Zhu Zihao, Andreas Enge, Maxim Cournoyer,
	宋文武

From: Zhu Zihao <all_but_last@163.com>

* gnu/packages/qt.scm (python-pyqt6-sip): New variable.
---
 gnu/packages/qt.scm | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 12785c811f..c703dbf4cc 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3675,6 +3675,22 @@ (define-public python-pyqt5-sip
     (description "Sip module support for PyQt5")
     (license license:lgpl2.1+)))
 
+(define-public python-pyqt6-sip
+  (package
+    (inherit python-pyqt5-sip)
+    (name "python-pyqt6-sip")
+    (version "13.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "PyQt6_sip" version))
+       (sha256
+        (base32 "0y2pgc1kzskq3q230b5d48izvzy9dl4hkfjpcr7kv53ih1cf31i4"))))
+    (synopsis "Sip module support for PyQt6")
+    (description
+     "SIP is used to write self contained extension modules, i.e. without a library
+to be wrapped. This SIP extension module provides support for the PyQt6 package.")))
+
 (define-public python-pyqtwebengine
   (package
     (name "python-pyqtwebengine")

base-commit: 5283d24062be62f59ff9f14fa7095ebcfcb7a9a4
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#57431] [PATCH v3 2/3] gnu: Add python-pyqt, version 6.5.2.
  2023-11-23 11:59 ` [bug#57431] [PATCH v3 1/3] gnu: Add python-pyqt6-sip Herman Rimm via Guix-patches via
@ 2023-11-23 11:59   ` Herman Rimm via Guix-patches via
  2023-11-23 11:59   ` [bug#57431] [PATCH v3 3/3] gnu: Add python-pyqtwebengine, version 6.6.0 Herman Rimm via Guix-patches via
  2023-12-22 16:14   ` bug#57431: [PATCH v3 1/3] gnu: Add python-pyqt6-sip Ludovic Courtès
  2 siblings, 0 replies; 18+ messages in thread
From: Herman Rimm via Guix-patches via @ 2023-11-23 11:59 UTC (permalink / raw)
  To: 57431; +Cc: Zhu Zihao, Andreas Enge, Maxim Cournoyer,
	宋文武

From: Zhu Zihao <all_but_last@163.com>

* gnu/packages/qt.scm (python-pyqt-6): New variable.
---
 gnu/packages/qt.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index c703dbf4cc..1b8c56ef28 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -29,6 +29,7 @@
 ;;; Copyright © 2022 Yash Tiwari <yasht@mailbox.org>
 ;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
 ;;; Copyright © 2022 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2023 Herman Rimm <herman@rimm.ee>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3656,6 +3657,50 @@ (define-public python-pyqt
 contain over 620 classes.")
     (license license:gpl3)))
 
+(define-public python-pyqt-6
+  (package
+    (inherit python-pyqt)
+    (version "6.5.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "PyQt6" version))
+       (file-name (string-append "PyQt6-" version ".tar.gz"))
+       (sha256
+        (base32 "100jh1iiz5gx821qzgicfrqv7hjjj98pchdbc1nvdzzra1ryx1ql"))))
+    (inputs ;Qt5 dependencies only in python-pyqt:
+            ;; (qt)connectivity, location, sensors, serialport, x11extras, xmlpatterns.
+            (list python-wrapper
+                  qtbase
+                  qtdeclarative
+                  qtmultimedia
+                  qtpositioning
+                  qtsvg
+                  qttools
+                  qtwebchannel
+                  qtwebsockets))
+    (propagated-inputs (list python-sip python-pyqt6-sip))
+    (native-inputs (list python-pyqt-builder qtbase)) ;qtbase is required for qmake.
+    (arguments
+     (list
+      #:tests? #f ;No tests.
+      #:configure-flags #~`(@ ("--verbose" . "") ;Print commands run.
+                              ("--confirm-license" . "")
+                              ("--jobs" unquote
+                               (number->string (parallel-job-count))))
+      #:phases #~(modify-phases %standard-phases
+                   ;; When building python-pyqtwebengine, <qprinter.h> cannot be
+                   ;; included.  Here we substitute the full path to the header in the
+                   ;; store.
+                   (add-after 'unpack 'substitute-source
+                     (lambda* (#:key inputs #:allow-other-keys)
+                       (let* ((qprinter.h (search-input-file inputs
+                                           "/include/qt6/QtPrintSupport/qprinter.h")))
+                         (substitute* (list "sip/QtPrintSupport/qprinter.sip"
+                                       "sip/QtPrintSupport/qpyprintsupport_qlist.sip")
+                           (("qprinter.h")
+                            qprinter.h))))))))))
+
 (define-public python-pyqt5-sip
   (package
     (name "python-pyqt5-sip")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#57431] [PATCH v3 3/3] gnu: Add python-pyqtwebengine, version 6.6.0.
  2023-11-23 11:59 ` [bug#57431] [PATCH v3 1/3] gnu: Add python-pyqt6-sip Herman Rimm via Guix-patches via
  2023-11-23 11:59   ` [bug#57431] [PATCH v3 2/3] gnu: Add python-pyqt, version 6.5.2 Herman Rimm via Guix-patches via
@ 2023-11-23 11:59   ` Herman Rimm via Guix-patches via
  2023-12-22 16:14   ` bug#57431: [PATCH v3 1/3] gnu: Add python-pyqt6-sip Ludovic Courtès
  2 siblings, 0 replies; 18+ messages in thread
From: Herman Rimm via Guix-patches via @ 2023-11-23 11:59 UTC (permalink / raw)
  To: 57431; +Cc: Zhu Zihao, Andreas Enge, Maxim Cournoyer,
	宋文武

From: Zhu Zihao <all_but_last@163.com>

* gnu/packages/qt.scm (python-pyqtwebengine-6): New variable.
---
 gnu/packages/qt.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 1b8c56ef28..ba944a3355 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3793,6 +3793,40 @@ (define-public python-pyqtwebengine
 itself.")
     (license license:gpl3)))
 
+(define-public python-pyqtwebengine-6
+  (package
+    (inherit python-pyqtwebengine)
+    (version "6.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "PyQt6_WebEngine" version))
+       (sha256
+        (base32 "11wlnggs5vi7z465xhmnz664wbaj44ki6mmijbk0kr457x69h2ym"))))
+    (native-inputs (list python python-sip python-pyqt-builder
+                         ;; qtbase is required for qmake
+                         qtbase))
+    (inputs (list python-pyqt-6 qtbase qtdeclarative qtwebchannel qtwebengine))
+    (arguments
+     (list
+      #:tests? #f ;No tests.
+      #:configure-flags #~`(@ ("--verbose" . "") ;Print commands run.
+                              ("--jobs" unquote
+                               (number->string (parallel-job-count))))
+      #:phases #~(modify-phases %standard-phases
+                   (add-after 'unpack 'set-include-dirs
+                     (lambda* (#:key inputs outputs #:allow-other-keys)
+                       (let* ((python (assoc-ref inputs "python"))
+                              (sip-include-dirs (search-input-directory inputs
+                                                 (string-append "/lib/python"
+                                                  (python-version python)
+                                                  "/site-packages/PyQt6/bindings"))))
+                         (setenv "SIP_INCLUDE_DIRS" sip-include-dirs)))))))
+    (description
+     "PyQtWebEngine is a set of Python bindings for The Qt Company's Qt
+WebEngine libraries.  The bindings sit on top of PyQt6 and are implemented as a
+set of three modules.")))
+
 (define-public python-pyqt-builder
   (package
    (name "python-pyqt-builder")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#57431] [PATCH]: Add PyQt 6.
  2022-08-26 14:50 [bug#57431] [PATCH]: Add PyQt 6 Zhu Zihao
                   ` (4 preceding siblings ...)
  2023-11-23 11:59 ` [bug#57431] [PATCH v3 1/3] gnu: Add python-pyqt6-sip Herman Rimm via Guix-patches via
@ 2023-11-30  9:50 ` chris
  5 siblings, 0 replies; 18+ messages in thread
From: chris @ 2023-11-30  9:50 UTC (permalink / raw)
  To: 57431; +Cc: chris

bumping this to please bring PyQt 6 and the latest version of qutebrowser!




^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#57431: [PATCH v3 1/3] gnu: Add python-pyqt6-sip.
  2023-11-23 11:59 ` [bug#57431] [PATCH v3 1/3] gnu: Add python-pyqt6-sip Herman Rimm via Guix-patches via
  2023-11-23 11:59   ` [bug#57431] [PATCH v3 2/3] gnu: Add python-pyqt, version 6.5.2 Herman Rimm via Guix-patches via
  2023-11-23 11:59   ` [bug#57431] [PATCH v3 3/3] gnu: Add python-pyqtwebengine, version 6.6.0 Herman Rimm via Guix-patches via
@ 2023-12-22 16:14   ` Ludovic Courtès
  2 siblings, 0 replies; 18+ messages in thread
From: Ludovic Courtès @ 2023-12-22 16:14 UTC (permalink / raw)
  To: Herman Rimm
  Cc: 宋文武, Andreas Enge, 57431-done,
	Maxim Cournoyer, Zhu Zihao

Hi Herman,

Herman Rimm <herman@rimm.ee> skribis:

> From: Zhu Zihao <all_but_last@163.com>
>
> * gnu/packages/qt.scm (python-pyqt6-sip): New variable.

[...]

> From: Zhu Zihao <all_but_last@163.com>
>
> * gnu/packages/qt.scm (python-pyqt-6): New variable.

[...]

> From: Zhu Zihao <all_but_last@163.com>
>
> * gnu/packages/qt.scm (python-pyqtwebengine-6): New variable.

Finally applied, thanks!

Ludo’.




^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2023-12-22 16:16 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-26 14:50 [bug#57431] [PATCH]: Add PyQt 6 Zhu Zihao
2023-04-13 15:04 ` ROCKTAKEY
2023-04-16  2:16   ` Zhu Zihao
2023-11-19 15:15 ` [bug#57431] Update packages to compatible versions Herman Rimm via Guix-patches via
2023-11-19 15:18 ` [bug#57431] [PATCH v1 1/3] gnu: Add python-pyqt6-sip Herman Rimm via Guix-patches via
2023-11-19 15:18   ` [bug#57431] [PATCH v1 2/3] gnu: Add python-pyqt, version 6.5.2 Herman Rimm via Guix-patches via
2023-11-22 15:47     ` Ludovic Courtès
2023-11-19 15:18   ` [bug#57431] [PATCH v1 3/3] gnu: Add python-pyqtwebengine, version 6.6.0 Herman Rimm via Guix-patches via
2023-11-22 15:49     ` Ludovic Courtès
2023-11-22 15:43   ` [bug#57431] [PATCH v1 1/3] gnu: Add python-pyqt6-sip Ludovic Courtès
2023-11-23  7:20 ` [bug#57431] [PATCH v2 " Herman Rimm via Guix-patches via
2023-11-23  7:20   ` [bug#57431] [PATCH v2 2/3] gnu: Add python-pyqt, version 6.5.2 Herman Rimm via Guix-patches via
2023-11-23  7:20   ` [bug#57431] [PATCH v2 3/3] gnu: Add python-pyqtwebengine, version 6.6.0 Herman Rimm via Guix-patches via
2023-11-23 11:59 ` [bug#57431] [PATCH v3 1/3] gnu: Add python-pyqt6-sip Herman Rimm via Guix-patches via
2023-11-23 11:59   ` [bug#57431] [PATCH v3 2/3] gnu: Add python-pyqt, version 6.5.2 Herman Rimm via Guix-patches via
2023-11-23 11:59   ` [bug#57431] [PATCH v3 3/3] gnu: Add python-pyqtwebengine, version 6.6.0 Herman Rimm via Guix-patches via
2023-12-22 16:14   ` bug#57431: [PATCH v3 1/3] gnu: Add python-pyqt6-sip Ludovic Courtès
2023-11-30  9:50 ` [bug#57431] [PATCH]: Add PyQt 6 chris

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).