diff options
Diffstat (limited to 'gnu/packages/qt.scm')
-rw-r--r-- | gnu/packages/qt.scm | 231 |
1 files changed, 98 insertions, 133 deletions
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 8cda634cef..c3722549cc 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1,11 +1,11 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2013, 2014, 2015, 2023 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2015, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> ;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be> -;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2017, 2018, 2019, 2023 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Quiliro <quiliro@fsfla.org> ;;; Copyright © 2017, 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2020, 2022 Nicolas Goaziou <mail@nicolasgoaziou.fr> @@ -54,6 +54,7 @@ #:use-module (guix build-system meson) #:use-module (guix build-system trivial) #:use-module (guix build-system python) + #:use-module (guix build-system pyproject) #:use-module (guix build-system qt) #:use-module (guix gexp) #:use-module (guix packages) @@ -125,6 +126,8 @@ #:use-module (gnu packages xml) #:use-module (srfi srfi-1)) +(define %qt-version "5.15.8") + (define-public qite (let ((commit "75fb3b6bbd5c6a5a8fc35e08a6efbfb588ed546a") (revision "74")) @@ -337,7 +340,7 @@ system, and the core design of Django is reused in Grantlee.") (define-public qtbase-5 (package (name "qtbase") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) @@ -756,6 +759,9 @@ developers using C++ or QML, a CSS & JavaScript like language.") ;; The 'tst_qfilesystemwatcher' installs a watcher on ;; '/home', which doesn't exist in the build container. "tst_qfilesystemwatcher" + ;; Not all of the tested formats are supported by our + ;; build of openssl; 871 passed, 122 failed. + "tst_qsslkey" ;; The 'mockplugins' test fail following error: "Unknown ;; platform linux-g++", and the other plugin tests ;; depend on it. @@ -875,7 +881,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (package (inherit qtbase-5) (name "qt3d") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) @@ -967,7 +973,7 @@ came with the @{qtgraphicaleffects} Qt 5 package.") (package (inherit qtbase-5) (name "qtsvg") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) @@ -1066,7 +1072,7 @@ HostData=lib/qt5 (define-public qtimageformats (package (inherit qtsvg-5) (name "qtimageformats") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) @@ -1093,7 +1099,7 @@ support for MNG, TGA, TIFF and WBMP image formats."))) (define-public qtx11extras (package (inherit qtsvg-5) (name "qtx11extras") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) @@ -1158,7 +1164,7 @@ XLSX document format.") (define-public qtxmlpatterns (package (inherit qtsvg-5) (name "qtxmlpatterns") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) @@ -1187,7 +1193,7 @@ xmlpatternsvalidator."))) (package (inherit qtsvg-5) (name "qtdeclarative") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) @@ -1365,7 +1371,7 @@ integrate QML code with JavaScript and C++.") (package (inherit qtsvg-5) (name "qtconnectivity") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) @@ -1383,7 +1389,7 @@ with Bluetooth and NFC."))) (define-public qtwebsockets-5 (package (inherit qtsvg-5) (name "qtwebsockets") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) @@ -1446,7 +1452,7 @@ consume data received from the server, or both.") (package (inherit qtsvg-5) (name "qtsensors") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) @@ -1475,7 +1481,7 @@ recognition API for devices."))) (package (inherit qtsvg-5) (name "qtmultimedia") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) @@ -1614,7 +1620,7 @@ set of plugins for interacting with pulseaudio and GStreamer.") (package (inherit qtsvg-5) (name "qtwayland") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) @@ -1714,7 +1720,7 @@ compositor libraries.") (package (inherit qtsvg-5) (name "qtserialport") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) @@ -1745,7 +1751,7 @@ interacting with serial ports from within Qt."))) (package (inherit qtsvg-5) (name "qtserialbus") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) @@ -1772,7 +1778,7 @@ and others."))) (define-public qtwebchannel-5 (package (inherit qtsvg-5) (name "qtwebchannel") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) @@ -1828,7 +1834,7 @@ application).") (package (inherit qtsvg-5) (name "qtwebglplugin") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) @@ -1857,7 +1863,7 @@ OpenGL ES 2.0 and can be used in HTML5 canvas elements"))) (package (inherit qtsvg-5) (name "qtwebview") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) @@ -1875,13 +1881,13 @@ native APIs where it makes sense."))) (package (inherit qtsvg-5) (name "qtlocation") - (version "5.15.5") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) (sha256 (base32 - "0mlhhhcxx3gpr9kh04c6fljxcj50c2j21r0wb9f7d7nk4flip7b2")))) + "0r16qxy0pfpwvna4gpz67jk3qv3qizfd659kc9iwdh8bhz7lpjrw")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg-5) ((#:tests? _ #f) #f) ; TODO: Enable the tests @@ -1932,7 +1938,7 @@ plugin for Adobe After Effects.") (package (inherit qtsvg-5) (name "qttools") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) @@ -2014,7 +2020,7 @@ the Qt community.") (package (inherit qtsvg-5) (name "qtscript") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) @@ -2033,7 +2039,7 @@ ECMAScript and Qt."))) (package (inherit qtsvg-5) (name "qtquickcontrols") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) @@ -2053,7 +2059,7 @@ can be used to build complete interfaces in Qt Quick."))) (package (inherit qtsvg-5) (name "qtquickcontrols2") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) @@ -2080,7 +2086,7 @@ not available."))) (package (inherit qtsvg-5) (name "qtgraphicaleffects") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) @@ -2103,14 +2109,15 @@ coloring, and many more."))) (package (inherit qtsvg-5) (name "qtgamepad") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) (sha256 (base32 "0vgxprgk7lak209wsg2ljzfkpwgjzscpbxmj5fyvvwm2pbnpspvk")))) - (native-inputs (list perl pkg-config)) + (native-inputs + (list perl pkg-config)) (inputs (list fontconfig freetype @@ -2129,7 +2136,7 @@ and mobile applications targeting TV-like form factors."))) (package (inherit qtsvg-5) (name "qtscxml") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) @@ -2187,14 +2194,15 @@ information and perform area based monitoring.") (package (inherit qtsvg-5) (name "qtpurchasing") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) (sha256 (base32 "0bjky5ncg9yhz4a63g3jl1r5pa6i09f6g8wgzs591mhybrbmhcw8")))) - (inputs (list qtbase-5 qtdeclarative-5)) + (inputs + (list qtbase-5 qtdeclarative-5)) (synopsis "Qt Purchasing module") (description "The Qt Purchasing module provides and in-app API for purchasing goods and services."))) @@ -2203,7 +2211,7 @@ purchasing goods and services."))) (package (inherit qtsvg-5) (name "qtcharts") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) @@ -2232,16 +2240,18 @@ selecting one of the charts themes.") (package (inherit qtsvg-5) (name "qtdatavis3d") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) (sha256 (base32 "1mr2kdshahxrkjs9wlgpr59jbqvyvlax16rlnca4iq00w3v5hrdh")))) - (arguments (substitute-keyword-arguments (package-arguments qtsvg-5) - ((#:tests? _ #f) #f))) ; TODO: Enable the tests - (inputs (list qtbase-5 qtdeclarative-5)) + (arguments + (substitute-keyword-arguments (package-arguments qtsvg-5) + ((#:tests? _ #f) #f))) ; TODO: Enable the tests + (inputs + (list qtbase-5 qtdeclarative-5)) (synopsis "Qt Data Visualization module") (description "The Qt Data Visualization module provides a way to visualize data in 3D as bar, scatter, and surface graphs. It is especially useful for @@ -2253,7 +2263,7 @@ customized by using themes or by adding custom items and labels to them.") (define-public qtnetworkauth-5 (package (inherit qtsvg-5) (name "qtnetworkauth") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) @@ -2326,15 +2336,16 @@ processes or computers.") (package (inherit qtsvg-5) (name "qtspeech") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) (uri (qt-urls name version)) (sha256 (base32 "1q56lyj7s05sx52j5z6gcs000mni4c7mb7qyq4lfval7c06hw5p6")))) - (arguments (substitute-keyword-arguments (package-arguments qtsvg-5) - ((#:tests? _ #f) #f))) ; TODO: Enable the tests + (arguments + (substitute-keyword-arguments (package-arguments qtsvg-5) + ((#:tests? _ #f) #f))) ; TODO: Enable the tests (inputs (list qtbase-5)) (native-inputs (list perl qtdeclarative-5 qtmultimedia-5 qtxmlpatterns)) (synopsis "Qt Speech module") @@ -2433,7 +2444,7 @@ using the Enchant spell-checking library.") (package (inherit qtsvg-5) (name "qtwebengine") - (version "5.15.8") + (version %qt-version) (source (origin (method url-fetch) @@ -2637,7 +2648,7 @@ linux/libcurl_wrapper.h") ruby)) (inputs (list alsa-lib - atk + at-spi2-core cups-minimal curl dbus @@ -3195,7 +3206,7 @@ instances.") (define-public python-sip (package (name "python-sip") - (version "5.5.0") + (version "6.7.7") (source (origin (method url-fetch) @@ -3205,12 +3216,13 @@ instances.") "/sip-" version ".tar.gz"))) (sha256 (base32 - "1idaivamp1jvbbai9yzv471c62xbqxhaawccvskaizihkd0lq0jx")))) + "1qm9q9lhfky5zvxxkssf4zdfv5k1zikji4hz80d48vdfm1pw1sfy")) + (patches (search-patches "python-sip-include-dirs.patch")))) (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 @@ -3272,7 +3284,7 @@ module provides support functions to the automatically generated code.") (define-public python-pyqt (package (name "python-pyqt") - (version "5.15.5") + (version "5.15.9") (source (origin (method url-fetch) @@ -3285,11 +3297,12 @@ module provides support functions to the automatically generated code.") (file-name (string-append "PyQt5-" version ".tar.gz")) (sha256 (base32 - "0aya963kkmbwfwmpd0p6k85y4g7wl5zarjqxxfgir403zalbf4dl")) + "1h649rb1afdxskp28x524yp5kd9a97ainh9bd4mkxp4h390fhhfw")) (patches (search-patches "pyqt-configure.patch")))) - (build-system gnu-build-system) + (build-system pyproject-build-system) (native-inputs - (list qtbase-5)) ; for qmake + (list qtbase-5 ; for qmake + python-pyqt-builder)) (propagated-inputs (list python-sip python-pyqt5-sip)) (inputs @@ -3308,47 +3321,24 @@ module provides support functions to the automatically generated code.") ("qtx11extras" ,qtx11extras) ("qtxmlpatterns" ,qtxmlpatterns))) (arguments - `(#:modules ((srfi srfi-1) - ((guix build python-build-system) #:select (python-version)) - ,@%gnu-build-system-modules) - #:imported-modules ((guix build python-build-system) - ,@%gnu-build-system-modules) + (list + #:tests? #f ; No tests. + #:configure-flags + #~`(@ ("--verbose" . "") ; Print commands run. + ("--confirm-license" . "") + ("--jobs" . ,(number->string (parallel-job-count)))) #:phases - (modify-phases %standard-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-before 'configure 'substitute-source + (add-after 'unpack 'substitute-source (lambda* (#:key inputs #:allow-other-keys) (let* ((qtbase (assoc-ref inputs "qtbase")) (qtprinter.h (string-append "\"" qtbase "/include/qt5/QtPrintSupport/qprinter.h\""))) - (substitute* "sip/QtPrintSupport/qprinter.sip" - (("<qprinter.h>") qtprinter.h))))) - (replace 'configure - (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))))))) + (substitute* (list "sip/QtPrintSupport/qprinter.sip" + "sip/QtPrintSupport/qpyprintsupport_qlist.sip") + (("<qprinter.h>") qtprinter.h)))))))) (home-page "https://www.riverbankcomputing.com/software/pyqt/intro") (synopsis "Python bindings for Qt") (description @@ -3360,14 +3350,14 @@ contain over 620 classes.") (define-public python-pyqt5-sip (package (name "python-pyqt5-sip") - (version "12.10.1") + (version "12.11.1") (source (origin (method url-fetch) (uri (pypi-uri "PyQt5_sip" version)) (sha256 (base32 - "09771b6fdn0rx34l5a0wzcd899yd57zxp5sw3bsqhd25biwhiq4p")))) + "0sa3vad8r7qm98k4ngimwjp87bh2f9f2vv19cnzb3vb11zdgplwp")))) (build-system python-build-system) (arguments `(#:tests? #f)) ;; No test code. @@ -3379,7 +3369,7 @@ contain over 620 classes.") (define-public python-pyqtwebengine (package (name "python-pyqtwebengine") - (version "5.15.5") + (version "5.15.9") (source (origin (method url-fetch) @@ -3392,9 +3382,10 @@ contain over 620 classes.") (sha256 (base32 "0hdr0g0rzlhsnylhfk826pq1lw8p9dqcr8yma2wy9dgjrj6n0ixb")))) - (build-system gnu-build-system) + (build-system pyproject-build-system) (native-inputs (list python python-sip + python-pyqt-builder ;; qtbase is required for qmake qtbase-5)) (inputs @@ -3406,49 +3397,23 @@ contain over 620 classes.") ("qtdeclarative-5" ,qtdeclarative-5) ("qtwebchannel-5" ,qtwebchannel-5) ("qtwebengine-5" ,qtwebengine-5))) - (arguments - `(#:modules ((srfi srfi-1) - ((guix build python-build-system) #:select (python-version)) - ,@%gnu-build-system-modules) - #:imported-modules ((guix build python-build-system) - ,@%gnu-build-system-modules) + (arguments + (list + #:tests? #f ; No tests. + #:configure-flags + #~`(@ ("--verbose" . "") ; Print commands run. + ("--jobs" . ,(number->string (parallel-job-count)))) #:phases - (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (sipdir (string-append out "/share/sip")) - (pyqt-sipdir (string-append - (assoc-ref inputs "python-pyqt") "/share/sip")) - (python (assoc-ref inputs "python")) - (lib (string-append out "/lib/python" - (python-version python) - "/site-packages/PyQt5")) - (stubs (string-append lib "/PyQt5"))) - - (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__) -"))))))))) + #~(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/PyQt5/bindings"))) + (setenv "SIP_INCLUDE_DIRS" sip-include-dirs))))))) (home-page "https://www.riverbankcomputing.com/software/pyqtwebengine/intro") (synopsis "Python bindings for QtWebEngine") (description @@ -3461,14 +3426,14 @@ itself.") (define-public python-pyqt-builder (package (name "python-pyqt-builder") - (version "1.9.0") + (version "1.14.1") (source (origin (method url-fetch) (uri (pypi-uri "PyQt-builder" version)) (sha256 (base32 - "0nh0054c54ji3sm6d268fccf0y5f613spswwgwqd3rnn816hnljl")))) + "00m5piryz9l4hp5z1ncaqicsp29kj71akdh4b10432zz18q3xg43")))) (build-system python-build-system) (inputs (list python-sip)) @@ -3955,7 +3920,7 @@ color-related widgets.") (define-public python-shiboken-2 (package (name "python-shiboken-2") - (version "5.15.5") + (version %qt-version) (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases" @@ -3964,7 +3929,7 @@ color-related widgets.") version ".tar.xz")) (sha256 (base32 - "0cwvw6695215498rsbm2xzkwaxdr3w7zfvy4kc62c01k6pxs881r")))) + "0pbbdypwkn3vrgy8ww207fl8pqq4jv80bck9qz5v9dfyr0166hr3")))) (build-system cmake-build-system) (inputs (list clang-toolchain |