diff mbox

[v5,2/3] qt5webengine: new package

Message ID 20170724134429.22816-3-gael.portay@savoirfairelinux.com
State Changes Requested
Headers show

Commit Message

Gaël PORTAY July 24, 2017, 1:44 p.m. UTC
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 +
 package/qt5/qt5webengine/Config.in         |  64 ++++++++
 package/qt5/qt5webengine/chromium.inc      | 239 +++++++++++++++++++++++++++++
 package/qt5/qt5webengine/qt5webengine.hash |   5 +
 package/qt5/qt5webengine/qt5webengine.mk   |  82 ++++++++++
 5 files changed, 391 insertions(+)
 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

Comments

Zoltan Gyarmati July 29, 2017, 2:13 p.m. UTC | #1
Dear Gaël & All,


with the shipped raspberrypi3_qt5_defconfig (where also the qt5 examples
are enabled), the building of the 'demobrowser' example is failing:

.obj/browsermainwindow.o: In function `BrowserMainWindow::printRequested(QWebEnginePage*)':
browsermainwindow.cpp:(.text+0x29d8): undefined reference to `QWebEnginePage::print(QPrinter*, QWebEngineCallback<bool> const&)'

probably due to the fact that in the qtwebengine config the PDF/print
support is not enabled:

Qt WebEngine:

  Embedded build ......................... yes

  Pepper Plugins ......................... no

  Printing and PDF ....................... no

  Proprietary Codecs ..................... no

  Spellchecker ........................... yes


There is a webengine config option 'WEBENGINE_CONFIG += use_printing
use_pdf' ,
maybe it has to be set explicitly in  qt5webengine.mk when
BR2_PACKAGE_QT5BASE_PRINTSUPPORT is set?

Regards,

Zoltan Gyarmati
https://zgyarmati.de

On 07/24/2017 03:44 PM, 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 +
>  package/qt5/qt5webengine/Config.in         |  64 ++++++++
>  package/qt5/qt5webengine/chromium.inc      | 239 +++++++++++++++++++++++++++++
>  package/qt5/qt5webengine/qt5webengine.hash |   5 +
>  package/qt5/qt5webengine/qt5webengine.mk   |  82 ++++++++++
>  5 files changed, 391 insertions(+)
>  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 abaa58499..f2a1f378c 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/Config.in b/package/qt5/qt5webengine/Config.in
> new file mode 100644
> index 000000000..8b52bbdfa
> --- /dev/null
> +++ b/package/qt5/qt5webengine/Config.in
> @@ -0,0 +1,64 @@
> +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).
> +
> +config BR2_PACKAGE_QT5WEBENGINE_SYSTEM_FFMPEG
> +	bool "use system ffmpeg"
> +	select BR2_PACKAGE_FFMPEG
> +	select BR2_PACKAGE_OPUS
> +	select BR2_PACKAGE_LIBVPX
> +	select BR2_PACKAGE_WEBP
> +	select BR2_PACKAGE_WEBP_DEMUX
> +	default y
> +	help
> +	  If this option is enabled, it uses buildroot's copy.
> +
> +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..a7f10b1ce
> --- /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.9/5.9.1/submodules/qtwebengine-opensource-src-5.9.1.tar.xz.mirrorlist
> +sha256 f6a37eeb9188474a16d29ede498fce959396ab80329a0a83eaeb925251686401  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..49abc11b3
> --- /dev/null
> +++ b/package/qt5/qt5webengine/qt5webengine.mk
> @@ -0,0 +1,82 @@
> +################################################################################
> +#
> +# 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
> +
> +ifeq ($(BR2_PACKAGE_QT5WEBENGINE_SYSTEM_FFMPEG),y)
> +QMAKEFLAGS += WEBENGINE_CONFIG+=use_system_ffmpeg
> +QT5WEBENGINE_DEPENDENCIES += ffmpeg
> +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))
Gaël PORTAY Aug. 2, 2017, 1:49 p.m. UTC | #2
Hi Zoltan,

On Sat, Jul 29, 2017 at 04:13:27PM +0200, Zoltan Gyarmati wrote:
> Dear Gaël & All,
> 
> 
> with the shipped raspberrypi3_qt5_defconfig (where also the qt5 examples
> are enabled), the building of the 'demobrowser' example is failing:
> 
> .obj/browsermainwindow.o: In function `BrowserMainWindow::printRequested(QWebEnginePage*)':
> browsermainwindow.cpp:(.text+0x29d8): undefined reference to `QWebEnginePage::print(QPrinter*, QWebEngineCallback<bool> const&)'
> 
> probably due to the fact that in the qtwebengine config the PDF/print
> support is not enabled:
> 
> Qt WebEngine:
> 
>   Embedded build ......................... yes
> 
>   Pepper Plugins ......................... no
> 
>   Printing and PDF ....................... no
> 
>   Proprietary Codecs ..................... no
> 
>   Spellchecker ........................... yes
> 
> 
> There is a webengine config option 'WEBENGINE_CONFIG += use_printing
> use_pdf' ,
> maybe it has to be set explicitly in  qt5webengine.mk when
> BR2_PACKAGE_QT5BASE_PRINTSUPPORT is set?
> 

My bad.

I forgot to git add the following patch to package/qt5/qt5webengine/5.9.1.

	085c2c52 Always compile QWebEnginePage::print

I will resend a v6. In the meanwhile, you can download the patch[1] and test it.

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

Regards,
Gael

[1]: https://github.com/qt/qtwebengine/commit/085c2c529473bbe9dd7c8c5698a45053520cc423.patch
Arnout Vandecappelle Aug. 2, 2017, 10:28 p.m. UTC | #3
Hi Gael,

 Hopefully these comments reach you before you send v6...


On 24-07-17 15:44, 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 +
>  package/qt5/qt5webengine/Config.in         |  64 ++++++++
>  package/qt5/qt5webengine/chromium.inc      | 239 +++++++++++++++++++++++++++++
>  package/qt5/qt5webengine/qt5webengine.hash |   5 +
>  package/qt5/qt5webengine/qt5webengine.mk   |  82 ++++++++++

 Please add yourself to the DEVELOPERS file. Julien, Akihiko, would you also
like to be added?

> +comment "qt5webengine needs an Open(E)GL-capable backend"
> +	depends on BR2_PACKAGE_QT5

 Put the arch dependency first, then the package dependency. Like you did for
the main symbol. However, this entire file is already included under 'if
BR2_PACKAGE_QT5' in package/qt5/Config.in.

> +	depends on BR2_i386 || BR2_x86_64 || BR2_aarch64 || BR2_arm || BR2_aarch64 || BR2_mips || BR2_mips64

 Please remove duplicate aarch64.

 Please keep alphabetical - then you'd have noticed the duplicate. Keeping i386
and x86_64 together is OK though.

 Please wrap the long line.

 Perhaps it's also better to introduce an ARCH_SUPPORTS:

config BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS
	depends on BR2_aarch64 || BR2_arm || \
		BR2_i386 || BR2_x86_64 || \
		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
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                   should be removed

> +
> +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

 Don't use && but use separate lines.

> +	select BR2_PACKAGE_LIBGLIB2

 libglib2 depends no !MMU, qt5 doesn't.

> +	select BR2_PACKAGE_QT5BASE
> +	select BR2_PACKAGE_QT5BASE_DBUS
> +	select BR2_PACKAGE_QT5BASE_FONTCONFIG
> +	select BR2_PACKAGE_QT5BASE_ICU

 This one also has extra dependencies. Please check the dependencies for all
packages you select.

> +	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.

 Lines are too long. Please use check-package.

 I'm not sure if the "on platforms that do not have a native web engine" makes
sense for Buildroot. This is to say "you don't need this on Android or iOS", but
that's really not relevant for Buildroot.

> +
> +	  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.

 Please add an upstream URL - the main documentation page for qt5webengine.

> +
> +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).
> +
> +config BR2_PACKAGE_QT5WEBENGINE_SYSTEM_FFMPEG
> +	bool "use system ffmpeg"
> +	select BR2_PACKAGE_FFMPEG
> +	select BR2_PACKAGE_OPUS
> +	select BR2_PACKAGE_LIBVPX
> +	select BR2_PACKAGE_WEBP
> +	select BR2_PACKAGE_WEBP_DEMUX
> +	default y
> +	help
> +	  If this option is enabled, it uses buildroot's copy.

 Why would we ever want to use the bundled ffmpeg?

 We may want to disable multimedia entirely maybe, but we never want to use
bundled cruft. Or if it is necessary because it's patched or an old version,
then we don't want to use Buildroot's version.

> +
> +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

 IIRC this is a separate file because then it can be generated. Either the
commit message or a comment in the .mk file should specify:
- why this is a separate file;
- how it is generated (i.e. the shell scriptlet that does it).

[snip]
> diff --git a/package/qt5/qt5webengine/qt5webengine.hash b/package/qt5/qt5webengine/qt5webengine.hash
> new file mode 100644
> index 000000000..a7f10b1ce
> --- /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

 If 5.6.2 is not supported, why is this here?

> +
> +# Hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtwebengine-opensource-src-5.9.1.tar.xz.mirrorlist
> +sha256 f6a37eeb9188474a16d29ede498fce959396ab80329a0a83eaeb925251686401  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..49abc11b3
> --- /dev/null
> +++ b/package/qt5/qt5webengine/qt5webengine.mk
> @@ -0,0 +1,82 @@
> +################################################################################
> +#
> +# 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

 Can we have a QT5WEBENGINE_CONFIG that we append to, and then a global

QMAKEFLAGS += WEBENGINE_CONFIG+="$(QT5WEBENGINE_CONFIG)"

? Or doesn't that work? Or does it look ugly?

> +endif
> +
> +ifeq ($(BR2_PACKAGE_QT5WEBENGINE_SYSTEM_FFMPEG),y)
> +QMAKEFLAGS += WEBENGINE_CONFIG+=use_system_ffmpeg
> +QT5WEBENGINE_DEPENDENCIES += ffmpeg
> +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)

 TARGET_MAKE_ENV should be here as well.

 Regards,
 Arnout

> +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))
>
diff mbox

Patch

diff --git a/package/qt5/Config.in b/package/qt5/Config.in
index abaa58499..f2a1f378c 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/Config.in b/package/qt5/qt5webengine/Config.in
new file mode 100644
index 000000000..8b52bbdfa
--- /dev/null
+++ b/package/qt5/qt5webengine/Config.in
@@ -0,0 +1,64 @@ 
+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).
+
+config BR2_PACKAGE_QT5WEBENGINE_SYSTEM_FFMPEG
+	bool "use system ffmpeg"
+	select BR2_PACKAGE_FFMPEG
+	select BR2_PACKAGE_OPUS
+	select BR2_PACKAGE_LIBVPX
+	select BR2_PACKAGE_WEBP
+	select BR2_PACKAGE_WEBP_DEMUX
+	default y
+	help
+	  If this option is enabled, it uses buildroot's copy.
+
+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..a7f10b1ce
--- /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.9/5.9.1/submodules/qtwebengine-opensource-src-5.9.1.tar.xz.mirrorlist
+sha256 f6a37eeb9188474a16d29ede498fce959396ab80329a0a83eaeb925251686401  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..49abc11b3
--- /dev/null
+++ b/package/qt5/qt5webengine/qt5webengine.mk
@@ -0,0 +1,82 @@ 
+################################################################################
+#
+# 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
+
+ifeq ($(BR2_PACKAGE_QT5WEBENGINE_SYSTEM_FFMPEG),y)
+QMAKEFLAGS += WEBENGINE_CONFIG+=use_system_ffmpeg
+QT5WEBENGINE_DEPENDENCIES += ffmpeg
+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))