summaryrefslogtreecommitdiffstats
path: root/package/qt5
diff options
context:
space:
mode:
Diffstat (limited to 'package/qt5')
-rw-r--r--package/qt5/Config.in1
-rw-r--r--package/qt5/qt5.mk4
-rw-r--r--package/qt5/qt5webengine/5.6.3/0001-Change-default-SSL-directory.patch35
-rw-r--r--package/qt5/qt5webengine/5.6.3/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch93
-rw-r--r--package/qt5/qt5webengine/Config.in5
-rw-r--r--package/qt5/qt5webengine/qt5webengine.hash3
-rw-r--r--package/qt5/qt5webkit-examples/0001-Build-examples.patch52
-rw-r--r--package/qt5/qt5webkit-examples/Config.in10
-rw-r--r--package/qt5/qt5webkit-examples/qt5webkit-examples.hash5
-rw-r--r--package/qt5/qt5webkit-examples/qt5webkit-examples.mk54
10 files changed, 254 insertions, 8 deletions
diff --git a/package/qt5/Config.in b/package/qt5/Config.in
index 8513c36623..0136e1124f 100644
--- a/package/qt5/Config.in
+++ b/package/qt5/Config.in
@@ -80,6 +80,7 @@ source "package/qt5/qt5virtualkeyboard/Config.in"
source "package/qt5/qt5wayland/Config.in"
source "package/qt5/qt5webchannel/Config.in"
source "package/qt5/qt5webkit/Config.in"
+source "package/qt5/qt5webkit-examples/Config.in"
source "package/qt5/qt5webengine/Config.in"
source "package/qt5/qt5websockets/Config.in"
source "package/qt5/qt5x11extras/Config.in"
diff --git a/package/qt5/qt5.mk b/package/qt5/qt5.mk
index 0e49c6b58b..5d63433666 100644
--- a/package/qt5/qt5.mk
+++ b/package/qt5/qt5.mk
@@ -7,13 +7,11 @@
ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
QT5_VERSION_MAJOR = 5.9
QT5_VERSION = $(QT5_VERSION_MAJOR).2
-QT5_SITE = http://download.qt.io/official_releases/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/submodules
else
QT5_VERSION_MAJOR = 5.6
QT5_VERSION = $(QT5_VERSION_MAJOR).3
-QT5_SITE = http://download.qt.io/official_releases/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/submodules
-QT5_SNAPSHOTS_SITE = http://download.qt.io/snapshots/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/latest_src/submodules
endif
+QT5_SITE = http://download.qt.io/official_releases/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/submodules
include $(sort $(wildcard package/qt5/*/*.mk))
diff --git a/package/qt5/qt5webengine/5.6.3/0001-Change-default-SSL-directory.patch b/package/qt5/qt5webengine/5.6.3/0001-Change-default-SSL-directory.patch
new file mode 100644
index 0000000000..15cd9f87bb
--- /dev/null
+++ b/package/qt5/qt5webengine/5.6.3/0001-Change-default-SSL-directory.patch
@@ -0,0 +1,35 @@
+From fc41c0f572ff347142cca4bf5d82b87782bb5906 Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?Ga=C3=ABl=20PORTAY?= <gael.portay@savoirfairelinux.com>
+Date: Thu, 23 Nov 2017 16:18:06 -0500
+Subject: [PATCH] Change default SSL directory
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+Change the default SSL directory, as buildroot ca-cert package is
+installed at /etc/ssl. That way, we don't have to use the SSL_CERT_DIR
+environment at runtime.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Damien Riegel <damien.riegel@savoirfairelinux.com>
+Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
+---
+ src/core/qtwebengine_extras.gypi | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/core/qtwebengine_extras.gypi b/src/core/qtwebengine_extras.gypi
+index 229421ef..3b2386c0 100644
+--- a/src/core/qtwebengine_extras.gypi
++++ b/src/core/qtwebengine_extras.gypi
+@@ -96,7 +96,7 @@
+ 'GL_GLEXT_PROTOTYPES',
+ 'EGL_EGLEXT_PROTOTYPES',
+ # At runtime the env variable SSL_CERT_DIR can be used to override this
+- 'OPENSSLDIR="/usr/lib/ssl"',
++ 'OPENSSLDIR="/etc/ssl"',
+ 'OPENSSL_LOAD_CONF',
+ 'EGL_API_FB=1',
+ 'LINUX=1',
+--
+2.15.0
+
diff --git a/package/qt5/qt5webengine/5.6.3/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch b/package/qt5/qt5webengine/5.6.3/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch
new file mode 100644
index 0000000000..05ed2956d2
--- /dev/null
+++ b/package/qt5/qt5webengine/5.6.3/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch
@@ -0,0 +1,93 @@
+From bdfd084296681bcead17c42f1e5cf0e24ee04f65 Mon Sep 17 00:00:00 2001
+From: Viktor Engelmann <viktor.engelmann@qt.io>
+Date: Fri, 7 Jul 2017 12:56:19 +0200
+Subject: [PATCH] Load libEGL and libGLES2 symbols implicitly
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+Instead of explicitly loading libraries from hard-coded locations,
+we now just call dlopen(NULL, RTLD_LAZY). This returns a handle to
+the host process'es context, which already contains the symbols of
+both these libraries, because we link against them.
+It was necessary to bypass LoadLibrary, because that expects a non-NULL
+file path, so we couldn't pass NULL through that interface.
+
+Upstream-Status: Merged
+Task-number: QTBUG-57761
+Change-Id: I29f037dfe542222b5188a33c7727c81a464a87bb
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+Reviewed-by: Michal Klocek <michal.klocek@qt.io>
+Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
+[gportay: backport from 5.9 and merge conflicts]
+---
+ src/core/surface_factory_qt.cpp | 40 ++++++++--------------------------------
+ 1 file changed, 8 insertions(+), 32 deletions(-)
+
+diff --git a/src/core/surface_factory_qt.cpp b/src/core/surface_factory_qt.cpp
+index 48c91bfc..c6059b67 100644
+--- a/src/core/surface_factory_qt.cpp
++++ b/src/core/surface_factory_qt.cpp
+@@ -51,51 +51,27 @@
+ #if defined(USE_OZONE)
+
+ #include <EGL/egl.h>
+-
+-#ifndef QT_LIBDIR_EGL
+-#define QT_LIBDIR_EGL "/usr/lib"
+-#endif
+-#ifndef QT_LIBDIR_GLES2
+-#define QT_LIBDIR_GLES2 QT_LIBDIR_EGL
+-#endif
++#include <dlfcn.h>
+
+ namespace QtWebEngineCore {
+
+-base::NativeLibrary LoadLibrary(const base::FilePath& filename) {
+- base::NativeLibraryLoadError error;
+- base::NativeLibrary library = base::LoadNativeLibrary(filename, &error);
+- if (!library) {
+- LOG(ERROR) << "Failed to load " << filename.MaybeAsASCII() << ": " << error.ToString();
+- return NULL;
+- }
+- return library;
+-}
+-
+ bool SurfaceFactoryQt::LoadEGLGLES2Bindings(AddGLLibraryCallback add_gl_library, SetGLGetProcAddressProcCallback set_gl_get_proc_address)
+ {
+- base::FilePath libEGLPath = QtWebEngineCore::toFilePath(QT_LIBDIR_EGL);
+- libEGLPath = libEGLPath.Append("libEGL.so.1");
+- base::NativeLibrary eglLibrary = LoadLibrary(libEGLPath);
+- if (!eglLibrary)
+- return false;
+-
+- base::FilePath libGLES2Path = QtWebEngineCore::toFilePath(QT_LIBDIR_GLES2);
+- libGLES2Path = libGLES2Path.Append("libGLESv2.so.2");
+- base::NativeLibrary gles2Library = LoadLibrary(libGLES2Path);
+- if (!gles2Library)
++ base::NativeLibrary eglgles2Library = dlopen(NULL, RTLD_LAZY);
++ if (!eglgles2Library) {
++ LOG(ERROR) << "Failed to open EGL/GLES2 context " << dlerror();
+ return false;
++ }
+
+- gfx::GLGetProcAddressProc get_proc_address = reinterpret_cast<gfx::GLGetProcAddressProc>(base::GetFunctionPointerFromNativeLibrary(eglLibrary, "eglGetProcAddress"));
++ gfx::GLGetProcAddressProc get_proc_address = reinterpret_cast<gfx::GLGetProcAddressProc>(base::GetFunctionPointerFromNativeLibrary(eglgles2Library, "eglGetProcAddress"));
+ if (!get_proc_address) {
+ LOG(ERROR) << "eglGetProcAddress not found.";
+- base::UnloadNativeLibrary(eglLibrary);
+- base::UnloadNativeLibrary(gles2Library);
++ base::UnloadNativeLibrary(eglgles2Library);
+ return false;
+ }
+
+ gfx::SetGLGetProcAddressProc(get_proc_address);
+- gfx::AddGLNativeLibrary(eglLibrary);
+- gfx::AddGLNativeLibrary(gles2Library);
++ gfx::AddGLNativeLibrary(eglgles2Library);
+ return true;
+ }
+
+--
+2.15.0
+
diff --git a/package/qt5/qt5webengine/Config.in b/package/qt5/qt5webengine/Config.in
index d40b58062e..d0c8d18210 100644
--- a/package/qt5/qt5webengine/Config.in
+++ b/package/qt5/qt5webengine/Config.in
@@ -20,10 +20,6 @@ comment "qt5webengine needs an OpenGL and EGL-capable backend"
depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS
depends on !BR2_PACKAGE_QT5_GL_AVAILABLE || !BR2_PACKAGE_HAS_LIBEGL
-comment "qt5webengine is not available with Qt 5.6"
- depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS
- depends on BR2_PACKAGE_QT5_VERSION_5_6
-
config BR2_PACKAGE_QT5WEBENGINE
bool "qt5webengine"
depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS
@@ -35,7 +31,6 @@ config BR2_PACKAGE_QT5WEBENGINE
depends on BR2_PACKAGE_QT5_GL_AVAILABLE # qt5declarative, qt5base-eglfs
depends on BR2_PACKAGE_HAS_LIBEGL # qt5base-eglfs
depends on BR2_PACKAGE_HAS_UDEV
- depends on !BR2_PACKAGE_QT5_VERSION_5_6
# v8 (a chromium 3rd-party) compiles its internal host-tools with the
# same word size as the target. For 32-bits targets, it adds the -m32
# flag (for 64-bits, it adds the -m64 flag).
diff --git a/package/qt5/qt5webengine/qt5webengine.hash b/package/qt5/qt5webengine/qt5webengine.hash
index 918f7edb3a..f71889e251 100644
--- a/package/qt5/qt5webengine/qt5webengine.hash
+++ b/package/qt5/qt5webengine/qt5webengine.hash
@@ -1,2 +1,5 @@
+# Hash from https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtwebengine-opensource-src-5.6.3.tar.xz.mirrorlist
+sha256 009d69fb39f6c0e2b0cd89a7e9302cd0ae1872d02c787d3a37f2cacca5ddb7a7 qtwebengine-opensource-src-5.6.3.tar.xz
+
# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtwebengine-opensource-src-5.9.2.tar.xz.mirrorlist
sha256 cab069e4589f806640bebe4077c70e5cd5ffeb146c6e8caca6c4454fc0c4a108 qtwebengine-opensource-src-5.9.2.tar.xz
diff --git a/package/qt5/qt5webkit-examples/0001-Build-examples.patch b/package/qt5/qt5webkit-examples/0001-Build-examples.patch
new file mode 100644
index 0000000000..6303006f62
--- /dev/null
+++ b/package/qt5/qt5webkit-examples/0001-Build-examples.patch
@@ -0,0 +1,52 @@
+From 78f558df35860484711a600d155ae7a13ebf44b2 Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?Ga=C3=ABl=20PORTAY?= <gael.portay@savoirfairelinux.com>
+Date: Tue, 28 Nov 2017 23:14:42 -0500
+Subject: [PATCH 1/1] Build examples
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+This patch improves the qt5webkit examples build for 2 aspects:
+
+ - Allows to build even if qt5base examples are not enabled
+ - Builds xmlpatterns example only if the qt5xmlpattern package
+ has been built
+
+Signed-off-by: Massimo Callegari <massimocallegari@yahoo.it>
+Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
+[gportay: build imageanalyzer example if concurrent module is built]
+---
+ examples/webkitwidgets/webkitwidgets.pro | 7 ++++---
+ qtwebkit-examples.pro | 1 +
+ 2 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/examples/webkitwidgets/webkitwidgets.pro b/examples/webkitwidgets/webkitwidgets.pro
+index ab20df4..67f6785 100644
+--- a/examples/webkitwidgets/webkitwidgets.pro
++++ b/examples/webkitwidgets/webkitwidgets.pro
+@@ -4,9 +4,10 @@ SUBDIRS += domtraversal \
+ previewer \
+ fancybrowser \
+ simpleselector \
+- imageanalyzer \
+ framecapture \
+ browser \
+ embedded \
+- scroller \
+- xmlpatterns
++ scroller
++
++qtHaveModule(xmlpatterns): SUBDIRS += xmlpatterns
++qtHaveModule(concurrent): SUBDIRS += imageanalyzer
+diff --git a/qtwebkit-examples.pro b/qtwebkit-examples.pro
+index 3fcecf1..2ade7ff 100644
+--- a/qtwebkit-examples.pro
++++ b/qtwebkit-examples.pro
+@@ -3,3 +3,4 @@ requires(qtHaveModule(webkit))
+ load(qt_parts)
+
+ SUBDIRS += doc
++SUBDIRS += examples
+--
+2.15.0
+
diff --git a/package/qt5/qt5webkit-examples/Config.in b/package/qt5/qt5webkit-examples/Config.in
new file mode 100644
index 0000000000..47bbcbaa68
--- /dev/null
+++ b/package/qt5/qt5webkit-examples/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_QT5WEBKIT_EXAMPLES
+ bool "qt5webkit-examples"
+ depends on BR2_PACKAGE_QT5WEBKIT
+ help
+ Qt is a cross-platform application and UI framework for
+ developers using C++.
+
+ This package contains examples for the qt5webkit module.
+
+ http://qt.io
diff --git a/package/qt5/qt5webkit-examples/qt5webkit-examples.hash b/package/qt5/qt5webkit-examples/qt5webkit-examples.hash
new file mode 100644
index 0000000000..2af1efbaf0
--- /dev/null
+++ b/package/qt5/qt5webkit-examples/qt5webkit-examples.hash
@@ -0,0 +1,5 @@
+# Hash from: http://download.qt.io/community_releases/5.6/5.6.3/qtwebkit-examples-opensource-src-5.6.3.tar.xz.mirrorlist
+sha256 2d6ce7146298d03b443cca4390bbfee17c4c0b08a31efcbf9fe0732291a6169e qtwebkit-examples-opensource-src-5.6.3.tar.xz
+
+# Hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtwebkit-examples-opensource-src-5.9.1.tar.xz.mirrorlist
+sha256 e4ce4de6b468243abad2baabbe8ddfb05d25b186529bfe88cb8662fc983f54d0 qtwebkit-examples-opensource-src-5.9.1.tar.xz
diff --git a/package/qt5/qt5webkit-examples/qt5webkit-examples.mk b/package/qt5/qt5webkit-examples/qt5webkit-examples.mk
new file mode 100644
index 0000000000..59e9248ffe
--- /dev/null
+++ b/package/qt5/qt5webkit-examples/qt5webkit-examples.mk
@@ -0,0 +1,54 @@
+################################################################################
+#
+# qt5webkit-examples
+#
+################################################################################
+
+# no 5.9.2 package available, fall back to 5.9.1 version
+ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
+QT5WEBKIT_EXAMPLES_VERSION = 5.9.1
+QT5WEBKIT_EXAMPLES_SITE = http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules
+else
+QT5WEBKIT_EXAMPLES_VERSION = $(QT5_VERSION)
+QT5WEBKIT_EXAMPLES_SITE = http://download.qt.io/community_releases/5.6/$(QT5_VERSION)
+endif
+
+QT5WEBKIT_EXAMPLES_SOURCE = qtwebkit-examples-opensource-src-$(QT5WEBKIT_VERSION).tar.xz
+QT5WEBKIT_EXAMPLES_DEPENDENCIES = qt5base qt5webkit
+
+QT5WEBKIT_EXAMPLES_LICENSE_FILES = LICENSE.LGPLv21 LICENSE.LGPLv3 LICENSE.GPLv2 LICENSE.GPLv3
+
+QT5WEBKIT_EXAMPLES_LICENSE = LGPL-2.1 with exception or LGPL-3 or GPL-2 or GPL-3
+# Source files contain references to LGPL_EXCEPTION.txt but it is not included
+# in the archive.
+
+ifeq ($(BR2_PACKAGE_QT5XMLPATTERNS),y)
+QT5WEBKIT_EXAMPLES_DEPENDENCIES += qt5xmlpatterns
+endif
+
+define QT5WEBKIT_EXAMPLES_CONFIGURE_CMDS
+ (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake)
+endef
+
+define QT5WEBKIT_EXAMPLES_BUILD_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define QT5WEBKIT_EXAMPLES_INSTALL_STAGING_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
+endef
+
+ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y)
+QT5WEBKIT_DEPENDENCIES += qt5declarative
+define QT5WEBKIT_EXAMPLES_INSTALL_QML
+ cp -dpfr $(@D)/examples/webkitqml $(TARGET_DIR)/usr/lib/qt/examples
+endef
+endif
+
+define QT5WEBKIT_EXAMPLES_INSTALL_TARGET_CMDS
+ mkdir -p $(TARGET_DIR)/usr/lib/qt/examples
+ cp -dpfr $(@D)/examples/webkitwidgets $(TARGET_DIR)/usr/lib/qt/examples
+ $(QT5WEBKIT_EXAMPLES_INSTALL_QML)
+endef
+
+$(eval $(generic-package))
OpenPOWER on IntegriCloud