summaryrefslogtreecommitdiff
path: root/gnu/packages/qt.scm
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2021-06-19 17:38:47 +0200
committerMarius Bakke <marius@gnu.org>2021-06-19 17:38:47 +0200
commit6f9a80b331ae41d142a49fbeb94b90ee587b6155 (patch)
tree2da042a6ccf5368c73d6e3d54c2ee02a62d284e4 /gnu/packages/qt.scm
parent6500c9a5b364616e38a7e03aa4516fc2d7cee876 (diff)
parentdece03e2b98fc1c2428c2448ce5792f813eb79bf (diff)
downloadguix-patches-6f9a80b331ae41d142a49fbeb94b90ee587b6155.tar
guix-patches-6f9a80b331ae41d142a49fbeb94b90ee587b6155.tar.gz
Merge branch 'master' into core-updates
Note: this merge actually changes the 'curl' and 'python-attrs' derivations, as part of solving caf4a7a2770ef4d05a6e18f40d602e51da749ddc and 12964df69a99de6190422c752fef65ef813f3b6b respectively. 4604d43c0e (gnu: gnutls@3.6.16: Fix cross-compilation.) was ignored because it cannot currently be tested. Conflicts: gnu/local.mk gnu/packages/aidc.scm gnu/packages/boost.scm gnu/packages/curl.scm gnu/packages/nettle.scm gnu/packages/networking.scm gnu/packages/python-xyz.scm gnu/packages/tls.scm
Diffstat (limited to 'gnu/packages/qt.scm')
-rw-r--r--gnu/packages/qt.scm279
1 files changed, 218 insertions, 61 deletions
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 55855fb68a..19fcc2f37e 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -19,7 +19,7 @@
;;; Copyright © 2020 TomZ <tomz@freedommail.ch>
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
-;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;;
@@ -134,7 +134,7 @@
(chdir "libqite")
#t)))))
(inputs
- `(("qtbase" ,qtbase)
+ `(("qtbase" ,qtbase-5)
("qtmultimedia" ,qtmultimedia)))
(home-page "https://github.com/Ri0n/qite/")
(synopsis "Qt Interactive Text Elements")
@@ -187,7 +187,7 @@
(native-inputs
`(("qttools" ,qttools)))
(inputs
- `(("qtbase" ,qtbase)
+ `(("qtbase" ,qtbase-5)
("qtsvg" ,qtsvg)))
(synopsis "Qt5 Configuration Tool")
(description "Qt5CT is a program that allows users to configure Qt5
@@ -228,13 +228,13 @@ window managers, that don't provide Qt integration by themselves.")
(string-append "-DCMAKE_CXX_FLAGS=-I"
(assoc-ref %build-inputs "qtbase")
"/include/qt5/QtXkbCommonSupport/"
- ,(package-version qtbase)))))
+ ,(package-version qtbase-5)))))
(native-inputs
`(("cmake-shared" ,cmake-shared)
("extra-cmake-modules" ,extra-cmake-modules)
("pkg-config" ,pkg-config)))
(inputs
- `(("qtbase" ,qtbase)
+ `(("qtbase" ,qtbase-5)
("qtwayland" ,qtwayland)
("wayland" ,wayland)
("xkbcommon" ,libxkbcommon)))
@@ -261,7 +261,7 @@ applications on Wayland.")
;; Optional: lcov and cccc, both are for code coverage
`(("doxygen" ,doxygen)))
(inputs
- `(("qtbase" ,qtbase)
+ `(("qtbase" ,qtbase-5)
("qtdeclarative" ,qtdeclarative)
("qtscript" ,qtscript)))
(build-system cmake-build-system)
@@ -298,7 +298,7 @@ system, and the core design of Django is reused in Grantlee.")
(string-append "https://distfiles.macports.org/qt5/"
component "-everywhere-src-" version ".tar.xz")))
-(define-public qtbase
+(define-public qtbase-5
(package
(name "qtbase")
(version "5.15.2")
@@ -553,11 +553,157 @@ system, and the core design of Django is reused in Grantlee.")
developers using C++ or QML, a CSS & JavaScript like language.")
(license (list license:lgpl2.1 license:lgpl3))))
-;; qt used to refer to the monolithic Qt 5.x package
-(define-deprecated qt qtbase)
+(define-public qtbase
+ (package/inherit qtbase-5
+ (name "qtbase")
+ (version "6.1.1")
+ (source (origin
+ (inherit (package-source qtbase-5))
+ (uri (qt5-urls name version))
+ (sha256
+ (base32
+ "1wizrfiw6h8bk99brbdpdli40vsk6yqchs66f1r083hp0ygsma11"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; corelib uses bundled harfbuzz, md4, md5, sha3
+ '(with-directory-excursion "src/3rdparty"
+ (for-each delete-file-recursively
+ ;; The bundled pcre2 copy is kept, as its headers
+ ;; are required by some internal bootstrap target
+ ;; used for the tools.
+ (list "double-conversion" "freetype" "harfbuzz-ng"
+ "libpng" "libjpeg" "sqlite" "xcb" "zlib"))))))
+ (build-system cmake-build-system)
+ (arguments
+ (substitute-keyword-arguments (package-arguments qtbase-5)
+ ;; XXX: There are many test failures, because the test suite
+ ;; requires a real X server (a virtual one such as Xvfb is not
+ ;; enough) or a functional network. It's also quite expensive to
+ ;; build and run.
+ ((#:tests? _ #f) #f)
+ ;; ((#:cmake _)
+ ;; cmake) ;requires a CMake >= 3.18.4
+ ((#:configure-flags _ ''())
+ `(let ((out (assoc-ref %outputs "out")))
+ (list "-GNinja" ;the build fails otherwise
+ (string-append "-DINSTALL_ARCHDATADIR=" out "/lib/qt6")
+ (string-append "-DINSTALL_DATADIR=" out "/share/qt6")
+ (string-append "-DINSTALL_DOCDIR=" out "/share/doc/qt6")
+ (string-append "-DINSTALL_MKSPECSDIR=" out "/lib/qt6/mkspecs")
+ (string-append "-DINSTALL_EXAMPLESDIR=" out
+ "/share/doc/qt6/examples")
+ (string-append "-DINSTALL_INCLUDEDIR=" out "/include/qt6")
+ ;; Link with DBus and OpenSSL so they don't get dlopen'ed.
+ "-DINPUT_dbus=linked"
+ "-DINPUT_openssl=linked"
+ ;; These features require higher versions of Linux than the
+ ;; minimum version of the glibc. See
+ ;; src/corelib/global/minimum-linux_p.h. By disabling these
+ ;; features Qt applications can be used on the oldest kernels
+ ;; that the glibc supports, including the RHEL6 (2.6.32) and
+ ;; RHEL7 (3.10) kernels.
+ "-DFEATURE_getentropy=OFF" ; requires Linux 3.17
+ "-DFEATURE_renameat2=OFF" ; requires Linux 3.16
+ ;; Most system libraries are used by default, except in some
+ ;; cases such as for those below.
+ "-DFEATURE_system_pcre2=ON"
+ "-DFEATURE_system_sqlite=ON"
+ ;; Don't use the precompiled headers.
+ "-DBUILD_WITH_PCH=OFF"
+ ;; Drop special machine instructions that do not have runtime
+ ;; detection.
+ ,@(if (string-prefix? "x86_64"
+ (or (%current-target-system)
+ (%current-system)))
+ '() ;implicitly enabled
+ '("-DFEATURE_sse2=OFF"
+ "-DFEATURE_sse3=OFF"
+ "-DFEATURE_ssse3=OFF"
+ "-DFEATURE_sse4_1=OFF"
+ "-DFEATURE_sse4_2=OFF"))
+ "-DFEATURE_mips_dsp=OFF"
+ "-DFEATURE_mips_dspr2=OFF")))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (delete 'patch-bin-sh)
+ (delete 'patch-xdg-open)
+ (add-after 'patch-paths 'patch-more-paths
+ (lambda _
+ (substitute* "src/gui/platform/unix/qgenericunixservices.cpp"
+ (("\"xdg-open\"")
+ (format #f "~s" (which "xdg-open"))))
+ (substitute* '("mkspecs/features/qt_functions.prf"
+ "qmake/library/qmakebuiltins.cpp")
+ (("/bin/sh")
+ (which "sh")))))
+ (replace 'configure
+ (assoc-ref %standard-phases 'configure))
+ (replace 'build
+ (lambda* (#:key parallel-build? #:allow-other-keys)
+ (apply invoke "cmake" "--build" "."
+ (if parallel-build?
+ `("--parallel" ,(number->string (parallel-job-count)))
+ '()))))
+ (replace 'install
+ (lambda _
+ (invoke "cmake" "--install" ".")))
+ (replace 'patch-mkspecs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (archdata (string-append out "/lib/qt6"))
+ (mkspecs (string-append archdata "/mkspecs"))
+ (qt_config.prf (string-append
+ mkspecs "/features/qt_config.prf")))
+ ;; For each Qt module, let `qmake' uses search paths in the
+ ;; module directory instead of all in QT_INSTALL_PREFIX.
+ (substitute* qt_config.prf
+ (("\\$\\$\\[QT_INSTALL_HEADERS\\]")
+ "$$clean_path($$replace(dir, mkspecs/modules, ../../include/qt6))")
+ (("\\$\\$\\[QT_INSTALL_LIBS\\]")
+ "$$clean_path($$replace(dir, mkspecs/modules, ../../lib))")
+ (("\\$\\$\\[QT_HOST_LIBS\\]")
+ "$$clean_path($$replace(dir, mkspecs/modules, ../../lib))")
+ (("\\$\\$\\[QT_INSTALL_BINS\\]")
+ "$$clean_path($$replace(dir, mkspecs/modules, ../../bin))"))
+
+ ;; Searches Qt tools in the current PATH instead of QT_HOST_BINS.
+ (substitute* (string-append mkspecs "/features/qt_functions.prf")
+ (("cmd = \\$\\$\\[QT_HOST_BINS\\]/\\$\\$2")
+ "cmd = $$system(which $${2}.pl 2>/dev/null || which $${2})"))
+
+ ;; Resolve qmake spec files within qtbase by absolute paths.
+ (substitute*
+ (map (lambda (file)
+ (string-append mkspecs "/features/" file))
+ '("device_config.prf" "moc.prf" "qt_build_config.prf"
+ "qt_config.prf"))
+ (("\\$\\$\\[QT_HOST_DATA/get\\]") archdata)
+ (("\\$\\$\\[QT_HOST_DATA/src\\]") archdata)))))))))
+ (native-inputs
+ `(("gtk+" ,gtk+) ;for GTK theme support
+ ("ninja" ,ninja)
+ ("wayland-protocols" ,wayland-protocols)
+ ("xorg-server" ,xorg-server-for-tests)
+ ,@(package-native-inputs qtbase-5)))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "QMAKEPATH")
+ (files '("lib/qt6")))
+ (search-path-specification
+ (variable "QML2_IMPORT_PATH")
+ (files '("lib/qt6/qml")))
+ (search-path-specification
+ (variable "QT_PLUGIN_PATH")
+ (files '("lib/qt6/plugins")))
+ (search-path-specification
+ (variable "XDG_DATA_DIRS")
+ (files '("share")))
+ (search-path-specification
+ (variable "XDG_CONFIG_DIRS")
+ (files '("etc/xdg")))))))
(define-public qtsvg
- (package (inherit qtbase)
+ (package (inherit qtbase-5)
(name "qtsvg")
(version "5.15.2")
(source (origin
@@ -570,7 +716,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(native-inputs `(("perl" ,perl)))
(inputs
`(("mesa" ,mesa)
- ("qtbase" ,qtbase)
+ ("qtbase" ,qtbase-5)
("zlib" ,zlib)))
(arguments
`(#:phases
@@ -660,7 +806,7 @@ HostData=lib/qt5
("libtiff" ,libtiff)
("libwebp" ,libwebp)
("mesa" ,mesa)
- ("qtbase" ,qtbase)
+ ("qtbase" ,qtbase-5)
("zlib" ,zlib)))
(synopsis "Additional Image Format plugins for Qt")
(description "The QtImageFormats module contains plugins for adding
@@ -682,7 +828,7 @@ support for MNG, TGA, TIFF and WBMP image formats.")))
(native-inputs `(("perl" ,perl)))
(inputs
`(("mesa" ,mesa)
- ("qtbase" ,qtbase)))
+ ("qtbase" ,qtbase-5)))
(synopsis "Qt Extras for X11")
(description "The QtX11Extras module includes the library to access X11
from within Qt 5.")))
@@ -709,7 +855,7 @@ from within Qt 5.")))
#t))))))
(native-inputs `(("perl" ,perl)
("qtdeclarative" ,qtdeclarative)))
- (inputs `(("qtbase" ,qtbase)))
+ (inputs `(("qtbase" ,qtbase-5)))
(synopsis "Qt XML patterns module")
(description "The QtXmlPatterns module is a XQuery and XPath engine for
XML and custom data models. It contains programs such as xmlpatterns and
@@ -748,7 +894,7 @@ xmlpatternsvalidator.")))
("vulkan-headers" ,vulkan-headers)))
(inputs
`(("mesa" ,mesa)
- ("qtbase" ,qtbase)))
+ ("qtbase" ,qtbase-5)))
(synopsis "Qt QML module (Quick 2)")
(description "The Qt QML module provides a framework for developing
applications and libraries with the QML language. It defines and implements the
@@ -772,7 +918,7 @@ with JavaScript and C++.")))
("qtdeclarative" ,qtdeclarative)))
(inputs
`(("bluez" ,bluez)
- ("qtbase" ,qtbase)))
+ ("qtbase" ,qtbase-5)))
(synopsis "Qt Connectivity module")
(description "The Qt Connectivity modules provides modules for interacting
with Bluetooth and NFC.")))
@@ -793,7 +939,7 @@ with Bluetooth and NFC.")))
(native-inputs
`(("perl" ,perl)
("qtdeclarative" ,qtdeclarative)))
- (inputs `(("qtbase" ,qtbase)))
+ (inputs `(("qtbase" ,qtbase-5)))
(synopsis "Qt Web Sockets module")
(description "WebSocket is a web-based protocol designed to enable two-way
communication between a client application and a remote host. The Qt
@@ -825,7 +971,7 @@ consume data received from the server, or both.")))
(native-inputs
`(("perl" ,perl)
("qtdeclarative" ,qtdeclarative)))
- (inputs `(("qtbase" ,qtbase)))
+ (inputs `(("qtbase" ,qtbase-5)))
(synopsis "Qt Sensors module")
(description "The Qt Sensors API provides access to sensor hardware via QML
and C++ interfaces. The Qt Sensors API also provides a motion gesture
@@ -870,7 +1016,7 @@ recognition API for devices.")))
`(("alsa-lib" ,alsa-lib)
("mesa" ,mesa)
("pulseaudio" ,pulseaudio)
- ("qtbase" ,qtbase)
+ ("qtbase" ,qtbase-5)
;; Gstreamer is needed for the mediaplayer plugin
("gstreamer" ,gstreamer)
("gst-plugins-base" ,gst-plugins-base)))
@@ -924,7 +1070,7 @@ set of plugins for interacting with pulseaudio and GStreamer.")))
("libxrender" ,libxrender)
("mesa" ,mesa)
("mtdev" ,mtdev)
- ("qtbase" ,qtbase)
+ ("qtbase" ,qtbase-5)
("vulkan-headers" ,vulkan-headers)
("wayland" ,wayland)))
(synopsis "Qt Wayland module")
@@ -943,7 +1089,7 @@ compositor libraries.")))
"17gp5qzg4wdg8qlxk2p3mh8x1vk33rf33wic3fy0cws193bmkiar"))))
(native-inputs `(("perl" ,perl)))
(inputs
- `(("qtbase" ,qtbase)
+ `(("qtbase" ,qtbase-5)
("eudev" ,eudev)))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
@@ -987,7 +1133,7 @@ interacting with serial ports from within Qt.")))
#t)))))))
(inputs
`(("libsocketcan" ,libsocketcan)
- ("qtbase" ,qtbase)
+ ("qtbase" ,qtbase-5)
("qtserialport" ,qtserialport)))
(synopsis "Qt Serial Bus module")
(description "The Qt Serial Bus API provides classes and functions to
@@ -1008,7 +1154,7 @@ and others.")))
`(("perl" ,perl)
("qtdeclarative" ,qtdeclarative)
("qtwebsockets" ,qtwebsockets)))
- (inputs `(("qtbase" ,qtbase)))
+ (inputs `(("qtbase" ,qtbase-5)))
(synopsis "Web communication library for Qt")
(description "The Qt WebChannel module enables peer-to-peer communication
between the host (QML/C++ application) and the client (HTML/JavaScript
@@ -1036,7 +1182,7 @@ popular web engines, Qt WebKit 2 and Qt WebEngine.")))
(native-inputs '())
(inputs
`(("mesa" ,mesa)
- ("qtbase" ,qtbase)
+ ("qtbase" ,qtbase-5)
("qtdeclarative" ,qtdeclarative)
("qtwebsockets" ,qtwebsockets)
("zlib" ,zlib)))
@@ -1061,7 +1207,7 @@ OpenGL ES 2.0 and can be used in HTML5 canvas elements")))
(native-inputs
`(("perl" ,perl)))
(inputs
- `(("qtbase" ,qtbase)
+ `(("qtbase" ,qtbase-5)
("qtdeclarative" ,qtdeclarative)))
(synopsis "Display web content in a QML application")
(description "Qt WebView provides a way to display web content in a QML
@@ -1092,7 +1238,7 @@ native APIs where it makes sense.")))
(inputs
`(("icu4c" ,icu4c)
("openssl" ,openssl)
- ("qtbase" ,qtbase)
+ ("qtbase" ,qtbase-5)
("zlib" ,zlib)))
(synopsis "Qt Location and Positioning modules")
(description "The Qt Location module provides an interface for location,
@@ -1117,7 +1263,7 @@ positioning and geolocation plugins.")))
("vulkan-headers" ,vulkan-headers)))
(inputs
`(("mesa" ,mesa)
- ("qtbase" ,qtbase)))
+ ("qtbase" ,qtbase-5)))
(synopsis "Qt Tools and Designer modules")
(description "The Qt Tools module provides a set of applications to browse
the documentation, translate applications, generate help files and other stuff
@@ -1138,7 +1284,7 @@ that helps in Qt development.")))
`(("perl" ,perl)
("qttools" ,qttools)))
(inputs
- `(("qtbase" ,qtbase)))
+ `(("qtbase" ,qtbase-5)))
(synopsis "Qt Script module")
(description "Qt provides support for application scripting with ECMAScript.
The following guides and references cover aspects of programming with
@@ -1158,7 +1304,7 @@ ECMAScript and Qt.")))
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
(inputs
- `(("qtbase" ,qtbase)
+ `(("qtbase" ,qtbase-5)
("qtdeclarative" ,qtdeclarative)))
(synopsis "Qt Quick Controls and other Quick modules")
(description "The QtScript module provides classes for making Qt
@@ -1179,7 +1325,7 @@ can be used to build complete interfaces in Qt Quick.")))
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
(inputs
- `(("qtbase" ,qtbase)
+ `(("qtbase" ,qtbase-5)
("qtdeclarative" ,qtdeclarative)))
(synopsis "Qt Quick Controls 2 and other Quick 2 modules")
(description "The Qt Quick Controls 2 module contains the Qt Labs Platform
@@ -1201,7 +1347,7 @@ not available.")))
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
(inputs
- `(("qtbase" ,qtbase)
+ `(("qtbase" ,qtbase-5)
("qtdeclarative" ,qtdeclarative)))
(synopsis "Qt Graphical Effects module")
(description "The Qt Graphical Effects module provides a set of QML types
@@ -1229,7 +1375,7 @@ coloring, and many more.")))
("freetype" ,freetype)
("libxrender" ,libxrender)
("sdl2" ,sdl2)
- ("qtbase" ,qtbase)
+ ("qtbase" ,qtbase-5)
("qtdeclarative" ,qtdeclarative)))
(synopsis "Qt Gamepad module")
(description "The Qt Gamepad module is an add-on library that enables Qt
@@ -1257,7 +1403,7 @@ and mobile applications targeting TV-like form factors.")))
(("scion") "#"))
#t))))
(inputs
- `(("qtbase" ,qtbase)
+ `(("qtbase" ,qtbase-5)
("qtdeclarative" ,qtdeclarative)))
(synopsis "Qt SCXML module")
(description "The Qt SCXML module provides functionality to create state
@@ -1277,7 +1423,7 @@ also contains functionality to support data models and executable content.")))
(base32
"09rjx53519dfk4qj2gbn3vlxyriasyb747wpg1p11y7jkwqhs4l7"))))
(inputs
- `(("qtbase" ,qtbase)
+ `(("qtbase" ,qtbase-5)
("qtdeclarative" ,qtdeclarative)))
(synopsis "Qt Purchasing module")
(description "The Qt Purchasing module provides and in-app API for
@@ -1297,7 +1443,7 @@ purchasing goods and services.")))
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
(inputs
- `(("qtbase" ,qtbase)
+ `(("qtbase" ,qtbase-5)
("qtdeclarative" ,qtdeclarative)))
(synopsis "Qt Charts module")
(description "The Qt Charts module provides a set of easy to use chart
@@ -1321,7 +1467,7 @@ selecting one of the charts themes.")
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
(inputs
- `(("qtbase" ,qtbase)
+ `(("qtbase" ,qtbase-5)
("qtdeclarative" ,qtdeclarative)))
(synopsis "Qt Data Visualization module")
(description "The Qt Data Visualization module provides a way to visualize
@@ -1352,7 +1498,7 @@ customized by using themes or by adding custom items and labels to them.")
(("oauth1 ") "# oauth1 "))
#t))))))
(inputs
- `(("qtbase" ,qtbase)))
+ `(("qtbase" ,qtbase-5)))
(synopsis "Qt Network Authorization module")
(description "The Qt Network Authorization module provides an
implementation of OAuth and OAuth2 authenticathon methods for Qt.")))
@@ -1383,7 +1529,7 @@ implementation of OAuth and OAuth2 authenticathon methods for Qt.")))
"integration_multiprocess"))
#t))))))
(inputs
- `(("qtbase" ,qtbase)
+ `(("qtbase" ,qtbase-5)
("qtdeclarative" ,qtdeclarative)))
(synopsis "Qt Remote Objects module")
(description "The Qt Remote Objects module is an @dfn{inter-process
@@ -1406,7 +1552,7 @@ processes or computers.")))
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
(inputs
- `(("qtbase" ,qtbase)))
+ `(("qtbase" ,qtbase-5)))
(native-inputs
`(("perl" ,perl)
("qtdeclarative" ,qtdeclarative)
@@ -1442,7 +1588,7 @@ message.")))
("qttools" ,qttools)))
(inputs
`(("enchant" ,enchant)
- ("qtbase" ,qtbase)))
+ ("qtbase" ,qtbase-5)))
(home-page "https://github.com/manisandro/qtspell")
(synopsis "Spell checking for Qt text widgets")
(description
@@ -1455,7 +1601,7 @@ using the Enchant spell-checking library.")
(package
(inherit qtsvg)
(name "qtwebengine")
- (version (package-version qtbase))
+ (version (package-version qtbase-5))
(source
(origin
(method url-fetch)
@@ -1547,6 +1693,7 @@ using the Enchant spell-checking library.")
"third_party/modp_b64"
"third_party/nasm"
"third_party/one_euro_filter"
+ "third_party/openh264/src/codec/api/svc"
"third_party/opus"
"third_party/ots"
"third_party/pdfium"
@@ -1724,6 +1871,7 @@ using the Enchant spell-checking library.")
;; libxml2 configure summary still states "Checking for compatible
;; system libxml2... no"
("libxml2" ,libxml2)
+ ("openh264" ,openh264)
("libxrandr" ,libxrandr)
("libxrender" ,libxrender)
("libxslt" ,libxslt)
@@ -1735,7 +1883,7 @@ using the Enchant spell-checking library.")
("pciutils" ,pciutils)
("protobuf" ,protobuf)
("pulseaudio" ,pulseaudio)
- ("qtbase" ,qtbase)
+ ("qtbase" ,qtbase-5)
("qtdeclarative" ,qtdeclarative)
("qtmultimedia" ,qtmultimedia)
("qtwebchannel" ,qtwebchannel)
@@ -1747,6 +1895,10 @@ using the Enchant spell-checking library.")
("xcb-util" ,xcb-util)))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
+ ((#:modules modules '())
+ `((guix build gnu-build-system)
+ (guix build utils)
+ (ice-9 textual-ports)))
((#:phases phases)
`(modify-phases ,phases
(add-before 'configure 'substitute-source
@@ -1754,6 +1906,10 @@ using the Enchant spell-checking library.")
(let ((out (assoc-ref outputs "out"))
(nss (assoc-ref inputs "nss"))
(udev (assoc-ref inputs "udev")))
+ (with-atomic-file-replacement "src/buildtools/config/linux.pri"
+ (lambda (in out)
+ (display (get-string-all in) out)
+ (display "\ngn_args += use_system_openh264=true\n" out)))
;; Qtwebengine is not installed into the same prefix as
;; qtbase. Some qtbase QTLibraryInfo constants will not
;; work. Replace with the full path to the qtwebengine
@@ -1789,7 +1945,8 @@ using the Enchant spell-checking library.")
"--webengine-printing-and-pdf=no"
"--webengine-ffmpeg=system"
"--webengine-icu=system"
- "--webengine-pepper-plugins=no")))))
+ "--webengine-pepper-plugins=no"
+ "-webengine-proprietary-codecs")))))
;; Tests are disabled due to "Could not find QtWebEngineProcess error"
;; It's possible this can be fixed by setting QTWEBENGINEPROCESS_PATH
;; before running tests.
@@ -1905,13 +2062,13 @@ module provides support functions to the automatically generated code.")
(patches (search-patches "pyqt-configure.patch"))))
(build-system gnu-build-system)
(native-inputs
- `(("qtbase" ,qtbase))) ; for qmake
+ `(("qtbase" ,qtbase-5))) ; for qmake
(propagated-inputs
`(("python-sip" ,python-sip)
("python-pyqt5-sip" ,python-pyqt5-sip)))
(inputs
`(("python" ,python-wrapper)
- ("qtbase" ,qtbase)
+ ("qtbase" ,qtbase-5)
("qtconnectivity" ,qtconnectivity)
("qtdeclarative" ,qtdeclarative)
("qtlocation" ,qtlocation)
@@ -2017,12 +2174,12 @@ contain over 620 classes.")
`(("python" ,python)
("python-sip" ,python-sip)
;; qtbase is required for qmake
- ("qtbase" ,qtbase)))
+ ("qtbase" ,qtbase-5)))
(inputs
`(("python" ,python-wrapper)
("python-sip" ,python-sip)
("python-pyqt" ,python-pyqt)
- ("qtbase" ,qtbase)
+ ("qtbase" ,qtbase-5)
("qtsvg" ,qtsvg)
("qtdeclarative" ,qtdeclarative)
("qtwebchannel" ,qtwebchannel)
@@ -2057,7 +2214,7 @@ contain over 620 classes.")
"--sipdir" sipdir
"--pyqt-sipdir" pyqt-sipdir))))
;; Because this has a different prefix than python-pyqt then we need
- ;; to make this a namespace of it's own
+ ;; 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
@@ -2169,7 +2326,7 @@ top of the PyQt bindings for Qt. PyQt-builder is used to build PyQt itself.")
(("\\$\\$\\[QT_HOST_DATA\\]")
(string-append out "/lib/qt$${QT_MAJOR_VERSION}")))
(invoke "qmake")))))))
- (native-inputs `(("qtbase" ,qtbase)))
+ (native-inputs `(("qtbase" ,qtbase-5)))
(home-page "https://www.riverbankcomputing.co.uk/software/qscintilla/intro")
(synopsis "Qt port of the Scintilla C++ editor control")
(description "QScintilla is a port to Qt of Neil Hodgson's Scintilla C++
@@ -2267,7 +2424,7 @@ This package provides the Python bindings.")))
`(("pkg-config" ,pkg-config)
("qttools" ,qttools)))
(inputs
- `(("qtbase" ,qtbase)))
+ `(("qtbase" ,qtbase-5)))
(arguments
`(#:tests? #f ; No tests included
#:phases
@@ -2377,7 +2534,7 @@ securely. It will not store any data unencrypted unless explicitly requested.")
'("qtlockedfile" "qtpropertybrowser" "qtservice"
"qtsingleapplication" "qtsoap")))))))
(inputs
- `(("qtbase" ,qtbase)))
+ `(("qtbase" ,qtbase-5)))
(synopsis "Collection of Qt extensions")
(description "QtSolutions is a set of components extending Qt.
@itemize
@@ -2410,7 +2567,7 @@ that can be only started once per user.
(base32 "0hf0mpca248xlqn7xnzkfj8drf19gdyg5syzklvq8pibxiixwxj0"))))
(build-system gnu-build-system)
(inputs
- `(("qtbase" ,qtbase)
+ `(("qtbase" ,qtbase-5)
("qtsvg" ,qtsvg)
("qttools" ,qttools)))
(arguments
@@ -2493,7 +2650,7 @@ different kinds of sliders, and much more.")
("sqlite" ,sqlite)
("fontconfig" ,fontconfig)
("libxrender" ,libxrender)
- ("qtbase" ,qtbase)
+ ("qtbase" ,qtbase-5)
("qtdeclarative" ,qtdeclarative)
("qtlocation" ,qtlocation)
("qtmultimedia" ,qtmultimedia)
@@ -2558,7 +2715,7 @@ time Web content can be enhanced with native controls.")
(native-inputs
`(("qttools" ,qttools)))
(inputs
- `(("qtbase" ,qtbase)
+ `(("qtbase" ,qtbase-5)
("qtdeclarative" ,qtdeclarative)))
(home-page "https://filcuc.github.io/DOtherSide/index.html")
(synopsis "C language library for creating bindings for the Qt QML language")
@@ -2596,7 +2753,7 @@ a binding language:
(native-inputs
`(("qttools" ,qttools)))
(inputs
- `(("qtbase" ,qtbase)))
+ `(("qtbase" ,qtbase-5)))
(home-page "https://gitlab.com/mattia.basaglia/Qt-Color-Widgets")
(synopsis "Color management widgets")
(description "QtColorWidgets provides a Qt color dialog that is more
@@ -2625,7 +2782,7 @@ color-related widgets.")
(sha256
(base32 "0vp8lpxvd1nlp4liqrlvslpqrgfn0wpiwizzdsjbj22zzb8vxikc"))))))
(inputs
- `(("qtbase" ,qtbase)))
+ `(("qtbase" ,qtbase-5)))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -2674,7 +2831,7 @@ color-related widgets.")
("libxml2" ,libxml2)
("libxslt" ,libxslt)
("python-wrapper" ,python-wrapper)
- ("qtbase" ,qtbase)
+ ("qtbase" ,qtbase-5)
("qtxmlpatterns" ,qtxmlpatterns)))
(arguments
`(#:tests? #f
@@ -2724,7 +2881,7 @@ color-related widgets.")
`(("libxml2" ,libxml2)
("libxslt" ,libxslt)
("clang-toolchain" ,clang-toolchain)
- ("qtbase" ,qtbase)
+ ("qtbase" ,qtbase-5)
("qtdatavis3d" ,qtdatavis3d)
("qtlocation" ,qtlocation)
("qtmultimedia" ,qtmultimedia)
@@ -2792,7 +2949,7 @@ generate Python bindings for your C or C++ code.")
(inputs
`(("python-pyside-2" ,python-pyside-2)
("python-shiboken-2" ,python-shiboken-2)
- ("qtbase" ,qtbase)))
+ ("qtbase" ,qtbase-5)))
(native-inputs
`(("python" ,python-wrapper)))
(arguments
@@ -2836,7 +2993,7 @@ generate Python bindings for your C or C++ code.")
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke (cons "qmake" make-flags)))))))
(native-inputs
- `(("qtbase" ,qtbase)
+ `(("qtbase" ,qtbase-5)
("qttools" ,qttools)))
(inputs
`(("glu" ,glu)))
@@ -2879,7 +3036,7 @@ being fully customizable and easy to extend.")
`(("pkg-config" ,pkg-config)
("cmake" ,cmake)))
(inputs
- `(("qtbase" ,qtbase)
+ `(("qtbase" ,qtbase-5)
("coin3D" ,coin3D-4)))
(home-page "https://github.com/coin3d/soqt")
(synopsis "Qt GUI component toolkit library for Coin")