From: Andreas Enge <andreas@enge.fr>
To: guix-devel@gnu.org
Subject: Re: Qtwebengine
Date: Sun, 26 Jul 2015 13:02:00 +0200 [thread overview]
Message-ID: <20150726110200.GA7976@debian> (raw)
In-Reply-To: <20150726095545.GA29093@debian>
[-- Attachment #1: Type: text/plain, Size: 193 bytes --]
Attached is the patch.
Vlc still compiles with the new qt. Liblxqt does not; we might need to
add qt 5.4 again as a separate package. Hydra should tell us if there is
more damage...
Andreas
[-- Attachment #2: 0001-gnu-qt-Update-to-5.5.0.patch --]
[-- Type: text/plain, Size: 11409 bytes --]
From 544976bc995182440ab07f6e02dbc4deb6a3f320 Mon Sep 17 00:00:00 2001
From: Andreas Enge <andreas@enge.fr>
Date: Sat, 25 Jul 2015 16:02:38 +0200
Subject: [PATCH] gnu: qt: Update to 5.5.0.
* gnu/packages/qt.scm (qt): Update to 5.5.0. Update download location.
Drop patch and snippet.
[arguments]: Add configure flag to drop qtwebengine module bundling
chromium.
[inputs]: Add harfbuzz to avoid use of bundled copy.
(qt-4)[inputs]: Remove inherited harfbuzz again.
* gnu/packages/patches/qt5-conflicting-typedefs.patch: Delete file.
* gnu-system.am (dist_patch_DATA): Unregister patch.
* gnu/packages/patches/qt5-runpath.patch: Adapt patch.
---
gnu-system.am | 1 -
.../patches/qt5-conflicting-typedefs.patch | 70 ----------------------
gnu/packages/patches/qt5-runpath.patch | 16 ++---
gnu/packages/qt.scm | 51 +++++++++-------
4 files changed, 37 insertions(+), 101 deletions(-)
delete mode 100644 gnu/packages/patches/qt5-conflicting-typedefs.patch
diff --git a/gnu-system.am b/gnu-system.am
index d6635fe..560f0ca 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -602,7 +602,6 @@ dist_patch_DATA = \
gnu/packages/patches/qemu-CVE-2015-4106-pt8.patch \
gnu/packages/patches/qt4-ldflags.patch \
gnu/packages/patches/qt4-tests.patch \
- gnu/packages/patches/qt5-conflicting-typedefs.patch \
gnu/packages/patches/qt5-runpath.patch \
gnu/packages/patches/ratpoison-shell.patch \
gnu/packages/patches/readline-link-ncurses.patch \
diff --git a/gnu/packages/patches/qt5-conflicting-typedefs.patch b/gnu/packages/patches/qt5-conflicting-typedefs.patch
deleted file mode 100644
index 751452c..0000000
--- a/gnu/packages/patches/qt5-conflicting-typedefs.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-See <https://bugreports.qt.io/browse/QTBUG-45205>.
-
-diff --git a/qtwebengine/src/core/chromium_gpu_helper.cpp b/qtwebengine/src/core/chromium_gpu_helper.cpp
-index c7c97e6..ef574ec 100644
---- a/qtwebengine/src/core/chromium_gpu_helper.cpp
-+++ b/qtwebengine/src/core/chromium_gpu_helper.cpp
-@@ -40,13 +40,15 @@
-
- #include "chromium_gpu_helper.h"
-
--#include "content/common/gpu/gpu_channel_manager.h"
--#include "content/common/gpu/sync_point_manager.h"
--#include "content/gpu/gpu_child_thread.h"
-+// Including gpu/command_buffer headers before content/gpu headers makes sure that
-+// guards are defined to prevent duplicate definition errors with forward declared
-+// GL typedefs cascading through content header includes.
- #include "gpu/command_buffer/service/mailbox_manager.h"
- #include "gpu/command_buffer/service/texture_manager.h"
-
--#include <QtGlobal> // We need this for the Q_OS_QNX define.
-+#include "content/common/gpu/gpu_channel_manager.h"
-+#include "content/common/gpu/sync_point_manager.h"
-+#include "content/gpu/gpu_child_thread.h"
-
- #ifdef Q_OS_QNX
- #include "content/common/gpu/stream_texture_qnx.h"
-diff --git a/qtwebengine/src/core/gl_surface_qt.cpp b/qtwebengine/src/core/gl_surface_qt.cpp
-index 4fe2f21..5a27aa9 100644
---- a/qtwebengine/src/core/gl_surface_qt.cpp
-+++ b/qtwebengine/src/core/gl_surface_qt.cpp
-@@ -49,8 +49,6 @@
- #include "base/logging.h"
- #include "base/memory/scoped_ptr.h"
- #include "content/common/gpu/image_transport_surface.h"
--#include "content/common/gpu/gpu_channel_manager.h"
--#include "content/common/gpu/gpu_command_buffer_stub.h"
- #include "ui/gl/egl_util.h"
- #include "ui/gl/gl_context.h"
- #include "ui/gl/gl_implementation.h"
-@@ -544,7 +542,9 @@ GLSurface::CreateViewGLSurface(gfx::AcceleratedWidget window)
- } // namespace gfx
-
- namespace content {
--scoped_refptr<gfx::GLSurface> ImageTransportSurface::CreateNativeSurface(GpuChannelManager* manager, GpuCommandBufferStub* stub, const gfx::GLSurfaceHandle& handle)
-+class GpuCommandBufferStub;
-+class GpuChannelManager;
-+scoped_refptr<gfx::GLSurface> ImageTransportSurface::CreateNativeSurface(GpuChannelManager*, GpuCommandBufferStub*, const gfx::GLSurfaceHandle&)
- {
- QT_NOT_USED
- return scoped_refptr<gfx::GLSurface>();
-diff --git a/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/gles2_cmd_format.h b/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/gles2_cmd_format.h
-index 04a3dc3..506cf00 100644
---- a/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/gles2_cmd_format.h
-+++ b/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/gles2_cmd_format.h
-@@ -20,6 +20,7 @@
- #include "gpu/command_buffer/common/cmd_buffer_common.h"
- #include "gpu/command_buffer/common/gles2_cmd_ids.h"
-
-+#ifndef GL_VERSION_1_5
- // GL types are forward declared to avoid including the GL headers. The problem
- // is determining which GL headers to include from code that is common to the
- // client and service sides (GLES2 or one of several GL implementations).
-@@ -47,6 +48,7 @@ typedef signed long long int GLsizeiptr;
- typedef khronos_intptr_t GLintptr;
- typedef khronos_ssize_t GLsizeiptr;
- #endif
-+#endif
-
- namespace gpu {
- namespace gles2 {
diff --git a/gnu/packages/patches/qt5-runpath.patch b/gnu/packages/patches/qt5-runpath.patch
index a6cbb26..d045d39 100644
--- a/gnu/packages/patches/qt5-runpath.patch
+++ b/gnu/packages/patches/qt5-runpath.patch
@@ -1,9 +1,11 @@
Allow the use of DT_RUNPATH. This fixes a bug whereby libQt5WebEngineCore.so
ends up having an empty RUNPATH.
---- qt-everywhere-opensource-src-5.4.1/qtwebengine/src/3rdparty/chromium/build/common.gypi 2015-04-14 10:21:09.330925545 +0200
-+++ qt-everywhere-opensource-src-5.4.1/qtwebengine/src/3rdparty/chromium/build/common.gypi 2015-04-14 10:21:38.735106097 +0200
-@@ -4142,19 +4142,6 @@
+
+diff -u -r qt-everywhere-opensource-src-5.5.0.orig/qtwebengine/src/3rdparty/chromium/build/common.gypi qt-everywhere-opensource-src-5.5.0/qtwebengine/src/3rdparty/chromium/build/common.gypi
+--- qt-everywhere-opensource-src-5.5.0.orig/qtwebengine/src/3rdparty/chromium/build/common.gypi 2015-06-29 22:09:36.000000000 +0200
++++ qt-everywhere-opensource-src-5.5.0/qtwebengine/src/3rdparty/chromium/build/common.gypi 2015-07-25 15:32:57.999411191 +0200
+@@ -4448,19 +4448,6 @@
'-B<!(cd <(DEPTH) && pwd -P)/<(binutils_dir)',
],
}],
@@ -19,7 +21,7 @@ ends up having an empty RUNPATH.
- 'ldflags': [
- '-Wl,--disable-new-dtags',
- ],
-- }]
- ],
- },
- }],
+- }],
+ ['gcc_version>=47 and clang==0', {
+ 'target_conditions': [
+ ['_toolset=="target"', {
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 313d639..fcb0c3c 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -37,6 +37,7 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gnuzilla)
#:use-module (gnu packages gperf)
+ #:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
@@ -95,26 +96,20 @@ X11 (yet).")
(define-public qt
(package
(name "qt")
- (version "5.4.2")
+ (version "5.5.0")
(source (origin
(method url-fetch)
- (uri (string-append "http://download.qt-project.org/official_releases/qt/"
- (string-copy version 0 (string-rindex version #\.))
- "/" version
- "/single/qt-everywhere-opensource-src-"
- version ".tar.xz"))
+ (uri
+ (string-append
+ "http://download.qt.io/official_releases/qt/"
+ (version-major+minor version)
+ "/" version
+ "/single/qt-everywhere-opensource-src-"
+ version ".tar.xz"))
(sha256
- (base32
- "09gay5cimfdb0apy60v7z4r4zkl2vjysdppzihpla8dp2c30fvcc"))
- (patches (list (search-patch "qt5-conflicting-typedefs.patch")
- (search-patch "qt5-runpath.patch")))
- (snippet
- '(begin
- ;; Remove broken symlinks.
- (delete-file "qtwebengine/src/3rdparty/chromium/third_party/\
-mesa/src/src/gallium/state_trackers/d3d1x/w32api")
- (delete-file "qtwebengine/src/3rdparty/chromium/third_party/\
-webrtc/tools/e2e_quality/audio/perf")))))
+ (base32
+ "1by2l8wxbqwvs7anb5ggmqhn2cfmhyw3a23bp1yyd240rdpa38ky"))
+ (patches (list (search-patch "qt5-runpath.patch")))))
(build-system gnu-build-system)
(propagated-inputs
`(("mesa" ,mesa)))
@@ -126,6 +121,7 @@ webrtc/tools/e2e_quality/audio/perf")))))
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("glib" ,glib)
+ ("harfbuzz" ,harfbuzz)
("icu4c" ,icu4c)
("libjpeg" ,libjpeg)
("libmng" ,libmng)
@@ -179,11 +175,13 @@ webrtc/tools/e2e_quality/audio/perf")))))
(("/bin/pwd") (which "pwd")))
(substitute* "qtbase/src/corelib/global/global.pri"
(("/bin/ls") (which "ls")))
- (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")))
+ ;; 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
@@ -198,6 +196,12 @@ WebKit/Source/build/scripts/scripts.gypi"
"-openssl-linked"
;; explicitly link with dbus instead of dlopening it
"-dbus-linked"
+ ;; drop chromium model (qtwebengine); it fails
+ ;; compilation in 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"
@@ -240,7 +244,8 @@ developers using C++ or QML, a CSS & JavaScript like language.")
"183fca7n7439nlhxyg1z7aky0izgbyll3iwakw4gwivy16aj5272"))
(patches (map search-patch
'("qt4-ldflags.patch" "qt4-tests.patch")))))
- (inputs `(,@(alist-delete "libjpeg" (package-inputs qt))
+ (inputs `(,@(alist-delete "harfbuzz"
+ (alist-delete "libjpeg" (package-inputs qt)))
("libjepg" ,libjpeg-8)
("libsm" ,libsm)))
--
2.4.3
next prev parent reply other threads:[~2015-07-26 11:02 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-26 9:55 Qtwebengine Andreas Enge
2015-07-26 11:02 ` Andreas Enge [this message]
2015-07-26 15:34 ` Qtwebengine 宋文武
2015-07-26 21:07 ` Qtwebengine Mark H Weaver
2015-07-27 8:35 ` Qtwebengine Andreas Enge
2015-07-27 8:31 ` Qtwebengine Andreas Enge
2015-07-27 13:43 ` Qtwebengine 宋文武
2015-08-02 9:37 ` Qtwebengine Andreas Enge
2015-08-02 19:24 ` Security updates for bundled copies of libraries in Qt Mark H Weaver
2015-08-11 18:10 ` Andreas Enge
2015-08-18 14:59 ` Ludovic Courtès
2015-08-18 15:12 ` Andreas Enge
2015-08-19 22:23 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150726110200.GA7976@debian \
--to=andreas@enge.fr \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).