Archived
1
0
Fork 0

gnu: python-pyqt: Update to 5.15.9.

Version 5.15.8 does not build.

* gnu/packages/qt.scm (python-pyqt): Update to 5.15.9.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pyqt-builder.
[arguments]: Disable tests, move 'configure phase into #:configure-flags.
This commit is contained in:
Lars-Dominik Braun 2023-03-30 11:50:13 +02:00
parent 9b7e8365e2
commit 628eefa369
No known key found for this signature in database
GPG key ID: F663943E08D8092A

View file

@ -54,6 +54,7 @@
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system qt) #:use-module (guix build-system qt)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix packages) #:use-module (guix packages)
@ -3274,7 +3275,7 @@ module provides support functions to the automatically generated code.")
(define-public python-pyqt (define-public python-pyqt
(package (package
(name "python-pyqt") (name "python-pyqt")
(version %qt-version) (version "5.15.9")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -3287,11 +3288,12 @@ module provides support functions to the automatically generated code.")
(file-name (string-append "PyQt5-" version ".tar.gz")) (file-name (string-append "PyQt5-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0q53xn1ax2kpfqwxkasby787ryq5a21chmw1p345cp0kp7py71dw")) "1h649rb1afdxskp28x524yp5kd9a97ainh9bd4mkxp4h390fhhfw"))
(patches (search-patches "pyqt-configure.patch")))) (patches (search-patches "pyqt-configure.patch"))))
(build-system gnu-build-system) (build-system pyproject-build-system)
(native-inputs (native-inputs
(list qtbase-5)) ; for qmake (list qtbase-5 ; for qmake
python-pyqt-builder))
(propagated-inputs (propagated-inputs
(list python-sip python-pyqt5-sip)) (list python-sip python-pyqt5-sip))
(inputs (inputs
@ -3310,47 +3312,24 @@ module provides support functions to the automatically generated code.")
("qtx11extras" ,qtx11extras) ("qtx11extras" ,qtx11extras)
("qtxmlpatterns" ,qtxmlpatterns))) ("qtxmlpatterns" ,qtxmlpatterns)))
(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) ("--confirm-license" . "")
("--jobs" . ,(number->string (parallel-job-count))))
#:phases #:phases
(modify-phases %standard-phases #~(modify-phases %standard-phases
;; When building python-pyqtwebengine, <qprinter.h> can not be ;; When building python-pyqtwebengine, <qprinter.h> can not be
;; included. Here we substitute the full path to the header in the ;; included. Here we substitute the full path to the header in the
;; store. ;; store.
(add-before 'configure 'substitute-source (add-after 'unpack 'substitute-source
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let* ((qtbase (assoc-ref inputs "qtbase")) (let* ((qtbase (assoc-ref inputs "qtbase"))
(qtprinter.h (string-append "\"" qtbase "/include/qt5/QtPrintSupport/qprinter.h\""))) (qtprinter.h (string-append "\"" qtbase "/include/qt5/QtPrintSupport/qprinter.h\"")))
(substitute* "sip/QtPrintSupport/qprinter.sip" (substitute* (list "sip/QtPrintSupport/qprinter.sip"
(("<qprinter.h>") qtprinter.h))))) "sip/QtPrintSupport/qpyprintsupport_qlist.sip")
(replace 'configure (("<qprinter.h>") qtprinter.h))))))))
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(sip (string-append out "/share/sip"))
(plugins (string-append out "/lib/qt5/plugins"))
(designer (string-append plugins "/designer"))
(qml (string-append plugins "/PyQt5"))
(python (assoc-ref inputs "python"))
(lib (string-append out "/lib/python"
(python-version python)
"/site-packages"))
(stubs (string-append lib "/PyQt5")))
(invoke "python" "configure.py"
"--confirm-license"
"--bindir" bin
"--destdir" lib
"--designer-plugindir" designer
"--qml-plugindir" qml
; Where to install the PEP 484 Type Hints stub
; files. Without this the stubs are tried to be
; installed into the python package's
; site-package directory, which is read-only.
"--stubsdir" stubs
"--sipdir" sip)))))))
(home-page "https://www.riverbankcomputing.com/software/pyqt/intro") (home-page "https://www.riverbankcomputing.com/software/pyqt/intro")
(synopsis "Python bindings for Qt") (synopsis "Python bindings for Qt")
(description (description