aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/qt.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/qt.scm')
-rw-r--r--gnu/packages/qt.scm46
1 files changed, 28 insertions, 18 deletions
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index ce5ab656a5..ab390d37de 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -108,7 +108,23 @@ X11 (yet).")
(sha256
(base32
"1by2l8wxbqwvs7anb5ggmqhn2cfmhyw3a23bp1yyd240rdpa38ky"))
- (patches (list (search-patch "qt5-runpath.patch")))))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Remove qtwebengine, which relies on a bundled copy of
+ ;; chromium. Not only does it fail compilation in qt 5.5:
+ ;; 3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc:362:10:
+ ;; error: cannot convert ‘bool’ to ‘boolean’ in return
+ ;; it might also pose security problems.
+ ;; Alternatively, we could use the "-skip qtwebengine"
+ ;; configuration option.
+ (delete-file-recursively "qtwebengine")
+ ;; Remove one of the two bundled harfbuzz copies in addition
+ ;; to passing "-system-harfbuzz".
+ (delete-file-recursively "qtbase/src/3rdparty/harfbuzz-ng")
+ ;; Remove the bundled sqlite copy in addition to
+ ;; passing "-system-sqlite".
+ (delete-file-recursively "qtbase/src/3rdparty/sqlite")))))
(build-system gnu-build-system)
(propagated-inputs
`(("mesa" ,mesa)))
@@ -158,8 +174,6 @@ X11 (yet).")
`(("bison" ,bison)
("flex" ,flex)
("gperf" ,gperf)
- ;; Ninja is only needed for the disabled qtwebengine
-;; ("ninja" ,ninja)
("perl" ,perl)
("pkg-config" ,pkg-config)
("python" ,python-2)
@@ -175,14 +189,6 @@ X11 (yet).")
(("/bin/pwd") (which "pwd")))
(substitute* "qtbase/src/corelib/global/global.pri"
(("/bin/ls") (which "ls")))
- ;; commented out since qtwebengine is not built, but left in
- ;; for reference
-;; (substitute* "qtwebengine/src/3rdparty/chromium/build/common.gypi"
-;; (("/bin/echo") (which "echo")))
-;; (substitute* "qtwebengine/src/3rdparty/chromium/third_party/\
-;; WebKit/Source/build/scripts/scripts.gypi"
-;; (("/usr/bin/gcc") (which "gcc")))
-;; (setenv "NINJA_PATH" (which "ninja"))
;; do not pass "--enable-fast-install", which makes the
;; configure process fail
(zero? (system*
@@ -191,17 +197,14 @@ X11 (yet).")
"-prefix" out
"-opensource"
"-confirm-license"
+ ;; Most "-system-..." are automatic, but some use
+ ;; the bundled copy by default.
"-system-sqlite"
+ "-system-harfbuzz"
;; explicitly link with openssl instead of dlopening it
"-openssl-linked"
;; explicitly link with dbus instead of dlopening it
"-dbus-linked"
- ;; drop chromium module (qtwebengine); it fails
- ;; compilation in qt 5.5:
- ;; 3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc:362:10:
- ;; error: cannot convert ‘bool’ to ‘boolean’ in return
- ;; and might pose security problems.
- "-skip" "qtwebengine"
;; drop special machine instructions not supported
;; on all instances of the target
,@(if (string-prefix? "x86_64"
@@ -243,7 +246,11 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(base32
"183fca7n7439nlhxyg1z7aky0izgbyll3iwakw4gwivy16aj5272"))
(patches (map search-patch
- '("qt4-ldflags.patch" "qt4-tests.patch")))))
+ '("qt4-ldflags.patch")))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Remove webkit module, which is not built.
+ '(delete-file-recursively "src/3rdparty/webkit"))))
(inputs `(,@(alist-delete "harfbuzz"
(alist-delete "libjpeg" (package-inputs qt)))
("libjepg" ,libjpeg-8)
@@ -288,6 +295,9 @@ developers using C++ or QML, a CSS & JavaScript like language.")
"-confirm-license"
;; explicitly link with dbus instead of dlopening it
"-dbus-linked"
+ ;; Skip the webkit module; it fails to build on armhf
+ ;; and, apart from that, may pose security risks.
+ "-no-webkit"
;; drop special machine instructions not supported
;; on all instances of the target
,@(if (string-prefix? "x86_64"