All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v4 0/3] Qt WebEngine support
@ 2017-07-20  1:05 Gaël PORTAY
  2017-07-20  1:05 ` [Buildroot] [PATCH v4 1/3] rpi-userland: fix opengl library symlinks Gaël PORTAY
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Gaël PORTAY @ 2017-07-20  1:05 UTC (permalink / raw)
  To: buildroot

The purpose of this patch series is to continue the integration of Qt5 WebEngine
in buildroot; started long time ago by Akihiko Odaki [1] and Julien Corjon [2].

The first patch fixes the rpi-userland OpenGL libraries symlinks. WebEngine
eglfs backend is linked against libEGL.so.1 and libGLESv2.so.2.

	# ls -l /usr/lib/lib*GL*
	lrwxrwxrwx    1 root     root            11 Mar 21 17:24 /usr/lib/libEGL.so -> libEGL.so.1
	lrwxrwxrwx    1 root     root            15 Mar 21 17:24 /usr/lib/libEGL.so.1 -> libEGL.so.1.0.0
	-rwxr-xr-x    1 root     root        163152 Mar 22 14:56 /usr/lib/libEGL.so.1.0.0
	lrwxrwxrwx    1 root     root            14 Mar 21 17:24 /usr/lib/libGLESv2.so -> libGLESv2.so.2
	lrwxrwxrwx    1 root     root            18 Mar 21 17:24 /usr/lib/libGLESv2.so.2 -> libGLESv2.so.2.0.0
	-rwxr-xr-x    1 root     root         78788 Mar 22 14:56 /usr/lib/libGLESv2.so.2.0.0

A PR has been made [3].

The second patch provides the Qt WebEngine package.

The last patch is a special defconfig that provides a Qt WebEngine setup on
raspberrypi3.

With this patchset, one can run the Qt quicknanobrowser sample on a rpi3 with
the following options:
  - BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc" and
    BR2_TOOLCHAIN_BUILDROOT_CXX=y (Qt 5 needs a toolchain w/ wchar, NPTL, C++,
    dynamic library)
  - BR2_PACKAGE_LIBERATION (Qt 5.8 requires a least one font)
  - BR2_PACKAGE_RPI_USERLAND (to enable OpenGL backend)
  - BR2_PACKAGE_QT5BASE_EXAMPLES (to install quicknanobrowser sample)
  - BR2_PACKAGE_QT5QUICKCONTROLS (needed by quicknanobrowser)
  - BR2_PACKAGE_QT5WEBENGINE (because it is what we want :))

To browse for HTTPS websites, please consider adding the following options as
well:
  - BR2_PACKAGE_CA_CERT (for certificates)
  - BR2_PACKAGE_NTPD (to sync date)

To run quicknanobrowser:
	# cd /usr/lib/qt/examples/webengine/quicknanobrowser/
	# ./quicknanobrowser

Enjoy ;)

Note: For now, quicknanobrowser will just display the qt website without any
input backend.

[1] https://patchwork.ozlabs.org/patch/640633/
[2] http://lists.busybox.net/pipermail/buildroot/2015-July/132010.html
[3] https://github.com/raspberrypi/userland/pull/379

Changes since RFC:
 - rebase to master (use SPDX licenses, remove license approved, update
   qt5_defconfig...)
 - remove the patch "prefer arm tune"
 - disable build with Qt 5.6 LTS (not working, waiting for 5.6.3 in August)
 - re-order patches

Changes since v1:
 - manually create symlinks to preserve SONAME
 - add my signed-off-by to the qt webengine patch
 - make qtwe package depends on supported architectures
 - fix Kconfig comment about Qt 5.6
 - sort alphabetically chromium licenses

Changes since v2:
 - fix build issue when I sorted alphabetically the chromium licenses
 - replace legacy option BR2_TARGET_ROOTFS_EXT2_BLOCK to
   new option BR2_TARGET_ROOTFS_EXT2_SIZE

Changes since v3:
 - add my signed-off-by and the PR link to the rpi-userland patch
 - move rpi patch index from 0001 to 0007

Ga?l PORTAY (3):
  rpi-userland: fix opengl library symlinks
  qt5webengine: new package
  configs: new raspberrypi3 qt5 config

 configs/raspberrypi3_qt5_defconfig                 |  47 ++++
 package/qt5/Config.in                              |   1 +
 .../qt5webengine/0001-change-default-ssl-dir.patch |  19 ++
 package/qt5/qt5webengine/Config.in                 |  51 +++++
 package/qt5/qt5webengine/chromium.inc              | 239 +++++++++++++++++++++
 package/qt5/qt5webengine/qt5webengine.hash         |   5 +
 package/qt5/qt5webengine/qt5webengine.mk           |  77 +++++++
 .../0007-Add-OpenGL-library-versioning.patch       |  37 ++++
 8 files changed, 476 insertions(+)
 create mode 100644 configs/raspberrypi3_qt5_defconfig
 create mode 100644 package/qt5/qt5webengine/0001-change-default-ssl-dir.patch
 create mode 100644 package/qt5/qt5webengine/Config.in
 create mode 100644 package/qt5/qt5webengine/chromium.inc
 create mode 100644 package/qt5/qt5webengine/qt5webengine.hash
 create mode 100644 package/qt5/qt5webengine/qt5webengine.mk
 create mode 100644 package/rpi-userland/0007-Add-OpenGL-library-versioning.patch

-- 
2.13.2

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v4 1/3] rpi-userland: fix opengl library symlinks
  2017-07-20  1:05 [Buildroot] [PATCH v4 0/3] Qt WebEngine support Gaël PORTAY
@ 2017-07-20  1:05 ` Gaël PORTAY
  2017-07-20  1:05 ` [Buildroot] [PATCH v4 2/3] qt5webengine: new package Gaël PORTAY
  2017-07-20  1:05 ` [Buildroot] [PATCH v4 3/3] configs: new raspberrypi3 qt5 config Gaël PORTAY
  2 siblings, 0 replies; 8+ messages in thread
From: Gaël PORTAY @ 2017-07-20  1:05 UTC (permalink / raw)
  To: buildroot

The Qt WebEngine module loads libEGL.so.1 and libGLESv2.so.2 libraries.
Path are hard-coded [1].

This patch sets up cmake to create those library links.

	# ls -l /usr/lib/lib*GL*
	lrwxrwxrwx    1 root     root            11 Mar 21 17:24 /usr/lib/libEGL.so -> libEGL.so.1
	lrwxrwxrwx    1 root     root            15 Mar 21 17:24 /usr/lib/libEGL.so.1 -> libEGL.so.1.0.0
	-rwxr-xr-x    1 root     root        163152 Mar 22 14:56 /usr/lib/libEGL.so.1.0.0
	lrwxrwxrwx    1 root     root            14 Mar 21 17:24 /usr/lib/libGLESv2.so -> libGLESv2.so.2
	lrwxrwxrwx    1 root     root            18 Mar 21 17:24 /usr/lib/libGLESv2.so.2 -> libGLESv2.so.2.0.0
	-rwxr-xr-x    1 root     root         78788 Mar 22 14:56 /usr/lib/libGLESv2.so.2.0.0

A pull request is pending [2].

[1] https://github.com/qt/qtwebengine/blob/5.8.0/src/core/surface_factory_qt.cpp#L76-L86
[2] https://github.com/raspberrypi/userland/pull/379

Signed-off-by: Ga?l PORTAY <gael.portay@savoirfairelinux.com>
---
 .../0007-Add-OpenGL-library-versioning.patch       | 37 ++++++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 package/rpi-userland/0007-Add-OpenGL-library-versioning.patch

diff --git a/package/rpi-userland/0007-Add-OpenGL-library-versioning.patch b/package/rpi-userland/0007-Add-OpenGL-library-versioning.patch
new file mode 100644
index 000000000..7024a7400
--- /dev/null
+++ b/package/rpi-userland/0007-Add-OpenGL-library-versioning.patch
@@ -0,0 +1,37 @@
+From bf388550943afc70798c497e3fc706303394cfdc Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?Ga=C3=ABl=20PORTAY?= <gael.portay@savoirfairelinux.com>
+Date: Fri, 3 Mar 2017 17:28:41 -0500
+Subject: [PATCH] Add OpenGL library versioning
+
+Some applications like QtWebEngine dynamically load libraries using
+dlopen. The library name is hardcoded, and it includes the library
+version [1].
+
+This patch creates symlinks for EGL and GLES libraries.
+
+	libEGL.so.1 -> libEGL.so
+	libGLESv2.so.2 -> libGLESv2.so
+
+[1] https://github.com/qt/qtwebengine/blob/v5.8.0/src/core/surface_factory_qt.cpp#L76-L86
+
+Signed-off-by: Ga?l PORTAY <gael.portay@savoirfairelinux.com>
+---
+ host_applications/android/apps/vidtex/CMakeLists.txt | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/host_applications/android/apps/vidtex/CMakeLists.txt b/host_applications/android/apps/vidtex/CMakeLists.txt
+index 1f705ef..d68ae5f 100644
+--- a/host_applications/android/apps/vidtex/CMakeLists.txt
++++ b/host_applications/android/apps/vidtex/CMakeLists.txt
+@@ -10,3 +10,8 @@ set (VIDTEX_SOURCES
+    vidtex.c)
+ add_executable(vidtex ${VIDTEX_SOURCES})
+ target_link_libraries(vidtex GLESv2 EGL m bcm_host mmal_core mmal_components mmal_util mmal_vc_client vcos)
++
++set(DESTDIR \$ENV{DESTDIR})
++include(GNUInstallDirs)
++install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink libEGL.so ${DESTDIR}/${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libEGL.so.1)")
++install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink libGLESv2.so ${DESTDIR}/${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libGLESv2.so.2)")
+-- 
+2.12.1
+
-- 
2.13.2

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v4 2/3] qt5webengine: new package
  2017-07-20  1:05 [Buildroot] [PATCH v4 0/3] Qt WebEngine support Gaël PORTAY
  2017-07-20  1:05 ` [Buildroot] [PATCH v4 1/3] rpi-userland: fix opengl library symlinks Gaël PORTAY
@ 2017-07-20  1:05 ` Gaël PORTAY
  2017-07-21  9:45   ` Zoltan Gyarmati
  2017-07-20  1:05 ` [Buildroot] [PATCH v4 3/3] configs: new raspberrypi3 qt5 config Gaël PORTAY
  2 siblings, 1 reply; 8+ messages in thread
From: Gaël PORTAY @ 2017-07-20  1:05 UTC (permalink / raw)
  To: buildroot

This patch is based on works [1] and [2].

[1]: http://lists.busybox.net/pipermail/buildroot/2015-July/132010.html
[2]: https://patchwork.ozlabs.org/patch/640633/

Cc: Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
Cc: Julien Corjon <corjon.j@ecagroup.com>
Signed-off-by: Ga?l PORTAY <gael.portay@savoirfairelinux.com>
---
 package/qt5/Config.in                              |   1 +
 .../qt5webengine/0001-change-default-ssl-dir.patch |  19 ++
 package/qt5/qt5webengine/Config.in                 |  51 +++++
 package/qt5/qt5webengine/chromium.inc              | 239 +++++++++++++++++++++
 package/qt5/qt5webengine/qt5webengine.hash         |   5 +
 package/qt5/qt5webengine/qt5webengine.mk           |  77 +++++++
 6 files changed, 392 insertions(+)
 create mode 100644 package/qt5/qt5webengine/0001-change-default-ssl-dir.patch
 create mode 100644 package/qt5/qt5webengine/Config.in
 create mode 100644 package/qt5/qt5webengine/chromium.inc
 create mode 100644 package/qt5/qt5webengine/qt5webengine.hash
 create mode 100644 package/qt5/qt5webengine/qt5webengine.mk

diff --git a/package/qt5/Config.in b/package/qt5/Config.in
index cca04a6d3..7fabca272 100644
--- a/package/qt5/Config.in
+++ b/package/qt5/Config.in
@@ -79,6 +79,7 @@ source "package/qt5/qt5tools/Config.in"
 source "package/qt5/qt5virtualkeyboard/Config.in"
 source "package/qt5/qt5webchannel/Config.in"
 source "package/qt5/qt5webkit/Config.in"
+source "package/qt5/qt5webengine/Config.in"
 source "package/qt5/qt5websockets/Config.in"
 source "package/qt5/qt5x11extras/Config.in"
 source "package/qt5/qt5xmlpatterns/Config.in"
diff --git a/package/qt5/qt5webengine/0001-change-default-ssl-dir.patch b/package/qt5/qt5webengine/0001-change-default-ssl-dir.patch
new file mode 100644
index 000000000..d61d1e71f
--- /dev/null
+++ b/package/qt5/qt5webengine/0001-change-default-ssl-dir.patch
@@ -0,0 +1,19 @@
+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.
+
+Signed-off-by: Damien Riegel <damien.riegel@savoirfairelinux.com>
+Signed-off-by: Ga?l PORTAY <gael.portay@savoirfairelinux.com>
+
+diff -Nura qt5webengine-5.8.0.orig/src/core/qtwebengine_extras.gypi qt5webengine-5.8.0/src/core/qtwebengine_extras.gypi
+--- qt5webengine-5.8.0.orig/src/core/qtwebengine_extras.gypi	2017-01-03 05:35:11.000000000 -0500
++++ qt5webengine-5.8.0/src/core/qtwebengine_extras.gypi	2017-03-03 16:24:34.947416678 -0500
+@@ -103,7 +103,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',
diff --git a/package/qt5/qt5webengine/Config.in b/package/qt5/qt5webengine/Config.in
new file mode 100644
index 000000000..a4dc3ebed
--- /dev/null
+++ b/package/qt5/qt5webengine/Config.in
@@ -0,0 +1,51 @@
+comment "qt5webengine needs an Open(E)GL-capable backend"
+	depends on BR2_PACKAGE_QT5
+	depends on BR2_i386 || BR2_x86_64 || BR2_aarch64 || BR2_arm || BR2_aarch64 || BR2_mips || BR2_mips64
+	depends on !BR2_PACKAGE_QT5_GL_AVAILABLE || !BR2_PACKAGE_HAS_LIBEGL
+
+comment "qt5webengine is not yet buildable with Qt 5.6"
+	depends on BR2_PACKAGE_QT5
+	depends on BR2_i386 || BR2_x86_64 || BR2_aarch64 || BR2_arm || BR2_aarch64 || BR2_mips || BR2_mips64
+	depends on !BR2_PACKAGE_QT5_GL_AVAILABLE || !BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_QT5_VERSION_5_6
+
+config BR2_PACKAGE_QT5WEBENGINE
+	bool "qt5webengine"
+	depends on BR2_i386 || BR2_x86_64 || BR2_aarch64 || BR2_arm || BR2_aarch64 || BR2_mips || BR2_mips64
+	depends on BR2_PACKAGE_QT5
+	depends on BR2_PACKAGE_QT5_GL_AVAILABLE && BR2_PACKAGE_HAS_LIBEGL && !BR2_PACKAGE_QT5_VERSION_5_6
+	select BR2_PACKAGE_LIBGLIB2
+	select BR2_PACKAGE_QT5BASE
+	select BR2_PACKAGE_QT5BASE_DBUS
+	select BR2_PACKAGE_QT5BASE_FONTCONFIG
+	select BR2_PACKAGE_QT5BASE_ICU
+	select BR2_PACKAGE_QT5BASE_GUI
+	select BR2_PACKAGE_QT5BASE_EGLFS
+	select BR2_PACKAGE_QT5BASE_WIDGETS
+	select BR2_PACKAGE_QT5DECLARATIVE
+	select BR2_PACKAGE_QT5DECLARATIVE_QUICK
+	select BR2_PACKAGE_QT5WEBCHANNEL
+	select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_QT5BASE_XCB
+	select BR2_PACKAGE_XLIB_LIBXCURSOR if BR2_PACKAGE_QT5BASE_XCB
+	select BR2_PACKAGE_XLIB_LIBXI if BR2_PACKAGE_QT5BASE_XCB
+	select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_QT5BASE_XCB
+	select BR2_PACKAGE_XLIB_LIBXSCRNSAVER if BR2_PACKAGE_QT5BASE_XCB
+	select BR2_PACKAGE_XLIB_LIBXTST if BR2_PACKAGE_QT5BASE_XCB
+	help
+	  The Qt WebEngine module provides a web browser engine that makes it
+	  easy to embed content from the World Wide Web into your Qt application
+	  on platforms that do not have a native web engine.
+
+	  Qt WebEngine provides C++ classes and QML types for rendering HTML,
+	  XHTML, and SVG documents, styled using Cascading Style Sheets (CSS)
+	  and scripted with JavaScript. HTML documents can be made fully
+	  editable by the user through the use of the contenteditable attribute
+	  on HTML elements.
+
+if BR2_PACKAGE_QT5WEBENGINE
+config BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS
+	bool "proprietary codecs"
+	help
+	  Qt WebEngine supports the MPEG-4 Part 14 (MP4) file format; which
+	  includes required proprietary audio and video codecs, such as H.264
+	  and MPEG layer-3 (MP3).
+endif
diff --git a/package/qt5/qt5webengine/chromium.inc b/package/qt5/qt5webengine/chromium.inc
new file mode 100644
index 000000000..5e1756817
--- /dev/null
+++ b/package/qt5/qt5webengine/chromium.inc
@@ -0,0 +1,239 @@
+CHROMIUM_LICENSE_FILES = \
+	src/3rdparty/chromium/base/third_party/dmg_fp/LICENSE \
+	src/3rdparty/chromium/base/third_party/dynamic_annotations/LICENSE \
+	src/3rdparty/chromium/base/third_party/icu/LICENSE \
+	src/3rdparty/chromium/base/third_party/libevent/LICENSE \
+	src/3rdparty/chromium/base/third_party/nspr/LICENSE \
+	src/3rdparty/chromium/base/third_party/superfasthash/LICENSE \
+	src/3rdparty/chromium/base/third_party/symbolize/LICENSE \
+	src/3rdparty/chromium/base/third_party/valgrind/LICENSE \
+	src/3rdparty/chromium/base/third_party/xdg_mime/LICENSE \
+	src/3rdparty/chromium/base/third_party/xdg_user_dirs/LICENSE \
+	src/3rdparty/chromium/buildtools/LICENSE \
+	src/3rdparty/chromium/buildtools/third_party/libc++abi/trunk/LICENSE.TXT \
+	src/3rdparty/chromium/buildtools/third_party/libc++/trunk/LICENSE.TXT \
+	src/3rdparty/chromium/chrome/third_party/chromevox/LICENSE \
+	src/3rdparty/chromium/chrome/third_party/chromevox/third_party/closure-library/LICENSE \
+	src/3rdparty/chromium/LICENSE \
+	src/3rdparty/chromium/LICENSE.chromium_os \
+	src/3rdparty/chromium/mojo/public/LICENSE \
+	src/3rdparty/chromium/net/third_party/mozilla_security_manager/LICENSE \
+	src/3rdparty/chromium/net/third_party/nss/LICENSE \
+	src/3rdparty/chromium/ppapi/LICENSE \
+	src/3rdparty/chromium/testing/gmock/LICENSE \
+	src/3rdparty/chromium/testing/gmock/scripts/generator/LICENSE \
+	src/3rdparty/chromium/testing/gtest/LICENSE \
+	src/3rdparty/chromium/third_party/accessibility_test_framework/LICENSE \
+	src/3rdparty/chromium/third_party/angle/LICENSE \
+	src/3rdparty/chromium/third_party/angle/src/third_party/compiler/LICENSE \
+	src/3rdparty/chromium/third_party/angle/src/third_party/libXNVCtrl/LICENSE \
+	src/3rdparty/chromium/third_party/angle/src/third_party/murmurhash/LICENSE \
+	src/3rdparty/chromium/third_party/apache-portable-runtime/LICENSE \
+	src/3rdparty/chromium/third_party/apache_velocity/LICENSE \
+	src/3rdparty/chromium/third_party/apple_apsl/LICENSE \
+	src/3rdparty/chromium/third_party/appurify-python/LICENSE \
+	src/3rdparty/chromium/third_party/bintrees/LICENSE.txt \
+	src/3rdparty/chromium/third_party/blanketjs/LICENSE \
+	src/3rdparty/chromium/third_party/blimp_fonts/LICENSE \
+	src/3rdparty/chromium/third_party/blimp_fonts/LICENSE.Apache \
+	src/3rdparty/chromium/third_party/blimp_fonts/LICENSE.OFL \
+	src/3rdparty/chromium/third_party/boringssl/src/LICENSE \
+	src/3rdparty/chromium/third_party/boringssl/src/third_party/android-cmake/LICENSE \
+	src/3rdparty/chromium/third_party/bouncycastle/LICENSE \
+	src/3rdparty/chromium/third_party/brotli/LICENSE \
+	src/3rdparty/chromium/third_party/bspatch/LICENSE \
+	src/3rdparty/chromium/third_party/cardboard-java/LICENSE \
+	src/3rdparty/chromium/third_party/catapult/third_party/py_vulcanize/third_party/rcssmin/bench/LICENSE.cssmin \
+	src/3rdparty/chromium/third_party/catapult/third_party/py_vulcanize/third_party/rcssmin/LICENSE \
+	src/3rdparty/chromium/third_party/catapult/third_party/py_vulcanize/third_party/rjsmin/LICENSE \
+	src/3rdparty/chromium/third_party/catapult/tracing/third_party/chai/LICENSE \
+	src/3rdparty/chromium/third_party/catapult/tracing/third_party/css-element-queries/LICENSE \
+	src/3rdparty/chromium/third_party/catapult/tracing/third_party/d3/LICENSE \
+	src/3rdparty/chromium/third_party/catapult/tracing/third_party/gl-matrix/LICENSE.md \
+	src/3rdparty/chromium/third_party/catapult/tracing/third_party/jszip/LICENSE.markdown \
+	src/3rdparty/chromium/third_party/catapult/tracing/third_party/mocha/LICENSE \
+	src/3rdparty/chromium/third_party/ced/LICENSE \
+	src/3rdparty/chromium/third_party/ced/src/LICENSE \
+	src/3rdparty/chromium/third_party/chaijs/LICENSE \
+	src/3rdparty/chromium/third_party/checkstyle/LICENSE \
+	src/3rdparty/chromium/third_party/checkstyle/LICENSE.apache20 \
+	src/3rdparty/chromium/third_party/class-dump/LICENSE \
+	src/3rdparty/chromium/third_party/closure_compiler/LICENSE \
+	src/3rdparty/chromium/third_party/closure_linter/LICENSE \
+	src/3rdparty/chromium/third_party/crashpad/crashpad/LICENSE \
+	src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/apple_cctools/cctools/APPLE_LICENSE \
+	src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/apple_cf/APPLE_LICENSE \
+	src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/getopt/LICENSE \
+	src/3rdparty/chromium/third_party/cros_system_api/LICENSE \
+	src/3rdparty/chromium/third_party/cros_system_api/MODULE_LICENSE_BSD \
+	src/3rdparty/chromium/third_party/custom_tabs_client/LICENSE \
+	src/3rdparty/chromium/third_party/d3/src/LICENSE \
+	src/3rdparty/chromium/third_party/decklink/LICENSE \
+	src/3rdparty/chromium/third_party/dom_distiller_js/LICENSE \
+	src/3rdparty/chromium/third_party/drmemory/LICENSE \
+	src/3rdparty/chromium/third_party/errorprone/LICENSE \
+	src/3rdparty/chromium/third_party/espresso/LICENSE \
+	src/3rdparty/chromium/third_party/ffmpeg/LICENSE.md \
+	src/3rdparty/chromium/third_party/flatbuffers/LICENSE \
+	src/3rdparty/chromium/third_party/flatbuffers/src/LICENSE.txt \
+	src/3rdparty/chromium/third_party/flot/LICENSE.txt \
+	src/3rdparty/chromium/third_party/fontconfig/LICENSE \
+	src/3rdparty/chromium/third_party/freetype2/src/docs/LICENSE.TXT \
+	src/3rdparty/chromium/third_party/freetype-android/src/docs/LICENSE.TXT \
+	src/3rdparty/chromium/third_party/gardiner_mod/LICENSE \
+	src/3rdparty/chromium/third_party/gif_player/LICENSE \
+	src/3rdparty/chromium/third_party/glslang/LICENSE \
+	src/3rdparty/chromium/third_party/grpc/LICENSE \
+	src/3rdparty/chromium/third_party/grpc/src/php/ext/grpc/LICENSE \
+	src/3rdparty/chromium/third_party/grpc/third_party/rake-compiler-dock/LICENSE.txt \
+	src/3rdparty/chromium/third_party/guava/LICENSE \
+	src/3rdparty/chromium/third_party/haha/LICENSE \
+	src/3rdparty/chromium/third_party/hamcrest/LICENSE \
+	src/3rdparty/chromium/third_party/hwcplus/LICENSE \
+	src/3rdparty/chromium/third_party/iaccessible2/LICENSE \
+	src/3rdparty/chromium/third_party/iccjpeg/LICENSE \
+	src/3rdparty/chromium/third_party/icu4j/LICENSE \
+	src/3rdparty/chromium/third_party/icu/LICENSE \
+	src/3rdparty/chromium/third_party/icu/scripts/LICENSE \
+	src/3rdparty/chromium/third_party/ijar/LICENSE \
+	src/3rdparty/chromium/third_party/isimpledom/LICENSE \
+	src/3rdparty/chromium/third_party/javax_inject/LICENSE \
+	src/3rdparty/chromium/third_party/jinja2/LICENSE \
+	src/3rdparty/chromium/third_party/jmake/LICENSE \
+	src/3rdparty/chromium/third_party/jsoncpp/LICENSE \
+	src/3rdparty/chromium/third_party/khronos/LICENSE \
+	src/3rdparty/chromium/third_party/leakcanary/LICENSE \
+	src/3rdparty/chromium/third_party/leveldatabase/src/LICENSE \
+	src/3rdparty/chromium/third_party/libaddressinput/LICENSE \
+	src/3rdparty/chromium/third_party/libaddressinput/src/cpp/LICENSE.chromium \
+	src/3rdparty/chromium/third_party/libaddressinput/src/LICENSE \
+	src/3rdparty/chromium/third_party/libFuzzer/LICENSE.TXT \
+	src/3rdparty/chromium/third_party/libjpeg/LICENSE \
+	src/3rdparty/chromium/third_party/libjpeg_turbo/LICENSE.md \
+	src/3rdparty/chromium/third_party/libpng/LICENSE \
+	src/3rdparty/chromium/third_party/libsecret/LICENSE \
+	src/3rdparty/chromium/third_party/libsrtp/srtp/LICENSE \
+	src/3rdparty/chromium/third_party/libsync/LICENSE \
+	src/3rdparty/chromium/third_party/libudev/LICENSE \
+	src/3rdparty/chromium/third_party/libvpx/source/libvpx/LICENSE \
+	src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/googletest/src/LICENSE \
+	src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/libwebm/LICENSE.TXT \
+	src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/x86inc/LICENSE \
+	src/3rdparty/chromium/third_party/libwebm/source/LICENSE.TXT \
+	src/3rdparty/chromium/third_party/libwebp/LICENSE \
+	src/3rdparty/chromium/third_party/libXNVCtrl/LICENSE \
+	src/3rdparty/chromium/third_party/libyuv/LICENSE \
+	src/3rdparty/chromium/third_party/libyuv/LICENSE_THIRD_PARTY \
+	src/3rdparty/chromium/third_party/libyuv/third_party/gflags/LICENSE \
+	src/3rdparty/chromium/third_party/lzma_sdk/LICENSE \
+	src/3rdparty/chromium/third_party/mach_override/LICENSE \
+	src/3rdparty/chromium/third_party/markupsafe/LICENSE \
+	src/3rdparty/chromium/third_party/mesa/LICENSE \
+	src/3rdparty/chromium/third_party/mesa/src/src/gallium/drivers/radeon/LICENSE.TXT \
+	src/3rdparty/chromium/third_party/minigbm/LICENSE \
+	src/3rdparty/chromium/third_party/mocha/LICENSE \
+	src/3rdparty/chromium/third_party/mockito/LICENSE \
+	src/3rdparty/chromium/third_party/modp_b64/LICENSE \
+	src/3rdparty/chromium/third_party/molokocacao/LICENSE \
+	src/3rdparty/chromium/third_party/motemplate/LICENSE \
+	src/3rdparty/chromium/third_party/mozilla/LICENSE \
+	src/3rdparty/chromium/third_party/mt19937ar/LICENSE \
+	src/3rdparty/chromium/third_party/netty4/LICENSE \
+	src/3rdparty/chromium/third_party/netty-tcnative/LICENSE \
+	src/3rdparty/chromium/third_party/openh264/src/LICENSE \
+	src/3rdparty/chromium/third_party/openmax_dl/LICENSE \
+	src/3rdparty/chromium/third_party/opus/src/LICENSE_PLEASE_READ.txt \
+	src/3rdparty/chromium/third_party/ots/LICENSE \
+	src/3rdparty/chromium/third_party/ow2_asm/LICENSE \
+	src/3rdparty/chromium/third_party/pdfium/LICENSE \
+	src/3rdparty/chromium/third_party/pdfium/third_party/bigint/LICENSE \
+	src/3rdparty/chromium/third_party/pdfium/third_party/pymock/LICENSE.txt \
+	src/3rdparty/chromium/third_party/pexpect/LICENSE \
+	src/3rdparty/chromium/third_party/ply/LICENSE \
+	src/3rdparty/chromium/third_party/polymer/v1_0/components-chromium/polymer/LICENSE.txt \
+	src/3rdparty/chromium/third_party/proguard/LICENSE \
+	src/3rdparty/chromium/third_party/protobuf/LICENSE \
+	src/3rdparty/chromium/third_party/pycoverage/LICENSE \
+	src/3rdparty/chromium/third_party/pyelftools/elftools/construct/LICENSE \
+	src/3rdparty/chromium/third_party/pyelftools/LICENSE \
+	src/3rdparty/chromium/third_party/pyftpdlib/src/LICENSE \
+	src/3rdparty/chromium/third_party/pymock/LICENSE.txt \
+	src/3rdparty/chromium/third_party/Python-Markdown/LICENSE.md \
+	src/3rdparty/chromium/third_party/py_trace_event/src/LICENSE \
+	src/3rdparty/chromium/third_party/pywebsocket/src/LICENSE \
+	src/3rdparty/chromium/third_party/qunit/LICENSE \
+	src/3rdparty/chromium/third_party/re2/LICENSE \
+	src/3rdparty/chromium/third_party/re2/src/LICENSE \
+	src/3rdparty/chromium/third_party/requests/LICENSE \
+	src/3rdparty/chromium/third_party/robolectric/LICENSE \
+	src/3rdparty/chromium/third_party/shaderc/LICENSE \
+	src/3rdparty/chromium/third_party/shaderc/src/LICENSE \
+	src/3rdparty/chromium/third_party/shaderc/src/third_party/LICENSE.glslang \
+	src/3rdparty/chromium/third_party/shaderc/src/third_party/LICENSE.spirv-tools \
+	src/3rdparty/chromium/third_party/simplejson/LICENSE.txt \
+	src/3rdparty/chromium/third_party/sinonjs/LICENSE \
+	src/3rdparty/chromium/third_party/skia/LICENSE \
+	src/3rdparty/chromium/third_party/skia/platform_tools/android/third_party/ashmem/LICENSE \
+	src/3rdparty/chromium/third_party/skia/third_party/etc1/LICENSE \
+	src/3rdparty/chromium/third_party/skia/third_party/libpng/LICENSE \
+	src/3rdparty/chromium/third_party/smhasher/LICENSE \
+	src/3rdparty/chromium/third_party/SPIRV-Tools/LICENSE \
+	src/3rdparty/chromium/third_party/SPIRV-Tools/src/LICENSE \
+	src/3rdparty/chromium/third_party/sqlite4java/LICENSE \
+	src/3rdparty/chromium/third_party/sqlite/LICENSE \
+	src/3rdparty/chromium/third_party/sudden_motion_sensor/LICENSE \
+	src/3rdparty/chromium/third_party/swiftshader/LICENSE \
+	src/3rdparty/chromium/third_party/tcmalloc/LICENSE \
+	src/3rdparty/chromium/third_party/tlslite/LICENSE \
+	src/3rdparty/chromium/third_party/typ/LICENSE \
+	src/3rdparty/chromium/third_party/ub-uiautomator/LICENSE \
+	src/3rdparty/chromium/third_party/usb_ids/LICENSE \
+	src/3rdparty/chromium/third_party/usrsctp/LICENSE \
+	src/3rdparty/chromium/third_party/usrsctp/usrsctplib/LICENSE.md \
+	src/3rdparty/chromium/third_party/v4l2capture/LICENSE \
+	src/3rdparty/chromium/third_party/vulkan/LICENSE \
+	src/3rdparty/chromium/third_party/wayland/LICENSE \
+	src/3rdparty/chromium/third_party/wayland-protocols/LICENSE \
+	src/3rdparty/chromium/third_party/wds/LICENSE \
+	src/3rdparty/chromium/third_party/web-animations-js/LICENSE \
+	src/3rdparty/chromium/third_party/webdriver/LICENSE \
+	src/3rdparty/chromium/third_party/WebKit/LICENSE \
+	src/3rdparty/chromium/third_party/WebKit/LICENSE_FOR_ABOUT_CREDITS \
+	src/3rdparty/chromium/third_party/WebKit/Source/core/LICENSE-APPLE \
+	src/3rdparty/chromium/third_party/WebKit/Source/core/LICENSE-LGPL-2 \
+	src/3rdparty/chromium/third_party/WebKit/Source/core/LICENSE-LGPL-2.1 \
+	src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/acorn/LICENSE \
+	src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/cm/LICENSE \
+	src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/cm/LICENSE_python \
+	src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/cm_modes/LICENSE \
+	src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/gonzales/MIT-LICENSE.txt \
+	src/3rdparty/chromium/third_party/WebKit/Source/wtf/dtoa/LICENSE \
+	src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/LICENSE \
+	src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/LICENSE \
+	src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/wptserve/LICENSE \
+	src/3rdparty/chromium/third_party/webpagereplay/third_party/dns/LICENSE \
+	src/3rdparty/chromium/third_party/webpagereplay/third_party/ipfw_win32/LICENSE \
+	src/3rdparty/chromium/third_party/webpagereplay/third_party/jsmin/LICENSE.txt \
+	src/3rdparty/chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE \
+	src/3rdparty/chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE.md \
+	src/3rdparty/chromium/third_party/webrtc/examples/objc/AppRTCDemo/third_party/SocketRocket/LICENSE \
+	src/3rdparty/chromium/third_party/webrtc/LICENSE \
+	src/3rdparty/chromium/third_party/webrtc/LICENSE_THIRD_PARTY \
+	src/3rdparty/chromium/third_party/woff2/LICENSE \
+	src/3rdparty/chromium/third_party/x86inc/LICENSE \
+	src/3rdparty/chromium/third_party/xdg-utils/LICENSE \
+	src/3rdparty/chromium/third_party/zlib/LICENSE \
+	src/3rdparty/chromium/tools/gyp/LICENSE \
+	src/3rdparty/chromium/tools/origin_trials/third_party/ed25519/LICENSE \
+	src/3rdparty/chromium/tools/page_cycler/acid3/LICENSE \
+	src/3rdparty/chromium/tools/win/ChromeDebug/ChromeDebug/LICENSE \
+	src/3rdparty/chromium/url/third_party/mozilla/LICENSE.txt \
+	src/3rdparty/chromium/v8/LICENSE \
+	src/3rdparty/chromium/v8/LICENSE.fdlibm \
+	src/3rdparty/chromium/v8/LICENSE.strongtalk \
+	src/3rdparty/chromium/v8/LICENSE.v8 \
+	src/3rdparty/chromium/v8/LICENSE.valgrind \
+	src/3rdparty/chromium/v8/src/third_party/fdlibm/LICENSE \
+	src/3rdparty/chromium/v8/src/third_party/valgrind/LICENSE \
+	src/3rdparty/chromium/v8/src/third_party/vtune/LICENSE \
+
diff --git a/package/qt5/qt5webengine/qt5webengine.hash b/package/qt5/qt5webengine/qt5webengine.hash
new file mode 100644
index 000000000..cad32cc54
--- /dev/null
+++ b/package/qt5/qt5webengine/qt5webengine.hash
@@ -0,0 +1,5 @@
+# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtwebengine-opensource-src-5.6.2.tar.xz.mirrorlist
+sha256 2f0a1648e1a8b22bad0134f2b37d69d185074393c398c1a3c6a83b910ff39740  qtwebengine-opensource-src-5.6.2.tar.xz
+
+# Hash from: http://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtwebengine-opensource-src-5.8.0.tar.xz.mirrorlist
+sha256 223d22f1660811e60677afe0a85f2f385823e25157689561489700c5d1da79be  qtwebengine-opensource-src-5.8.0.tar.xz
diff --git a/package/qt5/qt5webengine/qt5webengine.mk b/package/qt5/qt5webengine/qt5webengine.mk
new file mode 100644
index 000000000..e358cc4ea
--- /dev/null
+++ b/package/qt5/qt5webengine/qt5webengine.mk
@@ -0,0 +1,77 @@
+################################################################################
+#
+# qt5webengine
+#
+################################################################################
+
+QT5WEBENGINE_VERSION = $(QT5_VERSION)
+QT5WEBENGINE_SITE = $(QT5_SITE)
+QT5WEBENGINE_SOURCE = qtwebengine-opensource-src-$(QT5WEBENGINE_VERSION).tar.xz
+QT5WEBENGINE_DEPENDENCIES = qt5base qt5declarative qt5webchannel host-gperf \
+	host-python
+QT5WEBENGINE_INSTALL_STAGING = YES
+
+include package/qt5/qt5webengine/chromium.inc
+QT5WEBENGINE_LICENSE = GPL-2.0 or LGPL-3.0 or GPL-3.0 or GPL-3.0 with exception
+QT5WEBENGINE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT \
+	LICENSE.GPLv3 LICENSE.LGPL3 $(CHROMIUM_LICENSE_FILES)
+
+ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y)
+QT5WEBENGINE_DEPENDENCIES += xlib_libXScrnSaver xlib_libXcomposite \
+	xlib_libXcursor xlib_libXi xlib_libXrandr xlib_libXtst
+endif
+
+ifeq ($(BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS),y)
+QMAKEFLAGS += WEBENGINE_CONFIG+=use_proprietary_codecs
+endif
+
+# QtWebengine's build system uses python, but only supports python2. We work
+# around this by forcing python2 early in the PATH, via a python->python2
+# symlink.
+QT5WEBENGINE_ENV = PATH=$(@D)/host-bin:$(BR_PATH)
+define QT5WEBENGINE_PYTHON2_SYMLINK
+	mkdir -p $(@D)/host-bin
+	ln -sf $(HOST_DIR)/usr/bin/python2 $(@D)/host-bin/python
+endef
+QT5WEBENGINE_PRE_CONFIGURE_HOOKS += QT5WEBENGINE_PYTHON2_SYMLINK
+
+define QT5WEBENGINE_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBENGINE_ENV) $(HOST_DIR)/usr/bin/qmake $(QMAKEFLAGS))
+endef
+
+define QT5WEBENGINE_BUILD_CMDS
+	$(QT5WEBENGINE_ENV) $(MAKE) -C $(@D)
+endef
+
+define QT5WEBENGINE_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(QT5WEBENGINE_ENV) $(MAKE) -C $(@D) install
+	$(QT5_LA_PRL_FILES_FIXUP)
+endef
+
+define QT5WEBENGINE_INSTALL_TARGET_QMLS
+	cp -dpfr $(STAGING_DIR)/usr/qml/QtWebEngine $(TARGET_DIR)/usr/qml/
+endef
+
+ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
+define QT5WEBENGINE_INSTALL_TARGET_EXAMPLES
+	cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/webengine* $(TARGET_DIR)/usr/lib/qt/examples/
+endef
+endif
+
+ifneq ($(BR2_STATIC_LIBS),y)
+define QT5WEBENGINE_INSTALL_TARGET_LIBS
+	cp -dpf $(STAGING_DIR)/usr/lib/libQt5WebEngine*.so.* $(TARGET_DIR)/usr/lib
+	cp -dpf $(STAGING_DIR)/usr/libexec/QtWebEngineProcess $(TARGET_DIR)/usr/libexec/
+	cp -dpfr $(STAGING_DIR)/usr/resources/ $(TARGET_DIR)/usr/
+	mkdir -p $(TARGET_DIR)/usr/translations/qtwebengine_locales/
+	cp -dpfr $(STAGING_DIR)/usr/translations/qtwebengine_locales $(TARGET_DIR)/usr/translations/qtwebengine_locales/
+endef
+endif
+
+define QT5WEBENGINE_INSTALL_TARGET_CMDS
+	$(QT5WEBENGINE_INSTALL_TARGET_LIBS)
+	$(QT5WEBENGINE_INSTALL_TARGET_QMLS)
+	$(QT5WEBENGINE_INSTALL_TARGET_EXAMPLES)
+endef
+
+$(eval $(generic-package))
-- 
2.13.2

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v4 3/3] configs: new raspberrypi3 qt5 config
  2017-07-20  1:05 [Buildroot] [PATCH v4 0/3] Qt WebEngine support Gaël PORTAY
  2017-07-20  1:05 ` [Buildroot] [PATCH v4 1/3] rpi-userland: fix opengl library symlinks Gaël PORTAY
  2017-07-20  1:05 ` [Buildroot] [PATCH v4 2/3] qt5webengine: new package Gaël PORTAY
@ 2017-07-20  1:05 ` Gaël PORTAY
  2 siblings, 0 replies; 8+ messages in thread
From: Gaël PORTAY @ 2017-07-20  1:05 UTC (permalink / raw)
  To: buildroot

This config sets Qt WebEngine for raspberrypi 3.

Signed-off-by: Ga?l PORTAY <gael.portay@savoirfairelinux.com>
---
 configs/raspberrypi3_qt5_defconfig | 47 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)
 create mode 100644 configs/raspberrypi3_qt5_defconfig

diff --git a/configs/raspberrypi3_qt5_defconfig b/configs/raspberrypi3_qt5_defconfig
new file mode 100644
index 000000000..58ac36770
--- /dev/null
+++ b/configs/raspberrypi3_qt5_defconfig
@@ -0,0 +1,47 @@
+BR2_arm=y
+BR2_cortex_a7=y
+BR2_ARM_FPU_NEON_VFPV4=y
+
+BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
+
+BR2_SYSTEM_DHCP="eth0"
+
+# Linux headers same as kernel, a 4.9 series
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
+
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="5e4ee836560d4c0371e109bf469e1ad808ae7a44"
+BR2_LINUX_KERNEL_DEFCONFIG="bcm2709"
+
+# Build the DTB from the kernel sources
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2710-rpi-3-b bcm2710-rpi-cm3"
+
+# Build Qt5 WebEngine
+BR2_PACKAGE_LIBERATION=y
+BR2_PACKAGE_QT5=y
+BR2_PACKAGE_QT5BASE_EXAMPLES=y
+BR2_PACKAGE_QT5QUICKCONTROLS=y
+BR2_PACKAGE_QT5WEBENGINE=y
+BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS=y
+BR2_PACKAGE_RPI_FIRMWARE=y
+BR2_PACKAGE_RPI_USERLAND=y
+BR2_PACKAGE_CA_CERTIFICATES=y
+BR2_PACKAGE_NTP=y
+
+# Required tools to create the SD image
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
+
+# Filesystem / image
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_ROOTFS_EXT2_SIZE="300000"
+# BR2_TARGET_ROOTFS_TAR is not set
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi3/post-build.sh"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi3/post-image.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="--add-pi3-miniuart-bt-overlay"
-- 
2.13.2

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v4 2/3] qt5webengine: new package
  2017-07-20  1:05 ` [Buildroot] [PATCH v4 2/3] qt5webengine: new package Gaël PORTAY
@ 2017-07-21  9:45   ` Zoltan Gyarmati
  2017-07-21 15:51     ` Gaël PORTAY
  0 siblings, 1 reply; 8+ messages in thread
From: Zoltan Gyarmati @ 2017-07-21  9:45 UTC (permalink / raw)
  To: buildroot

Dear Ga?l,


see inline

On 07/20/2017 03:05 AM, Ga?l PORTAY wrote:
> This patch is based on works [1] and [2].
>
> [1]: http://lists.busybox.net/pipermail/buildroot/2015-July/132010.html
> [2]: https://patchwork.ozlabs.org/patch/640633/
>
> Cc: Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
> Cc: Julien Corjon <corjon.j@ecagroup.com>
> Signed-off-by: Ga?l PORTAY <gael.portay@savoirfairelinux.com>
> ---
>  package/qt5/Config.in                              |   1 +
>  .../qt5webengine/0001-change-default-ssl-dir.patch |  19 ++
>  package/qt5/qt5webengine/Config.in                 |  51 +++++
>  package/qt5/qt5webengine/chromium.inc              | 239 +++++++++++++++++++++
>  package/qt5/qt5webengine/qt5webengine.hash         |   5 +
>  package/qt5/qt5webengine/qt5webengine.mk           |  77 +++++++
>  6 files changed, 392 insertions(+)
>  create mode 100644 package/qt5/qt5webengine/0001-change-default-ssl-dir.patch
>  create mode 100644 package/qt5/qt5webengine/Config.in
>  create mode 100644 package/qt5/qt5webengine/chromium.inc
>  create mode 100644 package/qt5/qt5webengine/qt5webengine.hash
>  create mode 100644 package/qt5/qt5webengine/qt5webengine.mk
>
> diff --git a/package/qt5/Config.in b/package/qt5/Config.in
> index cca04a6d3..7fabca272 100644
> --- a/package/qt5/Config.in
> +++ b/package/qt5/Config.in
> @@ -79,6 +79,7 @@ source "package/qt5/qt5tools/Config.in"
>  source "package/qt5/qt5virtualkeyboard/Config.in"
>  source "package/qt5/qt5webchannel/Config.in"
>  source "package/qt5/qt5webkit/Config.in"
> +source "package/qt5/qt5webengine/Config.in"
>  source "package/qt5/qt5websockets/Config.in"
>  source "package/qt5/qt5x11extras/Config.in"
>  source "package/qt5/qt5xmlpatterns/Config.in"
> diff --git a/package/qt5/qt5webengine/0001-change-default-ssl-dir.patch b/package/qt5/qt5webengine/0001-change-default-ssl-dir.patch
> new file mode 100644
> index 000000000..d61d1e71f
> --- /dev/null
> +++ b/package/qt5/qt5webengine/0001-change-default-ssl-dir.patch
> @@ -0,0 +1,19 @@
> +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.
> +
> +Signed-off-by: Damien Riegel <damien.riegel@savoirfairelinux.com>
> +Signed-off-by: Ga?l PORTAY <gael.portay@savoirfairelinux.com>
> +
> +diff -Nura qt5webengine-5.8.0.orig/src/core/qtwebengine_extras.gypi qt5webengine-5.8.0/src/core/qtwebengine_extras.gypi
> +--- qt5webengine-5.8.0.orig/src/core/qtwebengine_extras.gypi	2017-01-03 05:35:11.000000000 -0500
> ++++ qt5webengine-5.8.0/src/core/qtwebengine_extras.gypi	2017-03-03 16:24:34.947416678 -0500
> +@@ -103,7 +103,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',
> diff --git a/package/qt5/qt5webengine/Config.in b/package/qt5/qt5webengine/Config.in
> new file mode 100644
> index 000000000..a4dc3ebed
> --- /dev/null
> +++ b/package/qt5/qt5webengine/Config.in
> @@ -0,0 +1,51 @@
> +comment "qt5webengine needs an Open(E)GL-capable backend"
> +	depends on BR2_PACKAGE_QT5
> +	depends on BR2_i386 || BR2_x86_64 || BR2_aarch64 || BR2_arm || BR2_aarch64 || BR2_mips || BR2_mips64
> +	depends on !BR2_PACKAGE_QT5_GL_AVAILABLE || !BR2_PACKAGE_HAS_LIBEGL
> +
> +comment "qt5webengine is not yet buildable with Qt 5.6"
> +	depends on BR2_PACKAGE_QT5
> +	depends on BR2_i386 || BR2_x86_64 || BR2_aarch64 || BR2_arm || BR2_aarch64 || BR2_mips || BR2_mips64
> +	depends on !BR2_PACKAGE_QT5_GL_AVAILABLE || !BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_QT5_VERSION_5_6
> +
> +config BR2_PACKAGE_QT5WEBENGINE
> +	bool "qt5webengine"
> +	depends on BR2_i386 || BR2_x86_64 || BR2_aarch64 || BR2_arm || BR2_aarch64 || BR2_mips || BR2_mips64
> +	depends on BR2_PACKAGE_QT5
> +	depends on BR2_PACKAGE_QT5_GL_AVAILABLE && BR2_PACKAGE_HAS_LIBEGL && !BR2_PACKAGE_QT5_VERSION_5_6
> +	select BR2_PACKAGE_LIBGLIB2
> +	select BR2_PACKAGE_QT5BASE
> +	select BR2_PACKAGE_QT5BASE_DBUS
> +	select BR2_PACKAGE_QT5BASE_FONTCONFIG
> +	select BR2_PACKAGE_QT5BASE_ICU
> +	select BR2_PACKAGE_QT5BASE_GUI
> +	select BR2_PACKAGE_QT5BASE_EGLFS
> +	select BR2_PACKAGE_QT5BASE_WIDGETS
> +	select BR2_PACKAGE_QT5DECLARATIVE
> +	select BR2_PACKAGE_QT5DECLARATIVE_QUICK
> +	select BR2_PACKAGE_QT5WEBCHANNEL
> +	select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_QT5BASE_XCB
> +	select BR2_PACKAGE_XLIB_LIBXCURSOR if BR2_PACKAGE_QT5BASE_XCB
> +	select BR2_PACKAGE_XLIB_LIBXI if BR2_PACKAGE_QT5BASE_XCB
> +	select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_QT5BASE_XCB
> +	select BR2_PACKAGE_XLIB_LIBXSCRNSAVER if BR2_PACKAGE_QT5BASE_XCB
> +	select BR2_PACKAGE_XLIB_LIBXTST if BR2_PACKAGE_QT5BASE_XCB
> +	help
> +	  The Qt WebEngine module provides a web browser engine that makes it
> +	  easy to embed content from the World Wide Web into your Qt application
> +	  on platforms that do not have a native web engine.
> +
> +	  Qt WebEngine provides C++ classes and QML types for rendering HTML,
> +	  XHTML, and SVG documents, styled using Cascading Style Sheets (CSS)
> +	  and scripted with JavaScript. HTML documents can be made fully
> +	  editable by the user through the use of the contenteditable attribute
> +	  on HTML elements.
> +
> +if BR2_PACKAGE_QT5WEBENGINE
> +config BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS
> +	bool "proprietary codecs"
> +	help
> +	  Qt WebEngine supports the MPEG-4 Part 14 (MP4) file format; which
> +	  includes required proprietary audio and video codecs, such as H.264
> +	  and MPEG layer-3 (MP3).
> +endif
> diff --git a/package/qt5/qt5webengine/chromium.inc b/package/qt5/qt5webengine/chromium.inc
> new file mode 100644
> index 000000000..5e1756817
> --- /dev/null
> +++ b/package/qt5/qt5webengine/chromium.inc
> @@ -0,0 +1,239 @@
> +CHROMIUM_LICENSE_FILES = \
> +	src/3rdparty/chromium/base/third_party/dmg_fp/LICENSE \
> +	src/3rdparty/chromium/base/third_party/dynamic_annotations/LICENSE \
> +	src/3rdparty/chromium/base/third_party/icu/LICENSE \
> +	src/3rdparty/chromium/base/third_party/libevent/LICENSE \
> +	src/3rdparty/chromium/base/third_party/nspr/LICENSE \
> +	src/3rdparty/chromium/base/third_party/superfasthash/LICENSE \
> +	src/3rdparty/chromium/base/third_party/symbolize/LICENSE \
> +	src/3rdparty/chromium/base/third_party/valgrind/LICENSE \
> +	src/3rdparty/chromium/base/third_party/xdg_mime/LICENSE \
> +	src/3rdparty/chromium/base/third_party/xdg_user_dirs/LICENSE \
> +	src/3rdparty/chromium/buildtools/LICENSE \
> +	src/3rdparty/chromium/buildtools/third_party/libc++abi/trunk/LICENSE.TXT \
> +	src/3rdparty/chromium/buildtools/third_party/libc++/trunk/LICENSE.TXT \
> +	src/3rdparty/chromium/chrome/third_party/chromevox/LICENSE \
> +	src/3rdparty/chromium/chrome/third_party/chromevox/third_party/closure-library/LICENSE \
> +	src/3rdparty/chromium/LICENSE \
> +	src/3rdparty/chromium/LICENSE.chromium_os \
> +	src/3rdparty/chromium/mojo/public/LICENSE \
> +	src/3rdparty/chromium/net/third_party/mozilla_security_manager/LICENSE \
> +	src/3rdparty/chromium/net/third_party/nss/LICENSE \
> +	src/3rdparty/chromium/ppapi/LICENSE \
> +	src/3rdparty/chromium/testing/gmock/LICENSE \
> +	src/3rdparty/chromium/testing/gmock/scripts/generator/LICENSE \
> +	src/3rdparty/chromium/testing/gtest/LICENSE \
> +	src/3rdparty/chromium/third_party/accessibility_test_framework/LICENSE \
> +	src/3rdparty/chromium/third_party/angle/LICENSE \
> +	src/3rdparty/chromium/third_party/angle/src/third_party/compiler/LICENSE \
> +	src/3rdparty/chromium/third_party/angle/src/third_party/libXNVCtrl/LICENSE \
> +	src/3rdparty/chromium/third_party/angle/src/third_party/murmurhash/LICENSE \
> +	src/3rdparty/chromium/third_party/apache-portable-runtime/LICENSE \
> +	src/3rdparty/chromium/third_party/apache_velocity/LICENSE \
> +	src/3rdparty/chromium/third_party/apple_apsl/LICENSE \
> +	src/3rdparty/chromium/third_party/appurify-python/LICENSE \
> +	src/3rdparty/chromium/third_party/bintrees/LICENSE.txt \
> +	src/3rdparty/chromium/third_party/blanketjs/LICENSE \
> +	src/3rdparty/chromium/third_party/blimp_fonts/LICENSE \
> +	src/3rdparty/chromium/third_party/blimp_fonts/LICENSE.Apache \
> +	src/3rdparty/chromium/third_party/blimp_fonts/LICENSE.OFL \
> +	src/3rdparty/chromium/third_party/boringssl/src/LICENSE \
> +	src/3rdparty/chromium/third_party/boringssl/src/third_party/android-cmake/LICENSE \
> +	src/3rdparty/chromium/third_party/bouncycastle/LICENSE \
> +	src/3rdparty/chromium/third_party/brotli/LICENSE \
> +	src/3rdparty/chromium/third_party/bspatch/LICENSE \
> +	src/3rdparty/chromium/third_party/cardboard-java/LICENSE \
> +	src/3rdparty/chromium/third_party/catapult/third_party/py_vulcanize/third_party/rcssmin/bench/LICENSE.cssmin \
> +	src/3rdparty/chromium/third_party/catapult/third_party/py_vulcanize/third_party/rcssmin/LICENSE \
> +	src/3rdparty/chromium/third_party/catapult/third_party/py_vulcanize/third_party/rjsmin/LICENSE \
> +	src/3rdparty/chromium/third_party/catapult/tracing/third_party/chai/LICENSE \
> +	src/3rdparty/chromium/third_party/catapult/tracing/third_party/css-element-queries/LICENSE \
> +	src/3rdparty/chromium/third_party/catapult/tracing/third_party/d3/LICENSE \
> +	src/3rdparty/chromium/third_party/catapult/tracing/third_party/gl-matrix/LICENSE.md \
> +	src/3rdparty/chromium/third_party/catapult/tracing/third_party/jszip/LICENSE.markdown \
> +	src/3rdparty/chromium/third_party/catapult/tracing/third_party/mocha/LICENSE \
> +	src/3rdparty/chromium/third_party/ced/LICENSE \
> +	src/3rdparty/chromium/third_party/ced/src/LICENSE \
> +	src/3rdparty/chromium/third_party/chaijs/LICENSE \
> +	src/3rdparty/chromium/third_party/checkstyle/LICENSE \
> +	src/3rdparty/chromium/third_party/checkstyle/LICENSE.apache20 \
> +	src/3rdparty/chromium/third_party/class-dump/LICENSE \
> +	src/3rdparty/chromium/third_party/closure_compiler/LICENSE \
> +	src/3rdparty/chromium/third_party/closure_linter/LICENSE \
> +	src/3rdparty/chromium/third_party/crashpad/crashpad/LICENSE \
> +	src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/apple_cctools/cctools/APPLE_LICENSE \
> +	src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/apple_cf/APPLE_LICENSE \
> +	src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/getopt/LICENSE \
> +	src/3rdparty/chromium/third_party/cros_system_api/LICENSE \
> +	src/3rdparty/chromium/third_party/cros_system_api/MODULE_LICENSE_BSD \
> +	src/3rdparty/chromium/third_party/custom_tabs_client/LICENSE \
> +	src/3rdparty/chromium/third_party/d3/src/LICENSE \
> +	src/3rdparty/chromium/third_party/decklink/LICENSE \
> +	src/3rdparty/chromium/third_party/dom_distiller_js/LICENSE \
> +	src/3rdparty/chromium/third_party/drmemory/LICENSE \
> +	src/3rdparty/chromium/third_party/errorprone/LICENSE \
> +	src/3rdparty/chromium/third_party/espresso/LICENSE \
> +	src/3rdparty/chromium/third_party/ffmpeg/LICENSE.md \
> +	src/3rdparty/chromium/third_party/flatbuffers/LICENSE \
> +	src/3rdparty/chromium/third_party/flatbuffers/src/LICENSE.txt \
> +	src/3rdparty/chromium/third_party/flot/LICENSE.txt \
> +	src/3rdparty/chromium/third_party/fontconfig/LICENSE \
> +	src/3rdparty/chromium/third_party/freetype2/src/docs/LICENSE.TXT \
> +	src/3rdparty/chromium/third_party/freetype-android/src/docs/LICENSE.TXT \
> +	src/3rdparty/chromium/third_party/gardiner_mod/LICENSE \
> +	src/3rdparty/chromium/third_party/gif_player/LICENSE \
> +	src/3rdparty/chromium/third_party/glslang/LICENSE \
> +	src/3rdparty/chromium/third_party/grpc/LICENSE \
> +	src/3rdparty/chromium/third_party/grpc/src/php/ext/grpc/LICENSE \
> +	src/3rdparty/chromium/third_party/grpc/third_party/rake-compiler-dock/LICENSE.txt \
> +	src/3rdparty/chromium/third_party/guava/LICENSE \
> +	src/3rdparty/chromium/third_party/haha/LICENSE \
> +	src/3rdparty/chromium/third_party/hamcrest/LICENSE \
> +	src/3rdparty/chromium/third_party/hwcplus/LICENSE \
> +	src/3rdparty/chromium/third_party/iaccessible2/LICENSE \
> +	src/3rdparty/chromium/third_party/iccjpeg/LICENSE \
> +	src/3rdparty/chromium/third_party/icu4j/LICENSE \
> +	src/3rdparty/chromium/third_party/icu/LICENSE \
> +	src/3rdparty/chromium/third_party/icu/scripts/LICENSE \
> +	src/3rdparty/chromium/third_party/ijar/LICENSE \
> +	src/3rdparty/chromium/third_party/isimpledom/LICENSE \
> +	src/3rdparty/chromium/third_party/javax_inject/LICENSE \
> +	src/3rdparty/chromium/third_party/jinja2/LICENSE \
> +	src/3rdparty/chromium/third_party/jmake/LICENSE \
> +	src/3rdparty/chromium/third_party/jsoncpp/LICENSE \
> +	src/3rdparty/chromium/third_party/khronos/LICENSE \
> +	src/3rdparty/chromium/third_party/leakcanary/LICENSE \
> +	src/3rdparty/chromium/third_party/leveldatabase/src/LICENSE \
> +	src/3rdparty/chromium/third_party/libaddressinput/LICENSE \
> +	src/3rdparty/chromium/third_party/libaddressinput/src/cpp/LICENSE.chromium \
> +	src/3rdparty/chromium/third_party/libaddressinput/src/LICENSE \
> +	src/3rdparty/chromium/third_party/libFuzzer/LICENSE.TXT \
> +	src/3rdparty/chromium/third_party/libjpeg/LICENSE \
> +	src/3rdparty/chromium/third_party/libjpeg_turbo/LICENSE.md \
> +	src/3rdparty/chromium/third_party/libpng/LICENSE \
> +	src/3rdparty/chromium/third_party/libsecret/LICENSE \
> +	src/3rdparty/chromium/third_party/libsrtp/srtp/LICENSE \
> +	src/3rdparty/chromium/third_party/libsync/LICENSE \
> +	src/3rdparty/chromium/third_party/libudev/LICENSE \
> +	src/3rdparty/chromium/third_party/libvpx/source/libvpx/LICENSE \
> +	src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/googletest/src/LICENSE \
> +	src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/libwebm/LICENSE.TXT \
> +	src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/x86inc/LICENSE \
> +	src/3rdparty/chromium/third_party/libwebm/source/LICENSE.TXT \
> +	src/3rdparty/chromium/third_party/libwebp/LICENSE \
> +	src/3rdparty/chromium/third_party/libXNVCtrl/LICENSE \
> +	src/3rdparty/chromium/third_party/libyuv/LICENSE \
> +	src/3rdparty/chromium/third_party/libyuv/LICENSE_THIRD_PARTY \
> +	src/3rdparty/chromium/third_party/libyuv/third_party/gflags/LICENSE \
> +	src/3rdparty/chromium/third_party/lzma_sdk/LICENSE \
> +	src/3rdparty/chromium/third_party/mach_override/LICENSE \
> +	src/3rdparty/chromium/third_party/markupsafe/LICENSE \
> +	src/3rdparty/chromium/third_party/mesa/LICENSE \
> +	src/3rdparty/chromium/third_party/mesa/src/src/gallium/drivers/radeon/LICENSE.TXT \
> +	src/3rdparty/chromium/third_party/minigbm/LICENSE \
> +	src/3rdparty/chromium/third_party/mocha/LICENSE \
> +	src/3rdparty/chromium/third_party/mockito/LICENSE \
> +	src/3rdparty/chromium/third_party/modp_b64/LICENSE \
> +	src/3rdparty/chromium/third_party/molokocacao/LICENSE \
> +	src/3rdparty/chromium/third_party/motemplate/LICENSE \
> +	src/3rdparty/chromium/third_party/mozilla/LICENSE \
> +	src/3rdparty/chromium/third_party/mt19937ar/LICENSE \
> +	src/3rdparty/chromium/third_party/netty4/LICENSE \
> +	src/3rdparty/chromium/third_party/netty-tcnative/LICENSE \
> +	src/3rdparty/chromium/third_party/openh264/src/LICENSE \
> +	src/3rdparty/chromium/third_party/openmax_dl/LICENSE \
> +	src/3rdparty/chromium/third_party/opus/src/LICENSE_PLEASE_READ.txt \
> +	src/3rdparty/chromium/third_party/ots/LICENSE \
> +	src/3rdparty/chromium/third_party/ow2_asm/LICENSE \
> +	src/3rdparty/chromium/third_party/pdfium/LICENSE \
> +	src/3rdparty/chromium/third_party/pdfium/third_party/bigint/LICENSE \
> +	src/3rdparty/chromium/third_party/pdfium/third_party/pymock/LICENSE.txt \
> +	src/3rdparty/chromium/third_party/pexpect/LICENSE \
> +	src/3rdparty/chromium/third_party/ply/LICENSE \
> +	src/3rdparty/chromium/third_party/polymer/v1_0/components-chromium/polymer/LICENSE.txt \
> +	src/3rdparty/chromium/third_party/proguard/LICENSE \
> +	src/3rdparty/chromium/third_party/protobuf/LICENSE \
> +	src/3rdparty/chromium/third_party/pycoverage/LICENSE \
> +	src/3rdparty/chromium/third_party/pyelftools/elftools/construct/LICENSE \
> +	src/3rdparty/chromium/third_party/pyelftools/LICENSE \
> +	src/3rdparty/chromium/third_party/pyftpdlib/src/LICENSE \
> +	src/3rdparty/chromium/third_party/pymock/LICENSE.txt \
> +	src/3rdparty/chromium/third_party/Python-Markdown/LICENSE.md \
> +	src/3rdparty/chromium/third_party/py_trace_event/src/LICENSE \
> +	src/3rdparty/chromium/third_party/pywebsocket/src/LICENSE \
> +	src/3rdparty/chromium/third_party/qunit/LICENSE \
> +	src/3rdparty/chromium/third_party/re2/LICENSE \
> +	src/3rdparty/chromium/third_party/re2/src/LICENSE \
> +	src/3rdparty/chromium/third_party/requests/LICENSE \
> +	src/3rdparty/chromium/third_party/robolectric/LICENSE \
> +	src/3rdparty/chromium/third_party/shaderc/LICENSE \
> +	src/3rdparty/chromium/third_party/shaderc/src/LICENSE \
> +	src/3rdparty/chromium/third_party/shaderc/src/third_party/LICENSE.glslang \
> +	src/3rdparty/chromium/third_party/shaderc/src/third_party/LICENSE.spirv-tools \
> +	src/3rdparty/chromium/third_party/simplejson/LICENSE.txt \
> +	src/3rdparty/chromium/third_party/sinonjs/LICENSE \
> +	src/3rdparty/chromium/third_party/skia/LICENSE \
> +	src/3rdparty/chromium/third_party/skia/platform_tools/android/third_party/ashmem/LICENSE \
> +	src/3rdparty/chromium/third_party/skia/third_party/etc1/LICENSE \
> +	src/3rdparty/chromium/third_party/skia/third_party/libpng/LICENSE \
> +	src/3rdparty/chromium/third_party/smhasher/LICENSE \
> +	src/3rdparty/chromium/third_party/SPIRV-Tools/LICENSE \
> +	src/3rdparty/chromium/third_party/SPIRV-Tools/src/LICENSE \
> +	src/3rdparty/chromium/third_party/sqlite4java/LICENSE \
> +	src/3rdparty/chromium/third_party/sqlite/LICENSE \
> +	src/3rdparty/chromium/third_party/sudden_motion_sensor/LICENSE \
> +	src/3rdparty/chromium/third_party/swiftshader/LICENSE \
> +	src/3rdparty/chromium/third_party/tcmalloc/LICENSE \
> +	src/3rdparty/chromium/third_party/tlslite/LICENSE \
> +	src/3rdparty/chromium/third_party/typ/LICENSE \
> +	src/3rdparty/chromium/third_party/ub-uiautomator/LICENSE \
> +	src/3rdparty/chromium/third_party/usb_ids/LICENSE \
> +	src/3rdparty/chromium/third_party/usrsctp/LICENSE \
> +	src/3rdparty/chromium/third_party/usrsctp/usrsctplib/LICENSE.md \
> +	src/3rdparty/chromium/third_party/v4l2capture/LICENSE \
> +	src/3rdparty/chromium/third_party/vulkan/LICENSE \
> +	src/3rdparty/chromium/third_party/wayland/LICENSE \
> +	src/3rdparty/chromium/third_party/wayland-protocols/LICENSE \
> +	src/3rdparty/chromium/third_party/wds/LICENSE \
> +	src/3rdparty/chromium/third_party/web-animations-js/LICENSE \
> +	src/3rdparty/chromium/third_party/webdriver/LICENSE \
> +	src/3rdparty/chromium/third_party/WebKit/LICENSE \
> +	src/3rdparty/chromium/third_party/WebKit/LICENSE_FOR_ABOUT_CREDITS \
> +	src/3rdparty/chromium/third_party/WebKit/Source/core/LICENSE-APPLE \
> +	src/3rdparty/chromium/third_party/WebKit/Source/core/LICENSE-LGPL-2 \
> +	src/3rdparty/chromium/third_party/WebKit/Source/core/LICENSE-LGPL-2.1 \
> +	src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/acorn/LICENSE \
> +	src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/cm/LICENSE \
> +	src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/cm/LICENSE_python \
> +	src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/cm_modes/LICENSE \
> +	src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/gonzales/MIT-LICENSE.txt \
> +	src/3rdparty/chromium/third_party/WebKit/Source/wtf/dtoa/LICENSE \
> +	src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/LICENSE \
> +	src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/LICENSE \
> +	src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/wptserve/LICENSE \
> +	src/3rdparty/chromium/third_party/webpagereplay/third_party/dns/LICENSE \
> +	src/3rdparty/chromium/third_party/webpagereplay/third_party/ipfw_win32/LICENSE \
> +	src/3rdparty/chromium/third_party/webpagereplay/third_party/jsmin/LICENSE.txt \
> +	src/3rdparty/chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE \
> +	src/3rdparty/chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE.md \
> +	src/3rdparty/chromium/third_party/webrtc/examples/objc/AppRTCDemo/third_party/SocketRocket/LICENSE \
> +	src/3rdparty/chromium/third_party/webrtc/LICENSE \
> +	src/3rdparty/chromium/third_party/webrtc/LICENSE_THIRD_PARTY \
> +	src/3rdparty/chromium/third_party/woff2/LICENSE \
> +	src/3rdparty/chromium/third_party/x86inc/LICENSE \
> +	src/3rdparty/chromium/third_party/xdg-utils/LICENSE \
> +	src/3rdparty/chromium/third_party/zlib/LICENSE \
> +	src/3rdparty/chromium/tools/gyp/LICENSE \
> +	src/3rdparty/chromium/tools/origin_trials/third_party/ed25519/LICENSE \
> +	src/3rdparty/chromium/tools/page_cycler/acid3/LICENSE \
> +	src/3rdparty/chromium/tools/win/ChromeDebug/ChromeDebug/LICENSE \
> +	src/3rdparty/chromium/url/third_party/mozilla/LICENSE.txt \
> +	src/3rdparty/chromium/v8/LICENSE \
> +	src/3rdparty/chromium/v8/LICENSE.fdlibm \
> +	src/3rdparty/chromium/v8/LICENSE.strongtalk \
> +	src/3rdparty/chromium/v8/LICENSE.v8 \
> +	src/3rdparty/chromium/v8/LICENSE.valgrind \
> +	src/3rdparty/chromium/v8/src/third_party/fdlibm/LICENSE \
> +	src/3rdparty/chromium/v8/src/third_party/valgrind/LICENSE \
> +	src/3rdparty/chromium/v8/src/third_party/vtune/LICENSE \
> +
> diff --git a/package/qt5/qt5webengine/qt5webengine.hash b/package/qt5/qt5webengine/qt5webengine.hash
> new file mode 100644
> index 000000000..cad32cc54
> --- /dev/null
> +++ b/package/qt5/qt5webengine/qt5webengine.hash
> @@ -0,0 +1,5 @@
> +# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtwebengine-opensource-src-5.6.2.tar.xz.mirrorlist
> +sha256 2f0a1648e1a8b22bad0134f2b37d69d185074393c398c1a3c6a83b910ff39740  qtwebengine-opensource-src-5.6.2.tar.xz
> +
> +# Hash from: http://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtwebengine-opensource-src-5.8.0.tar.xz.mirrorlist
> +sha256 223d22f1660811e60677afe0a85f2f385823e25157689561489700c5d1da79be  qtwebengine-opensource-src-5.8.0.tar.xz

No hash entry for qtwebengine-opensource-src-5.9.1.tar.xz

> diff --git a/package/qt5/qt5webengine/qt5webengine.mk b/package/qt5/qt5webengine/qt5webengine.mk
> new file mode 100644
> index 000000000..e358cc4ea
> --- /dev/null
> +++ b/package/qt5/qt5webengine/qt5webengine.mk
> @@ -0,0 +1,77 @@
> +################################################################################
> +#
> +# qt5webengine
> +#
> +################################################################################
> +
> +QT5WEBENGINE_VERSION = $(QT5_VERSION)
> +QT5WEBENGINE_SITE = $(QT5_SITE)
> +QT5WEBENGINE_SOURCE = qtwebengine-opensource-src-$(QT5WEBENGINE_VERSION).tar.xz
> +QT5WEBENGINE_DEPENDENCIES = qt5base qt5declarative qt5webchannel host-gperf \
> +	host-python
> +QT5WEBENGINE_INSTALL_STAGING = YES
> +
> +include package/qt5/qt5webengine/chromium.inc
> +QT5WEBENGINE_LICENSE = GPL-2.0 or LGPL-3.0 or GPL-3.0 or GPL-3.0 with exception
> +QT5WEBENGINE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT \
> +	LICENSE.GPLv3 LICENSE.LGPL3 $(CHROMIUM_LICENSE_FILES)
> +
> +ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y)
> +QT5WEBENGINE_DEPENDENCIES += xlib_libXScrnSaver xlib_libXcomposite \
> +	xlib_libXcursor xlib_libXi xlib_libXrandr xlib_libXtst
> +endif
> +
> +ifeq ($(BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS),y)
> +QMAKEFLAGS += WEBENGINE_CONFIG+=use_proprietary_codecs
> +endif
> +
> +# QtWebengine's build system uses python, but only supports python2. We work
> +# around this by forcing python2 early in the PATH, via a python->python2
> +# symlink.
> +QT5WEBENGINE_ENV = PATH=$(@D)/host-bin:$(BR_PATH)
> +define QT5WEBENGINE_PYTHON2_SYMLINK
> +	mkdir -p $(@D)/host-bin
> +	ln -sf $(HOST_DIR)/usr/bin/python2 $(@D)/host-bin/python
> +endef
> +QT5WEBENGINE_PRE_CONFIGURE_HOOKS += QT5WEBENGINE_PYTHON2_SYMLINK
> +
> +define QT5WEBENGINE_CONFIGURE_CMDS
> +	(cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBENGINE_ENV) $(HOST_DIR)/usr/bin/qmake $(QMAKEFLAGS))
> +endef
> +
> +define QT5WEBENGINE_BUILD_CMDS
> +	$(QT5WEBENGINE_ENV) $(MAKE) -C $(@D)
> +endef
> +
> +define QT5WEBENGINE_INSTALL_STAGING_CMDS
> +	$(TARGET_MAKE_ENV) $(QT5WEBENGINE_ENV) $(MAKE) -C $(@D) install
> +	$(QT5_LA_PRL_FILES_FIXUP)
> +endef
> +
> +define QT5WEBENGINE_INSTALL_TARGET_QMLS
> +	cp -dpfr $(STAGING_DIR)/usr/qml/QtWebEngine $(TARGET_DIR)/usr/qml/
> +endef
> +
> +ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
> +define QT5WEBENGINE_INSTALL_TARGET_EXAMPLES
> +	cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/webengine* $(TARGET_DIR)/usr/lib/qt/examples/
> +endef
> +endif
> +
> +ifneq ($(BR2_STATIC_LIBS),y)
> +define QT5WEBENGINE_INSTALL_TARGET_LIBS
> +	cp -dpf $(STAGING_DIR)/usr/lib/libQt5WebEngine*.so.* $(TARGET_DIR)/usr/lib
> +	cp -dpf $(STAGING_DIR)/usr/libexec/QtWebEngineProcess $(TARGET_DIR)/usr/libexec/
> +	cp -dpfr $(STAGING_DIR)/usr/resources/ $(TARGET_DIR)/usr/
> +	mkdir -p $(TARGET_DIR)/usr/translations/qtwebengine_locales/
> +	cp -dpfr $(STAGING_DIR)/usr/translations/qtwebengine_locales $(TARGET_DIR)/usr/translations/qtwebengine_locales/
> +endef
> +endif
> +
> +define QT5WEBENGINE_INSTALL_TARGET_CMDS
> +	$(QT5WEBENGINE_INSTALL_TARGET_LIBS)
> +	$(QT5WEBENGINE_INSTALL_TARGET_QMLS)
> +	$(QT5WEBENGINE_INSTALL_TARGET_EXAMPLES)
> +endef
> +
> +$(eval $(generic-package))
>

Zoltan Gyarmati
https://zgyarmati.de


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20170721/dfa6728b/attachment.asc>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v4 2/3] qt5webengine: new package
  2017-07-21  9:45   ` Zoltan Gyarmati
@ 2017-07-21 15:51     ` Gaël PORTAY
  2017-07-21 18:29       ` Zoltan Gyarmati
  0 siblings, 1 reply; 8+ messages in thread
From: Gaël PORTAY @ 2017-07-21 15:51 UTC (permalink / raw)
  To: buildroot

Hi Zoltan,

On Fri, Jul 21, 2017 at 11:45:26AM +0200, Zoltan Gyarmati wrote:
> Dear Ga?l,
> (...)
>
> > diff --git a/package/qt5/qt5webengine/qt5webengine.hash b/package/qt5/qt5webengine/qt5webengine.hash
> > new file mode 100644
> > index 000000000..cad32cc54
> > --- /dev/null
> > +++ b/package/qt5/qt5webengine/qt5webengine.hash
> > @@ -0,0 +1,5 @@
> > +# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtwebengine-opensource-src-5.6.2.tar.xz.mirrorlist
> > +sha256 2f0a1648e1a8b22bad0134f2b37d69d185074393c398c1a3c6a83b910ff39740  qtwebengine-opensource-src-5.6.2.tar.xz
> > +
> > +# Hash from: http://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtwebengine-opensource-src-5.8.0.tar.xz.mirrorlist
> > +sha256 223d22f1660811e60677afe0a85f2f385823e25157689561489700c5d1da79be  qtwebengine-opensource-src-5.8.0.tar.xz
> 
> No hash entry for qtwebengine-opensource-src-5.9.1.tar.xz

That is because you applied my patch after the bump to 5.9.1.

	854b93370 package/qt5: bump latest version to 5.9.1

I am working on bumping Qt WebEngine to 5.9.1; but I met the following error
when I build it for a rpi3.

It concerns the opus codec which is build by chromium through Qt WebEngine.

	In file included from ../../3rdparty/chromium/third_party/opus/src/silk/arm/NSQ_neon.c:31:0:
	/home/gportay/src/buildroot/output-rpi-5.9-7/host/lib/gcc/arm-buildroot-linux-gnueabihf/7.1.0/include/arm_neon.h:10369:1: error: inlining failed in call to always_inline ?vld1q_s32?: target specific option mismatch
	 vld1q_s32 (const int32_t * __a)
	 ^~~~~~~~~
	../../3rdparty/chromium/third_party/opus/src/silk/arm/NSQ_neon.c:40:15: note: called from here
	     int32x4_t coef0 = vld1q_s32(coef32);
		       ^~~~~
	../../3rdparty/chromium/third_party/opus/src/silk/arm/NSQ_neon.c: At top level:
	cc1: warning: unrecognized command line option ?-Wno-#pragma-messages?
	[11/12339] CC obj/third_party/ffmpeg/ffmpeg_internal/autorename_libavcodec_flacdec.o
	ninja: build stopped: subcommand failed.

Now, I am enabling the WEBENGINE_CONFIG+=use_system_ffmpeg by default; building
the buildroot copy of opus, and it seems to compile.

> 
> Zoltan Gyarmati
> https://zgyarmati.de
> 

Regards,
Ga?l

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v4 2/3] qt5webengine: new package
  2017-07-21 15:51     ` Gaël PORTAY
@ 2017-07-21 18:29       ` Zoltan Gyarmati
  2017-07-24 12:43         ` Gaël PORTAY
  0 siblings, 1 reply; 8+ messages in thread
From: Zoltan Gyarmati @ 2017-07-21 18:29 UTC (permalink / raw)
  To: buildroot

Dear Ga?l,

On 07/21/2017 05:51 PM, Ga?l PORTAY wrote:
>
> No hash entry for qtwebengine-opensource-src-5.9.1.tar.xz
> That is because you applied my patch after the bump to 5.9.1.
>
> 	854b93370 package/qt5: bump latest version to 5.9.1

Oh, i see, sorry for the noise, i blindly assumed it's against the
current master.

>
> I am working on bumping Qt WebEngine to 5.9.1; but I met the following error
> when I build it for a rpi3.
>
> It concerns the opus codec which is build by chromium through Qt WebEngine.
>
> 	In file included from ../../3rdparty/chromium/third_party/opus/src/silk/arm/NSQ_neon.c:31:0:
> 	/home/gportay/src/buildroot/output-rpi-5.9-7/host/lib/gcc/arm-buildroot-linux-gnueabihf/7.1.0/include/arm_neon.h:10369:1: error: inlining failed in call to always_inline ?vld1q_s32?: target specific option mismatch
> 	 vld1q_s32 (const int32_t * __a)
> 	 ^~~~~~~~~
> 	../../3rdparty/chromium/third_party/opus/src/silk/arm/NSQ_neon.c:40:15: note: called from here
> 	     int32x4_t coef0 = vld1q_s32(coef32);
> 		       ^~~~~
> 	../../3rdparty/chromium/third_party/opus/src/silk/arm/NSQ_neon.c: At top level:
> 	cc1: warning: unrecognized command line option ?-Wno-#pragma-messages?
> 	[11/12339] CC obj/third_party/ffmpeg/ffmpeg_internal/autorename_libavcodec_flacdec.o
> 	ninja: build stopped: subcommand failed.
>
> Now, I am enabling the WEBENGINE_CONFIG+=use_system_ffmpeg by default; building
> the buildroot copy of opus, and it seems to compile.
Please feel free to send your patch with this config, i'll build and
test it as well. (although i only have a RaspberryPi3 to test this atm,
i'll check what other relevant HW i have around...)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20170721/0197075d/attachment.asc>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v4 2/3] qt5webengine: new package
  2017-07-21 18:29       ` Zoltan Gyarmati
@ 2017-07-24 12:43         ` Gaël PORTAY
  0 siblings, 0 replies; 8+ messages in thread
From: Gaël PORTAY @ 2017-07-24 12:43 UTC (permalink / raw)
  To: buildroot

Hi Zoltan,

On Fri, Jul 21, 2017 at 08:29:23PM +0200, Zoltan Gyarmati wrote:
> Dear Ga?l,
> 
> On 07/21/2017 05:51 PM, Ga?l PORTAY wrote:
> >
> > No hash entry for qtwebengine-opensource-src-5.9.1.tar.xz
> > That is because you applied my patch after the bump to 5.9.1.
> >
> > 	854b93370 package/qt5: bump latest version to 5.9.1
> 
> Oh, i see, sorry for the noise, i blindly assumed it's against the
> current master.
> 

No worries ;)

My bad if I was too rude.

> (...)
> > 
> > Now, I am enabling the WEBENGINE_CONFIG+=use_system_ffmpeg by default; building
> > the buildroot copy of opus, and it seems to compile.
> Please feel free to send your patch with this config, i'll build and
> test it as well. (although i only have a RaspberryPi3 to test this atm,
> i'll check what other relevant HW i have around...)
> 
> 

I started a new build, and if it works, I will resend a v5 quite soon.

I had to bring a backport a patch from Qt; and to compile udev to run the
webengine samples on my rpi3.

I am glad if you can also test it, and if you have extra hardware; because I can
test only on a rpi 3.

Regards,
Gael

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-07-24 12:43 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-20  1:05 [Buildroot] [PATCH v4 0/3] Qt WebEngine support Gaël PORTAY
2017-07-20  1:05 ` [Buildroot] [PATCH v4 1/3] rpi-userland: fix opengl library symlinks Gaël PORTAY
2017-07-20  1:05 ` [Buildroot] [PATCH v4 2/3] qt5webengine: new package Gaël PORTAY
2017-07-21  9:45   ` Zoltan Gyarmati
2017-07-21 15:51     ` Gaël PORTAY
2017-07-21 18:29       ` Zoltan Gyarmati
2017-07-24 12:43         ` Gaël PORTAY
2017-07-20  1:05 ` [Buildroot] [PATCH v4 3/3] configs: new raspberrypi3 qt5 config Gaël PORTAY

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.