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,6 +110,7 @@ (define-public qt
"1by2l8wxbqwvs7anb5ggmqhn2cfmhyw3a23bp1yyd240rdpa38ky"))
(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:
@ -117,7 +118,10 @@ (define-public qt
;; it might also pose security problems.
;; Alternatively, we could use the "-skip qtwebengine"
;; configuration option.
'(delete-file-recursively "qtwebengine"))))
(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)
(propagated-inputs
`(("mesa" ,mesa)))
@ -190,7 +194,10 @@ (define-public qt
"-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