gnu: qt: Compile with system harfbuzz.

* gnu/packages/qt.scm (qt)[source]: Add a snippet to remove one of the two
  bundled copies of harfbuzz.
  [arguments]: Pass a configure flag to use harfbuzz from the system.

Partially fixes <http://bugs.gnu.org/21288>.
This commit is contained in:
Andreas Enge 2015-10-04 19:08:13 +02:00
parent 14bcc1e1cd
commit bc554b43d6

View file

@ -110,14 +110,18 @@ (define-public qt
"1by2l8wxbqwvs7anb5ggmqhn2cfmhyw3a23bp1yyd240rdpa38ky")) "1by2l8wxbqwvs7anb5ggmqhn2cfmhyw3a23bp1yyd240rdpa38ky"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Remove qtwebengine, which relies on a bundled copy of '(begin
;; chromium. Not only does it fail compilation in qt 5.5: ;; Remove qtwebengine, which relies on a bundled copy of
;; 3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc:362:10: ;; chromium. Not only does it fail compilation in qt 5.5:
;; error: cannot convert bool to boolean in return ;; 3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc:362:10:
;; it might also pose security problems. ;; error: cannot convert bool to boolean in return
;; Alternatively, we could use the "-skip qtwebengine" ;; it might also pose security problems.
;; configuration option. ;; Alternatively, we could use the "-skip qtwebengine"
'(delete-file-recursively "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")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(propagated-inputs (propagated-inputs
`(("mesa" ,mesa))) `(("mesa" ,mesa)))
@ -190,7 +194,10 @@ (define-public qt
"-prefix" out "-prefix" out
"-opensource" "-opensource"
"-confirm-license" "-confirm-license"
;; Most "-system-..." are automatic, but some use
;; the bundled copy by default.
"-system-sqlite" "-system-sqlite"
"-system-harfbuzz"
;; explicitly link with openssl instead of dlopening it ;; explicitly link with openssl instead of dlopening it
"-openssl-linked" "-openssl-linked"
;; explicitly link with dbus instead of dlopening it ;; explicitly link with dbus instead of dlopening it