diff options
Diffstat (limited to 'package/qt5')
-rw-r--r-- | package/qt5/Config.in | 1 | ||||
-rw-r--r-- | package/qt5/qt5.mk | 4 | ||||
-rw-r--r-- | package/qt5/qt5webengine/5.6.3/0001-Change-default-SSL-directory.patch | 35 | ||||
-rw-r--r-- | package/qt5/qt5webengine/5.6.3/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch | 93 | ||||
-rw-r--r-- | package/qt5/qt5webengine/Config.in | 5 | ||||
-rw-r--r-- | package/qt5/qt5webengine/qt5webengine.hash | 3 | ||||
-rw-r--r-- | package/qt5/qt5webkit-examples/0001-Build-examples.patch | 52 | ||||
-rw-r--r-- | package/qt5/qt5webkit-examples/Config.in | 10 | ||||
-rw-r--r-- | package/qt5/qt5webkit-examples/qt5webkit-examples.hash | 5 | ||||
-rw-r--r-- | package/qt5/qt5webkit-examples/qt5webkit-examples.mk | 54 |
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)) |