gnu: python-pyqtwebengine: Update to 5.15.9.

* gnu/packages/qt.scm (python-pyqtwebengine): Update to 5.15.9.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pyqt-builder.
[arguments]: Move 'configure phase into #:configure-flags, drop
'make-namespace, add 'set-include-dirs.
This commit is contained in:
Lars-Dominik Braun 2023-03-30 11:52:53 +02:00
parent 628eefa369
commit d9dc32b871
No known key found for this signature in database
GPG key ID: F663943E08D8092A

View file

@ -3360,7 +3360,7 @@ (define-public python-pyqt5-sip
(define-public python-pyqtwebengine (define-public python-pyqtwebengine
(package (package
(name "python-pyqtwebengine") (name "python-pyqtwebengine")
(version %qt-version) (version "5.15.9")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -3373,9 +3373,10 @@ (define-public python-pyqtwebengine
(sha256 (sha256
(base32 (base32
"0hdr0g0rzlhsnylhfk826pq1lw8p9dqcr8yma2wy9dgjrj6n0ixb")))) "0hdr0g0rzlhsnylhfk826pq1lw8p9dqcr8yma2wy9dgjrj6n0ixb"))))
(build-system gnu-build-system) (build-system pyproject-build-system)
(native-inputs (native-inputs
(list python python-sip (list python python-sip
python-pyqt-builder
;; qtbase is required for qmake ;; qtbase is required for qmake
qtbase-5)) qtbase-5))
(inputs (inputs
@ -3388,48 +3389,22 @@ (define-public python-pyqtwebengine
("qtwebchannel-5" ,qtwebchannel-5) ("qtwebchannel-5" ,qtwebchannel-5)
("qtwebengine-5" ,qtwebengine-5))) ("qtwebengine-5" ,qtwebengine-5)))
(arguments (arguments
`(#:modules ((srfi srfi-1) (list
((guix build python-build-system) #:select (python-version)) #:tests? #f ; No tests.
,@%gnu-build-system-modules) #:configure-flags
#:imported-modules ((guix build python-build-system) #~`(@ ("--verbose" . "") ; Print commands run.
,@%gnu-build-system-modules) ("--jobs" . ,(number->string (parallel-job-count))))
#:phases #:phases
(modify-phases %standard-phases #~(modify-phases %standard-phases
(replace 'configure (add-after 'unpack 'set-include-dirs
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((python (assoc-ref inputs "python"))
(sipdir (string-append out "/share/sip")) (python-pyqt (assoc-ref inputs "python-pyqt"))
(pyqt-sipdir (string-append (sip-include-dirs (string-append
(assoc-ref inputs "python-pyqt") "/share/sip")) python-pyqt "/lib/python"
(python (assoc-ref inputs "python"))
(lib (string-append out "/lib/python"
(python-version python) (python-version python)
"/site-packages/PyQt5")) "/site-packages/PyQt5/bindings")))
(stubs (string-append lib "/PyQt5"))) (setenv "SIP_INCLUDE_DIRS" sip-include-dirs)))))))
(mkdir-p sipdir)
(invoke "python" "configure.py"
"-w"
"--no-dist-info"
"--destdir" lib
"--no-qsci-api"
"--stubsdir" stubs
"--sipdir" sipdir
"--pyqt-sipdir" pyqt-sipdir))))
;; Because this has a different prefix than python-pyqt then we need
;; to make this a namespace of its own.
(add-after 'install 'make-namespace
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((__init__.py (string-append
(assoc-ref outputs "out")
"/lib/python"
(python-version (assoc-ref inputs "python"))
"/site-packages/PyQt5/__init__.py")))
(with-output-to-file __init__.py
(lambda _ (display "
from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)
")))))))))
(home-page "https://www.riverbankcomputing.com/software/pyqtwebengine/intro") (home-page "https://www.riverbankcomputing.com/software/pyqtwebengine/intro")
(synopsis "Python bindings for QtWebEngine") (synopsis "Python bindings for QtWebEngine")
(description (description