summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2017-10-12 19:53:31 +0300
committerEfraim Flashner <efraim@flashner.co.il>2017-10-12 20:00:19 +0300
commit5acd59ee128a0315f65b43f90cad60c6bdfdfe84 (patch)
treec08f925b480d94fba8160b67de5a4bb36a7b915a
parentaad8a143000600abec5c8ebfadec4c09f34f1b73 (diff)
gnu: qt: Update to 5.9.2.
* gnu/packages/qt.scm (qt): Update to 5.9.2. [outputs]: Add 'examples'. [source]: Update 3rd party code to unbundle. [inputs]: Add bluez, double-conversion, gstreamer, gst-plugins-base, jasper, libinput-minimal, libtiff, libwebp, libxext, wayland. Replace pcre with pcre2. [arguments]: Re-enable parallel building. Update build flags.
-rw-r--r--gnu/packages/qt.scm69
1 files changed, 41 insertions, 28 deletions
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 8edef9c703..e4799e1479 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -100,7 +100,8 @@ system, and the core design of Django is reused in Grantlee.")
(define-public qt
(package
(name "qt")
- (version "5.6.2")
+ (version "5.9.2")
+ (outputs '("out" "examples"))
(source (origin
(method url-fetch)
(uri
@@ -112,7 +113,7 @@ system, and the core design of Django is reused in Grantlee.")
version ".tar.xz"))
(sha256
(base32
- "1cw93mrlkqbwndfqyjpsvjzkpzi39px2is040xvk18mvg3y1prl3"))
+ "1zr0hvhryn2ada53ln7cycymh602cncli86n291bsgzas6j72qbc"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -124,32 +125,52 @@ system, and the core design of Django is reused in Grantlee.")
;; 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")))))
+ ;; The following snippets are copied from their mondular-qt counterparts.
+ (for-each
+ (lambda (dir)
+ (delete-file-recursively (string-append "qtbase/src/3rdparty/" dir)))
+ (list "double-conversion" "freetype" "harfbuzz-ng"
+ "libpng" "libjpeg" "pcre2" "sqlite" "xcb"
+ "xkbcommon" "zlib"))
+ (for-each
+ (lambda (dir)
+ (delete-file-recursively dir))
+ (list "qtimageformats/src/3rdparty"
+ "qtmultimedia/examples/multimedia/spectrum/3rdparty"
+ "qtwayland/examples"
+ "qtcanvas3d/examples/canvas3d/3rdparty"))
+ ;; Tests depend on this example, which depends on the 3rd party code.
+ (substitute* "qtmultimedia/examples/multimedia/multimedia.pro"
+ (("spectrum") "#"))))))
(build-system gnu-build-system)
(propagated-inputs
`(("mesa" ,mesa)))
(inputs
`(("alsa-lib" ,alsa-lib)
- ("dbus" ,dbus)
+ ("bluez" ,bluez)
("cups" ,cups)
+ ("dbus" ,dbus)
+ ("double-conversion" ,double-conversion)
("expat" ,expat)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)
("harfbuzz" ,harfbuzz)
("icu4c" ,icu4c)
+ ("jasper" ,jasper)
+ ("libinput" ,libinput-minimal)
("libjpeg" ,libjpeg)
("libmng" ,libmng)
("libpci" ,pciutils)
("libpng" ,libpng)
+ ("libtiff" ,libtiff)
+ ("libwebp" ,libwebp)
("libx11" ,libx11)
("libxcomposite" ,libxcomposite)
("libxcursor" ,libxcursor)
+ ("libxext" ,libxext)
("libxfixes" ,libxfixes)
("libxi" ,libxi)
("libxinerama" ,libxinerama)
@@ -165,10 +186,11 @@ system, and the core design of Django is reused in Grantlee.")
("openssl" ,openssl)
("postgresql" ,postgresql)
("pulseaudio" ,pulseaudio)
- ("pcre" ,pcre)
+ ("pcre2" ,pcre2)
("sqlite" ,sqlite)
("udev" ,eudev)
("unixodbc" ,unixodbc)
+ ("wayland" ,wayland)
("xcb-util" ,xcb-util)
("xcb-util-image" ,xcb-util-image)
("xcb-util-keysyms" ,xcb-util-keysyms)
@@ -185,24 +207,19 @@ system, and the core design of Django is reused in Grantlee.")
("ruby" ,ruby)
("which" ,(@ (gnu packages base) which))))
(arguments
- `(;; FIXME: Disabling parallel building is a quick hack to avoid the
- ;; failure described in
- ;; https://lists.gnu.org/archive/html/guix-devel/2016-01/msg00837.html
- ;; A more structural fix is needed.
- #:parallel-build? #f
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(add-after 'configure 'patch-bin-sh
(lambda _
- (substitute* '("qtbase/config.status"
- "qtbase/configure"
+ (substitute* '("qtbase/configure"
"qtbase/mkspecs/features/qt_functions.prf"
"qtbase/qmake/library/qmakebuiltins.cpp")
(("/bin/sh") (which "sh")))
#t))
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
+ (let ((out (assoc-ref outputs "out"))
+ (examples (assoc-ref outputs "examples")))
(substitute* '("configure" "qtbase/configure")
(("/bin/pwd") (which "pwd")))
(substitute* "qtbase/src/corelib/global/global.pri"
@@ -213,12 +230,12 @@ system, and the core design of Django is reused in Grantlee.")
"./configure"
"-verbose"
"-prefix" out
+ "-examplesdir" examples ; 89MiB
"-opensource"
"-confirm-license"
- ;; Do not build examples; if desired, these could go
- ;; into a separate output, but for the time being, we
+ ;; Do not build examples; for the time being, we
;; prefer to save the space and build time.
- "-nomake" "examples"
+ "-no-compile-examples"
;; Most "-system-..." are automatic, but some use
;; the bundled copy by default.
"-system-sqlite"
@@ -227,6 +244,8 @@ system, and the core design of Django is reused in Grantlee.")
"-openssl-linked"
;; explicitly link with dbus instead of dlopening it
"-dbus-linked"
+ ;; don't use the precompiled headers
+ "-no-pch"
;; drop special machine instructions not supported
;; on all instances of the target
,@(if (string-prefix? "x86_64"
@@ -234,12 +253,6 @@ system, and the core design of Django is reused in Grantlee.")
(%current-system)))
'()
'("-no-sse2"))
- "-no-sse3"
- "-no-ssse3"
- "-no-sse4.1"
- "-no-sse4.2"
- "-no-avx"
- "-no-avx2"
"-no-mips_dsp"
"-no-mips_dspr2"))))))))
(home-page "https://www.qt.io/")