* [Buildroot] [RFC 0/3] Qt WebEngine support
@ 2017-03-22 18:13 Gaël PORTAY
2017-03-22 18:13 ` [Buildroot] [RFC 1/3] qt5webengine: new package Gaël PORTAY
` (3 more replies)
0 siblings, 4 replies; 22+ messages in thread
From: Gaël PORTAY @ 2017-03-22 18:13 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 provides the Qt WebEngine package.
The second 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
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_LICENSE_APPROVED (to not prompt for license agreement;
webengine takes many hours to be compiled (and maybe more!))
- 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: I do not know yet how to add an input backend (mouse, keyboard). For now,
quicknanobrowser will just display the qt website.
[1] https://patchwork.ozlabs.org/patch/640633/
[2] http://lists.busybox.net/pipermail/buildroot/2015-July/132010.html
Ga?l PORTAY (3):
qt5webengine: new package
rpi-userland: fix opengl library symlinks
configs: new raspberrypi3 qt5 config
configs/raspberrypi3_qt5_defconfig | 49 +++++
package/qt5/Config.in | 1 +
.../qt5/qt5webengine/0001-prefer-arm_tune.patch | 19 ++
.../qt5webengine/0002-change-default-ssl-dir.patch | 18 ++
package/qt5/qt5webengine/Config.in | 44 ++++
package/qt5/qt5webengine/chromium.inc | 238 +++++++++++++++++++++
package/qt5/qt5webengine/qt5webengine.hash | 5 +
package/qt5/qt5webengine/qt5webengine.mk | 82 +++++++
.../0001-Add-OpenGL-library-versioning.patch | 36 ++++
9 files changed, 492 insertions(+)
create mode 100644 configs/raspberrypi3_qt5_defconfig
create mode 100644 package/qt5/qt5webengine/0001-prefer-arm_tune.patch
create mode 100644 package/qt5/qt5webengine/0002-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/0001-Add-OpenGL-library-versioning.patch
--
2.12.0
^ permalink raw reply [flat|nested] 22+ messages in thread* [Buildroot] [RFC 1/3] qt5webengine: new package 2017-03-22 18:13 [Buildroot] [RFC 0/3] Qt WebEngine support Gaël PORTAY @ 2017-03-22 18:13 ` Gaël PORTAY 2017-04-18 16:04 ` Gaël PORTAY 2017-03-22 18:13 ` [Buildroot] [RFC 2/3] rpi-userland: fix opengl library symlinks Gaël PORTAY ` (2 subsequent siblings) 3 siblings, 1 reply; 22+ messages in thread From: Gaël PORTAY @ 2017-03-22 18:13 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/ Signed-off-by: Ga?l PORTAY <gael.portay@savoirfairelinux.com> --- package/qt5/Config.in | 1 + .../qt5/qt5webengine/0001-prefer-arm_tune.patch | 19 ++ .../qt5webengine/0002-change-default-ssl-dir.patch | 18 ++ package/qt5/qt5webengine/Config.in | 44 ++++ package/qt5/qt5webengine/chromium.inc | 238 +++++++++++++++++++++ package/qt5/qt5webengine/qt5webengine.hash | 5 + package/qt5/qt5webengine/qt5webengine.mk | 82 +++++++ 7 files changed, 407 insertions(+) create mode 100644 package/qt5/qt5webengine/0001-prefer-arm_tune.patch create mode 100644 package/qt5/qt5webengine/0002-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 4bcbc6ef5..a45c9e027 100644 --- a/package/qt5/Config.in +++ b/package/qt5/Config.in @@ -78,6 +78,7 @@ source "package/qt5/qt5svg/Config.in" source "package/qt5/qt5tools/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-prefer-arm_tune.patch b/package/qt5/qt5webengine/0001-prefer-arm_tune.patch new file mode 100644 index 000000000..a4662d0c3 --- /dev/null +++ b/package/qt5/qt5webengine/0001-prefer-arm_tune.patch @@ -0,0 +1,19 @@ +Prefer arm_tune to arm_arch + +If user specifies arm_tune, ignore default arm_arch. + +Signed-off-by: Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp> +--- +Index: qt5webengine-5.6.1/src/3rdparty/chromium/build/common.gypi +=================================================================== +--- qt5webengine-5.6.1.orig/src/3rdparty/chromium/build/common.gypi ++++ qt5webengine-5.6.1/src/3rdparty/chromium/build/common.gypi +@@ -3977,7 +3977,7 @@ + '-target arm-linux-gnueabihf', + ], + }], +- ['arm_arch!=""', { ++ ['arm_arch!="" and arm_tune==""', { + 'cflags': [ + '-march=<(arm_arch)', + ], diff --git a/package/qt5/qt5webengine/0002-change-default-ssl-dir.patch b/package/qt5/qt5webengine/0002-change-default-ssl-dir.patch new file mode 100644 index 000000000..35cc1902a --- /dev/null +++ b/package/qt5/qt5webengine/0002-change-default-ssl-dir.patch @@ -0,0 +1,18 @@ +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> + +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..1cd650293 --- /dev/null +++ b/package/qt5/qt5webengine/Config.in @@ -0,0 +1,44 @@ +comment "qt5webengine needs an Open(E)GL-capable backend" + depends on BR2_PACKAGE_QT5 + depends on !BR2_PACKAGE_QT5_GL_AVAILABLE || !BR2_PACKAGE_HAS_LIBEGL + +config BR2_PACKAGE_QT5WEBENGINE + bool "qt5webengine" + depends on BR2_PACKAGE_QT5 + depends on BR2_PACKAGE_QT5_GL_AVAILABLE && BR2_PACKAGE_HAS_LIBEGL + 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..14befcbf2 --- /dev/null +++ b/package/qt5/qt5webengine/chromium.inc @@ -0,0 +1,238 @@ +CHROMIUM_LICENSE_FILES = \ + src/3rdparty/chromium/chrome/third_party/chromevox/third_party/closure-library/LICENSE \ + src/3rdparty/chromium/chrome/third_party/chromevox/LICENSE \ + src/3rdparty/chromium/v8/LICENSE.strongtalk \ + src/3rdparty/chromium/v8/LICENSE.valgrind \ + src/3rdparty/chromium/v8/LICENSE.v8 \ + src/3rdparty/chromium/v8/LICENSE.fdlibm \ + src/3rdparty/chromium/v8/LICENSE \ + src/3rdparty/chromium/v8/src/third_party/vtune/LICENSE \ + src/3rdparty/chromium/v8/src/third_party/fdlibm/LICENSE \ + src/3rdparty/chromium/v8/src/third_party/valgrind/LICENSE \ + src/3rdparty/chromium/testing/gtest/LICENSE \ + src/3rdparty/chromium/testing/gmock/scripts/generator/LICENSE \ + src/3rdparty/chromium/testing/gmock/LICENSE \ + src/3rdparty/chromium/base/third_party/dynamic_annotations/LICENSE \ + src/3rdparty/chromium/base/third_party/nspr/LICENSE \ + src/3rdparty/chromium/base/third_party/libevent/LICENSE \ + src/3rdparty/chromium/base/third_party/icu/LICENSE \ + src/3rdparty/chromium/base/third_party/symbolize/LICENSE \ + src/3rdparty/chromium/base/third_party/dmg_fp/LICENSE \ + src/3rdparty/chromium/base/third_party/xdg_user_dirs/LICENSE \ + src/3rdparty/chromium/base/third_party/superfasthash/LICENSE \ + src/3rdparty/chromium/base/third_party/xdg_mime/LICENSE \ + src/3rdparty/chromium/base/third_party/valgrind/LICENSE \ + src/3rdparty/chromium/third_party/blimp_fonts/LICENSE.OFL \ + src/3rdparty/chromium/third_party/blimp_fonts/LICENSE \ + src/3rdparty/chromium/third_party/blimp_fonts/LICENSE.Apache \ + src/3rdparty/chromium/third_party/decklink/LICENSE \ + src/3rdparty/chromium/third_party/ced/LICENSE \ + src/3rdparty/chromium/third_party/ced/src/LICENSE \ + src/3rdparty/chromium/third_party/modp_b64/LICENSE \ + src/3rdparty/chromium/third_party/ow2_asm/LICENSE \ + src/3rdparty/chromium/third_party/isimpledom/LICENSE \ + src/3rdparty/chromium/third_party/minigbm/LICENSE \ + src/3rdparty/chromium/third_party/cros_system_api/MODULE_LICENSE_BSD \ + src/3rdparty/chromium/third_party/cros_system_api/LICENSE \ + src/3rdparty/chromium/third_party/gardiner_mod/LICENSE \ + src/3rdparty/chromium/third_party/tlslite/LICENSE \ + src/3rdparty/chromium/third_party/wayland/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/webpagereplay/third_party/dns/LICENSE \ + src/3rdparty/chromium/third_party/pyelftools/elftools/construct/LICENSE \ + src/3rdparty/chromium/third_party/pyelftools/LICENSE \ + src/3rdparty/chromium/third_party/closure_compiler/LICENSE \ + src/3rdparty/chromium/third_party/libsync/LICENSE \ + src/3rdparty/chromium/third_party/requests/LICENSE \ + src/3rdparty/chromium/third_party/mach_override/LICENSE \ + src/3rdparty/chromium/third_party/pymock/LICENSE.txt \ + src/3rdparty/chromium/third_party/cardboard-java/LICENSE \ + src/3rdparty/chromium/third_party/usb_ids/LICENSE \ + src/3rdparty/chromium/third_party/checkstyle/LICENSE \ + src/3rdparty/chromium/third_party/checkstyle/LICENSE.apache20 \ + src/3rdparty/chromium/third_party/apache-portable-runtime/LICENSE \ + src/3rdparty/chromium/third_party/zlib/LICENSE \ + src/3rdparty/chromium/third_party/protobuf/LICENSE \ + src/3rdparty/chromium/third_party/blanketjs/LICENSE \ + src/3rdparty/chromium/third_party/vulkan/LICENSE \ + src/3rdparty/chromium/third_party/pywebsocket/src/LICENSE \ + src/3rdparty/chromium/third_party/gif_player/LICENSE \ + src/3rdparty/chromium/third_party/py_trace_event/src/LICENSE \ + src/3rdparty/chromium/third_party/woff2/LICENSE \ + src/3rdparty/chromium/third_party/lzma_sdk/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/pdfium/LICENSE \ + src/3rdparty/chromium/third_party/tcmalloc/LICENSE \ + src/3rdparty/chromium/third_party/x86inc/LICENSE \ + src/3rdparty/chromium/third_party/mt19937ar/LICENSE \ + src/3rdparty/chromium/third_party/closure_linter/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/Python-Markdown/LICENSE.md \ + src/3rdparty/chromium/third_party/jmake/LICENSE \ + src/3rdparty/chromium/third_party/motemplate/LICENSE \ + src/3rdparty/chromium/third_party/fontconfig/LICENSE \ + src/3rdparty/chromium/third_party/iaccessible2/LICENSE \ + src/3rdparty/chromium/third_party/class-dump/LICENSE \ + src/3rdparty/chromium/third_party/icu/scripts/LICENSE \ + src/3rdparty/chromium/third_party/icu/LICENSE \ + src/3rdparty/chromium/third_party/webdriver/LICENSE \ + src/3rdparty/chromium/third_party/libyuv/third_party/gflags/LICENSE \ + src/3rdparty/chromium/third_party/libyuv/LICENSE \ + src/3rdparty/chromium/third_party/libyuv/LICENSE_THIRD_PARTY \ + src/3rdparty/chromium/third_party/hwcplus/LICENSE \ + src/3rdparty/chromium/third_party/boringssl/src/third_party/android-cmake/LICENSE \ + src/3rdparty/chromium/third_party/boringssl/src/LICENSE \ + src/3rdparty/chromium/third_party/ffmpeg/LICENSE.md \ + src/3rdparty/chromium/third_party/mozilla/LICENSE \ + src/3rdparty/chromium/third_party/sqlite/LICENSE \ + src/3rdparty/chromium/third_party/webrtc/LICENSE \ + src/3rdparty/chromium/third_party/webrtc/LICENSE_THIRD_PARTY \ + src/3rdparty/chromium/third_party/webrtc/examples/objc/AppRTCDemo/third_party/SocketRocket/LICENSE \ + src/3rdparty/chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE.md \ + src/3rdparty/chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE \ + src/3rdparty/chromium/third_party/khronos/LICENSE \ + src/3rdparty/chromium/third_party/drmemory/LICENSE \ + src/3rdparty/chromium/third_party/skia/platform_tools/android/third_party/ashmem/LICENSE \ + src/3rdparty/chromium/third_party/skia/third_party/libpng/LICENSE \ + src/3rdparty/chromium/third_party/skia/third_party/etc1/LICENSE \ + src/3rdparty/chromium/third_party/skia/LICENSE \ + src/3rdparty/chromium/third_party/javax_inject/LICENSE \ + src/3rdparty/chromium/third_party/glslang/LICENSE \ + src/3rdparty/chromium/third_party/robolectric/LICENSE \ + src/3rdparty/chromium/third_party/netty4/LICENSE \ + src/3rdparty/chromium/third_party/accessibility_test_framework/LICENSE \ + src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/x86inc/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/LICENSE \ + src/3rdparty/chromium/third_party/sqlite4java/LICENSE \ + src/3rdparty/chromium/third_party/libFuzzer/LICENSE.TXT \ + src/3rdparty/chromium/third_party/jsoncpp/LICENSE \ + src/3rdparty/chromium/third_party/haha/LICENSE \ + src/3rdparty/chromium/third_party/hamcrest/LICENSE \ + src/3rdparty/chromium/third_party/dom_distiller_js/LICENSE \ + src/3rdparty/chromium/third_party/xdg-utils/LICENSE \ + src/3rdparty/chromium/third_party/iccjpeg/LICENSE \ + src/3rdparty/chromium/third_party/wds/LICENSE \ + src/3rdparty/chromium/third_party/sinonjs/LICENSE \ + src/3rdparty/chromium/third_party/mockito/LICENSE \ + src/3rdparty/chromium/third_party/proguard/LICENSE \ + src/3rdparty/chromium/third_party/web-animations-js/LICENSE \ + src/3rdparty/chromium/third_party/molokocacao/LICENSE \ + src/3rdparty/chromium/third_party/libXNVCtrl/LICENSE \ + src/3rdparty/chromium/third_party/apple_apsl/LICENSE \ + src/3rdparty/chromium/third_party/libsecret/LICENSE \ + src/3rdparty/chromium/third_party/libwebp/LICENSE \ + src/3rdparty/chromium/third_party/ply/LICENSE \ + src/3rdparty/chromium/third_party/custom_tabs_client/LICENSE \ + src/3rdparty/chromium/third_party/polymer/v1_0/components-chromium/polymer/LICENSE.txt \ + src/3rdparty/chromium/third_party/markupsafe/LICENSE \ + src/3rdparty/chromium/third_party/shaderc/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/shaderc/src/LICENSE \ + src/3rdparty/chromium/third_party/libpng/LICENSE \ + src/3rdparty/chromium/third_party/swiftshader/LICENSE \ + src/3rdparty/chromium/third_party/ots/LICENSE \ + src/3rdparty/chromium/third_party/mocha/LICENSE \ + src/3rdparty/chromium/third_party/bspatch/LICENSE \ + src/3rdparty/chromium/third_party/ub-uiautomator/LICENSE \ + src/3rdparty/chromium/third_party/guava/LICENSE \ + src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/apple_cf/APPLE_LICENSE \ + src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/apple_cctools/cctools/APPLE_LICENSE \ + src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/getopt/LICENSE \ + src/3rdparty/chromium/third_party/crashpad/crashpad/LICENSE \ + src/3rdparty/chromium/third_party/grpc/third_party/rake-compiler-dock/LICENSE.txt \ + src/3rdparty/chromium/third_party/grpc/LICENSE \ + src/3rdparty/chromium/third_party/grpc/src/php/ext/grpc/LICENSE \ + src/3rdparty/chromium/third_party/libjpeg/LICENSE \ + src/3rdparty/chromium/third_party/re2/LICENSE \ + src/3rdparty/chromium/third_party/re2/src/LICENSE \ + src/3rdparty/chromium/third_party/catapult/tracing/third_party/jszip/LICENSE.markdown \ + src/3rdparty/chromium/third_party/catapult/tracing/third_party/gl-matrix/LICENSE.md \ + src/3rdparty/chromium/third_party/catapult/tracing/third_party/chai/LICENSE \ + src/3rdparty/chromium/third_party/catapult/tracing/third_party/mocha/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/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/opus/src/LICENSE_PLEASE_READ.txt \ + src/3rdparty/chromium/third_party/leakcanary/LICENSE \ + src/3rdparty/chromium/third_party/flot/LICENSE.txt \ + src/3rdparty/chromium/third_party/pexpect/LICENSE \ + src/3rdparty/chromium/third_party/bintrees/LICENSE.txt \ + src/3rdparty/chromium/third_party/usrsctp/LICENSE \ + src/3rdparty/chromium/third_party/usrsctp/usrsctplib/LICENSE.md \ + src/3rdparty/chromium/third_party/simplejson/LICENSE.txt \ + src/3rdparty/chromium/third_party/wayland-protocols/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/LICENSE_FOR_ABOUT_CREDITS \ + src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/cm_modes/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/acorn/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/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/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/wptserve/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/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/brotli/LICENSE \ + src/3rdparty/chromium/third_party/apache_velocity/LICENSE \ + src/3rdparty/chromium/third_party/d3/src/LICENSE \ + src/3rdparty/chromium/third_party/flatbuffers/LICENSE \ + src/3rdparty/chromium/third_party/flatbuffers/src/LICENSE.txt \ + src/3rdparty/chromium/third_party/openh264/src/LICENSE \ + src/3rdparty/chromium/third_party/SPIRV-Tools/LICENSE \ + src/3rdparty/chromium/third_party/SPIRV-Tools/src/LICENSE \ + src/3rdparty/chromium/third_party/sudden_motion_sensor/LICENSE \ + src/3rdparty/chromium/third_party/netty-tcnative/LICENSE \ + src/3rdparty/chromium/third_party/bouncycastle/LICENSE \ + src/3rdparty/chromium/third_party/icu4j/LICENSE \ + src/3rdparty/chromium/third_party/libwebm/source/LICENSE.TXT \ + src/3rdparty/chromium/third_party/jinja2/LICENSE \ + src/3rdparty/chromium/third_party/v4l2capture/LICENSE \ + src/3rdparty/chromium/third_party/ijar/LICENSE \ + src/3rdparty/chromium/third_party/openmax_dl/LICENSE \ + src/3rdparty/chromium/third_party/chaijs/LICENSE \ + src/3rdparty/chromium/third_party/leveldatabase/src/LICENSE \ + src/3rdparty/chromium/third_party/libsrtp/srtp/LICENSE \ + src/3rdparty/chromium/third_party/libudev/LICENSE \ + src/3rdparty/chromium/third_party/appurify-python/LICENSE \ + src/3rdparty/chromium/third_party/espresso/LICENSE \ + src/3rdparty/chromium/third_party/errorprone/LICENSE \ + src/3rdparty/chromium/third_party/freetype2/src/docs/LICENSE.TXT \ + src/3rdparty/chromium/third_party/pyftpdlib/src/LICENSE \ + src/3rdparty/chromium/third_party/typ/LICENSE \ + src/3rdparty/chromium/third_party/pycoverage/LICENSE \ + src/3rdparty/chromium/third_party/qunit/LICENSE \ + src/3rdparty/chromium/third_party/freetype-android/src/docs/LICENSE.TXT \ + src/3rdparty/chromium/third_party/angle/LICENSE \ + src/3rdparty/chromium/third_party/angle/src/third_party/murmurhash/LICENSE \ + src/3rdparty/chromium/third_party/angle/src/third_party/libXNVCtrl/LICENSE \ + src/3rdparty/chromium/third_party/angle/src/third_party/compiler/LICENSE \ + src/3rdparty/chromium/third_party/libjpeg_turbo/LICENSE.md \ + src/3rdparty/chromium/third_party/smhasher/LICENSE \ + src/3rdparty/chromium/LICENSE.chromium_os \ + src/3rdparty/chromium/tools/page_cycler/acid3/LICENSE \ + src/3rdparty/chromium/tools/win/ChromeDebug/ChromeDebug/LICENSE \ + src/3rdparty/chromium/tools/origin_trials/third_party/ed25519/LICENSE \ + src/3rdparty/chromium/tools/gyp/LICENSE \ + src/3rdparty/chromium/LICENSE \ + src/3rdparty/chromium/mojo/public/LICENSE \ + src/3rdparty/chromium/url/third_party/mozilla/LICENSE.txt \ + src/3rdparty/chromium/ppapi/LICENSE \ + src/3rdparty/chromium/net/third_party/nss/LICENSE \ + src/3rdparty/chromium/net/third_party/mozilla_security_manager/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/buildtools/LICENSE diff --git a/package/qt5/qt5webengine/qt5webengine.hash b/package/qt5/qt5webengine/qt5webengine.hash new file mode 100644 index 000000000..3e1fde2dd --- /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 c80e90237bb7bd52a3fa843415c17a8e8e6d779b65efd1393472f24f8642e04c 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 +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..bc7de1f5b --- /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 + +ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) +include package/qt5/qt5webengine/chromium.inc +QT5WEBENGINE_LICENSE = GPLv2 or LGPLv3 or GPLv3 or GPLv3 with exception +QT5WEBENGINE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT \ + LICENSE.GPLv3 LICENSE.LGPL3 $(CHROMIUM_LICENSE_FILES) +else +QT5WEBENGINE_LICENSE = Commercial license +QT5WEBENGINE_REDISTRIBUTE = NO +endif + +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.12.0 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [Buildroot] [RFC 1/3] qt5webengine: new package 2017-03-22 18:13 ` [Buildroot] [RFC 1/3] qt5webengine: new package Gaël PORTAY @ 2017-04-18 16:04 ` Gaël PORTAY 2017-05-23 1:46 ` jsmith 0 siblings, 1 reply; 22+ messages in thread From: Gaël PORTAY @ 2017-04-18 16:04 UTC (permalink / raw) To: buildroot Hi all, Any feedback on this new package? :) Thanks, Ga?l ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [RFC 1/3] qt5webengine: new package 2017-04-18 16:04 ` Gaël PORTAY @ 2017-05-23 1:46 ` jsmith 2017-06-30 6:19 ` gomsis 0 siblings, 1 reply; 22+ messages in thread From: jsmith @ 2017-05-23 1:46 UTC (permalink / raw) To: buildroot What is the status on this patch? Is the patch below what I should be using, or are there other patches that I need to apply? Will this be merged into buildroot soon? https://patchwork.ozlabs.org/patch/640633/ -- View this message in context: http://buildroot-busybox.2317881.n4.nabble.com/RFC-0-3-Qt-WebEngine-support-tp160642p165475.html Sent from the Buildroot (busybox) mailing list archive at Nabble.com. ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [RFC 1/3] qt5webengine: new package 2017-05-23 1:46 ` jsmith @ 2017-06-30 6:19 ` gomsis 2017-07-04 18:39 ` Gaël PORTAY 0 siblings, 1 reply; 22+ messages in thread From: gomsis @ 2017-06-30 6:19 UTC (permalink / raw) To: buildroot hello I have applied webengine patch and I flash to imx6dl. so I don't now whether is work on rpi3. there was no problem while compiling. I have problem while running application. I use demobrowser from qt to test the web engine. when I try to run with eglfs, it crushes and says "Could not open eglfs display" is there any bug between opengl and eglfs. thanks for your patch -- View this message in context: http://buildroot-busybox.2317881.n4.nabble.com/RFC-0-3-Qt-WebEngine-support-tp160642p168692.html Sent from the Buildroot (busybox) mailing list archive at Nabble.com. ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [RFC 1/3] qt5webengine: new package 2017-06-30 6:19 ` gomsis @ 2017-07-04 18:39 ` Gaël PORTAY 2017-07-07 5:33 ` Brent Sink 0 siblings, 1 reply; 22+ messages in thread From: Gaël PORTAY @ 2017-07-04 18:39 UTC (permalink / raw) To: buildroot Hi all, I will resend (in the next couple of days) a new version of this patch rebased on top of master. It will fix the build issue with Qt 5.6.2. I am trying to backport the required patch that fixes the issue met by Brent. Regards, Ga?l ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [RFC 1/3] qt5webengine: new package 2017-07-04 18:39 ` Gaël PORTAY @ 2017-07-07 5:33 ` Brent Sink 2017-07-07 18:58 ` Gaël PORTAY 0 siblings, 1 reply; 22+ messages in thread From: Brent Sink @ 2017-07-07 5:33 UTC (permalink / raw) To: buildroot Hi Ga?l, On 7/4/2017 2:39 PM, Ga?l PORTAY wrote: > Hi all, > > I will resend (in the next couple of days) a new version of this patch rebased > on top of master. Thanks for sending the updated patch! I just sent a patch to bump Qt to 5.9.1. I'll be sure to give your patch a try with this new version. Here is the patch I sent: https://patchwork.ozlabs.org/patch/785366/ > > It will fix the build issue with Qt 5.6.2. I am trying to backport the required > patch that fixes the issue met by Brent. > > Regards, > Ga?l ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [RFC 1/3] qt5webengine: new package 2017-07-07 5:33 ` Brent Sink @ 2017-07-07 18:58 ` Gaël PORTAY 2017-07-08 10:48 ` gomsis 0 siblings, 1 reply; 22+ messages in thread From: Gaël PORTAY @ 2017-07-07 18:58 UTC (permalink / raw) To: buildroot Hi Brent, On Fri, Jul 07, 2017 at 05:33:32AM +0000, Brent Sink wrote: > Hi Ga?l, > > > On 7/4/2017 2:39 PM, Ga?l PORTAY wrote: > > Hi all, > > > > I will resend (in the next couple of days) a new version of this patch rebased > > on top of master. > Thanks for sending the updated patch! I just sent a patch to bump Qt to > 5.9.1. I'll be sure to give your patch a try with this new version. > > Here is the patch I sent: > https://patchwork.ozlabs.org/patch/785366/ I am testing to build Qt WebEngine 5.9 on RPI3 with your patches. > > > > It will fix the build issue with Qt 5.6.2. I am trying to backport the required > > patch that fixes the issue met by Brent. > > > > Regards, > > Ga?l > Thanks for your patches! Regards, Ga?l ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [RFC 1/3] qt5webengine: new package 2017-07-07 18:58 ` Gaël PORTAY @ 2017-07-08 10:48 ` gomsis 2017-07-14 13:26 ` gomsis 0 siblings, 1 reply; 22+ messages in thread From: gomsis @ 2017-07-08 10:48 UTC (permalink / raw) To: buildroot Hi Gael, I hope it works for raspberrypi3. unfortunately it does not work imx6dl. it gives same error "could not open egl display". I really want to solve this problem however I do not have enough experience to do so. If you have time to solve this problem, I want to help you because webengine is crucial package for qt. regards -- View this message in context: http://buildroot-busybox.2317881.n4.nabble.com/RFC-0-3-Qt-WebEngine-support-tp160642p170362.html Sent from the Buildroot (busybox) mailing list archive at Nabble.com. ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [RFC 1/3] qt5webengine: new package 2017-07-08 10:48 ` gomsis @ 2017-07-14 13:26 ` gomsis 2017-07-14 17:38 ` Gaël PORTAY 0 siblings, 1 reply; 22+ messages in thread From: gomsis @ 2017-07-14 13:26 UTC (permalink / raw) To: buildroot error while compiling File "../build/scripts/rule_bison.py", line 83, in <module> returnCode = subprocess.call([bisonExe, '-d', '-p', prefix, inputFile, '-o', outputCpp]) File "/home/osboxes/Desktop/buildrootl/output/host/usr/lib/python2.7/subprocess.py", line 168, in call return Popen(*popenargs, **kwargs).wait() File "/home/osboxes/Desktop/buildrootl/output/host/usr/lib/python2.7/subprocess.py", line 390, in __init__ errread, errwrite) File "/home/osboxes/Desktop/buildrootl/output/host/usr/lib/python2.7/subprocess.py", line 1024, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory [2/9493] ACTION Caching PLY lex & yacc lex/parse tables ninja: build stopped: subcommand failed. Makefile.gyp_run:317: recipe for target 'invoke_ninja' failed make[4]: *** [invoke_ninja] Error 1 make[4]: Leaving directory '/home/osboxes/Desktop/buildrootl/output/build/qt5webengine-5.8.0/src/core' Makefile:116: recipe for target 'sub-gyp_run-pro-make_first' failed make[3]: *** [sub-gyp_run-pro-make_first] Error 2 make[3]: Leaving directory '/home/osboxes/Desktop/buildrootl/output/build/qt5webengine-5.8.0/src/core' Makefile:49: recipe for target 'sub-core-make_first' failed make[2]: *** [sub-core-make_first] Error 2 make[2]: Leaving directory '/home/osboxes/Desktop/buildrootl/output/build/qt5webengine-5.8.0/src' Makefile:44: recipe for target 'sub-src-make_first' failed make[1]: *** [sub-src-make_first] Error 2 make[1]: Leaving directory '/home/osboxes/Desktop/buildrootl/output/build/qt5webengine-5.8.0' package/pkg-generic.mk:227: recipe for target '/home/osboxes/Desktop/buildrootl/output/build/qt5webengine-5.8.0/.stamp_built' failed make: *** [/home/osboxes/Desktop/buildrootl/output/build/qt5webengine-5.8.0/.stamp_built] Error 2 -- View this message in context: http://buildroot-busybox.2317881.n4.nabble.com/RFC-0-3-Qt-WebEngine-support-tp160642p170885.html Sent from the Buildroot (busybox) mailing list archive at Nabble.com. ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [RFC 1/3] qt5webengine: new package 2017-07-14 13:26 ` gomsis @ 2017-07-14 17:38 ` Gaël PORTAY 2017-07-17 5:40 ` gomsis 2017-07-17 5:42 ` gomsis 0 siblings, 2 replies; 22+ messages in thread From: Gaël PORTAY @ 2017-07-14 17:38 UTC (permalink / raw) To: buildroot Hi gomsis, Thanks you for the report. On Fri, Jul 14, 2017 at 06:26:58AM -0700, gomsis wrote: > error while compiling > > File "../build/scripts/rule_bison.py", line 83, in <module> > returnCode = subprocess.call([bisonExe, '-d', '-p', prefix, inputFile, > '-o', outputCpp]) > File > "/home/osboxes/Desktop/buildrootl/output/host/usr/lib/python2.7/subprocess.py", > line 168, in call > return Popen(*popenargs, **kwargs).wait() > File > "/home/osboxes/Desktop/buildrootl/output/host/usr/lib/python2.7/subprocess.py", > line 390, in __init__ > errread, errwrite) > File > "/home/osboxes/Desktop/buildrootl/output/host/usr/lib/python2.7/subprocess.py", > line 1024, in _execute_child > raise child_exception > OSError: [Errno 2] No such file or directory > [2/9493] ACTION Caching PLY lex & yacc lex/parse tables > ninja: build stopped: subcommand failed. > Makefile.gyp_run:317: recipe for target 'invoke_ninja' failed > make[4]: *** [invoke_ninja] Error 1 > make[4]: Leaving directory > '/home/osboxes/Desktop/buildrootl/output/build/qt5webengine-5.8.0/src/core' > Makefile:116: recipe for target 'sub-gyp_run-pro-make_first' failed > make[3]: *** [sub-gyp_run-pro-make_first] Error 2 > make[3]: Leaving directory > '/home/osboxes/Desktop/buildrootl/output/build/qt5webengine-5.8.0/src/core' > Makefile:49: recipe for target 'sub-core-make_first' failed > make[2]: *** [sub-core-make_first] Error 2 > make[2]: Leaving directory > '/home/osboxes/Desktop/buildrootl/output/build/qt5webengine-5.8.0/src' > Makefile:44: recipe for target 'sub-src-make_first' failed > make[1]: *** [sub-src-make_first] Error 2 > make[1]: Leaving directory > '/home/osboxes/Desktop/buildrootl/output/build/qt5webengine-5.8.0' > package/pkg-generic.mk:227: recipe for target > '/home/osboxes/Desktop/buildrootl/output/build/qt5webengine-5.8.0/.stamp_built' > failed > make: *** > [/home/osboxes/Desktop/buildrootl/output/build/qt5webengine-5.8.0/.stamp_built] > Error 2 > > I have never met this error before. I have tested ony on RPI 3. Which target are you building Qt WE for? Regards, Ga?l ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [RFC 1/3] qt5webengine: new package 2017-07-14 17:38 ` Gaël PORTAY @ 2017-07-17 5:40 ` gomsis 2017-07-17 5:42 ` gomsis 1 sibling, 0 replies; 22+ messages in thread From: gomsis @ 2017-07-17 5:40 UTC (permalink / raw) To: buildroot Hi Gael, I just applied your defconfig file "make raspberrypi3_qt5_defconfig" then I did not change anything. regards -- View this message in context: http://buildroot-busybox.2317881.n4.nabble.com/RFC-0-3-Qt-WebEngine-support-tp160642p171097.html Sent from the Buildroot (busybox) mailing list archive at Nabble.com. ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [RFC 1/3] qt5webengine: new package 2017-07-14 17:38 ` Gaël PORTAY 2017-07-17 5:40 ` gomsis @ 2017-07-17 5:42 ` gomsis 1 sibling, 0 replies; 22+ messages in thread From: gomsis @ 2017-07-17 5:42 UTC (permalink / raw) To: buildroot Hi Gael, I just applied your defconfig file "make raspberrypi3_qt5_defconfig", then I did not change anything. regards -- View this message in context: http://buildroot-busybox.2317881.n4.nabble.com/RFC-0-3-Qt-WebEngine-support-tp160642p171098.html Sent from the Buildroot (busybox) mailing list archive at Nabble.com. ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [RFC 2/3] rpi-userland: fix opengl library symlinks 2017-03-22 18:13 [Buildroot] [RFC 0/3] Qt WebEngine support Gaël PORTAY 2017-03-22 18:13 ` [Buildroot] [RFC 1/3] qt5webengine: new package Gaël PORTAY @ 2017-03-22 18:13 ` Gaël PORTAY 2017-03-22 21:54 ` Thomas Petazzoni 2017-03-22 18:13 ` [Buildroot] [RFC 3/3] configs: new raspberrypi3 qt5 config Gaël PORTAY 2017-03-22 21:21 ` [Buildroot] [RFC 0/3] Qt WebEngine support Peter Seiderer 3 siblings, 1 reply; 22+ messages in thread From: Gaël PORTAY @ 2017-03-22 18:13 UTC (permalink / raw) To: buildroot Qt WebEngine module is linked against libEGL.so.1 and libGLESv2.so.2. 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 Signed-off-by: Ga?l PORTAY <gael.portay@savoirfairelinux.com> --- .../0001-Add-OpenGL-library-versioning.patch | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 package/rpi-userland/0001-Add-OpenGL-library-versioning.patch diff --git a/package/rpi-userland/0001-Add-OpenGL-library-versioning.patch b/package/rpi-userland/0001-Add-OpenGL-library-versioning.patch new file mode 100644 index 000000000..0de7b8a72 --- /dev/null +++ b/package/rpi-userland/0001-Add-OpenGL-library-versioning.patch @@ -0,0 +1,36 @@ +From c0b5fce145b8b7aec42510d9759d100e92630c74 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 require specific library versions. +Make them happy by providing that. + +https://wiki.qt.io/RaspberryPi2EGLFS +--- + host_applications/android/apps/vidtex/CMakeLists.txt | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/host_applications/android/apps/vidtex/CMakeLists.txt b/host_applications/android/apps/vidtex/CMakeLists.txt +index 1f705ef..c91032a 100644 +--- a/host_applications/android/apps/vidtex/CMakeLists.txt ++++ b/host_applications/android/apps/vidtex/CMakeLists.txt +@@ -10,3 +10,15 @@ 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_target_properties( ++ GLESv2 PROPERTIES ++ VERSION "2.0.0" ++ SOVERSION "2" ++) ++ ++set_target_properties( ++ EGL PROPERTIES ++ VERSION "1.0.0" ++ SOVERSION "1" ++) +-- +2.10.2 + -- 2.12.0 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [Buildroot] [RFC 2/3] rpi-userland: fix opengl library symlinks 2017-03-22 18:13 ` [Buildroot] [RFC 2/3] rpi-userland: fix opengl library symlinks Gaël PORTAY @ 2017-03-22 21:54 ` Thomas Petazzoni 2017-03-22 22:38 ` Gaël PORTAY 0 siblings, 1 reply; 22+ messages in thread From: Thomas Petazzoni @ 2017-03-22 21:54 UTC (permalink / raw) To: buildroot Hello, On Wed, 22 Mar 2017 14:13:30 -0400, Ga?l PORTAY wrote: > Qt WebEngine module is linked against libEGL.so.1 and libGLESv2.so.2. I don't understand this. Does WebEngine contains pre-built binaries? If so, then most likely they are only available for a few architectures, and Qt WebEngine should only be available for those few architectures. If everything is source code, then presumably the build system uses -lEGL -lGLESv2, which tells gcc to look for libEGL.so and libGLESv2.so, so those .1 and .2 suffixes should not matter. Can you give some more details here? Also: if this is needed for the qtwebengine build to be successful, it should appear *before* the qtwebengine patch in the series. Thanks! Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [RFC 2/3] rpi-userland: fix opengl library symlinks 2017-03-22 21:54 ` Thomas Petazzoni @ 2017-03-22 22:38 ` Gaël PORTAY 2017-03-22 22:47 ` Thomas Petazzoni 0 siblings, 1 reply; 22+ messages in thread From: Gaël PORTAY @ 2017-03-22 22:38 UTC (permalink / raw) To: buildroot Hi Thomas, On Wed, Mar 22, 2017 at 10:54:21PM +0100, Thomas Petazzoni wrote: > Hello, > > On Wed, 22 Mar 2017 14:13:30 -0400, Ga?l PORTAY wrote: > > Qt WebEngine module is linked against libEGL.so.1 and libGLESv2.so.2. > I write this patch a month ago, I don't remember when it crashes (maybe at runtime...). > I don't understand this. Does WebEngine contains pre-built binaries? If > so, then most likely they are only available for a few architectures, > and Qt WebEngine should only be available for those few architectures. > > If everything is source code, then presumably the build system uses > -lEGL -lGLESv2, which tells gcc to look for libEGL.so and libGLESv2.so, > so those .1 and .2 suffixes should not matter. > Indeed. I just did a quick look up into the sources [1], and my message is totally wrong! My excuses... WebEngine is not linked against those libraries: libraries are dynamically loaded. > Can you give some more details here? > Do you want I reproduce the crash? To make sure this quick investigation is correct? > Also: if this is needed for the qtwebengine build to be successful, it > should appear *before* the qtwebengine patch in the series. > Indeed (again)... > Thanks! > > Thomas > -- > Thomas Petazzoni, CTO, Free Electrons > Embedded Linux and Kernel engineering > http://free-electrons.com Regards, Gael [1] https://github.com/qt/qtwebengine/blob/dev/src/core/surface_factory_qt.cpp#L76-L86 ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [RFC 2/3] rpi-userland: fix opengl library symlinks 2017-03-22 22:38 ` Gaël PORTAY @ 2017-03-22 22:47 ` Thomas Petazzoni 2017-03-22 22:51 ` Gaël PORTAY 0 siblings, 1 reply; 22+ messages in thread From: Thomas Petazzoni @ 2017-03-22 22:47 UTC (permalink / raw) To: buildroot Hello, On Wed, 22 Mar 2017 18:38:51 -0400, Ga?l PORTAY wrote: > WebEngine is not linked against those libraries: libraries are dynamically > loaded. Ah, it uses dlopen() on specifically libEGL.so.1 and libOpenGLES.so.2, OK. Then it makes sense. Maybe your patch should be submitted upstream to rpi-userland? Best regards, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [RFC 2/3] rpi-userland: fix opengl library symlinks 2017-03-22 22:47 ` Thomas Petazzoni @ 2017-03-22 22:51 ` Gaël PORTAY 2017-03-25 14:25 ` Thomas Petazzoni 0 siblings, 1 reply; 22+ messages in thread From: Gaël PORTAY @ 2017-03-22 22:51 UTC (permalink / raw) To: buildroot Hello, On Wed, Mar 22, 2017 at 11:47:56PM +0100, Thomas Petazzoni wrote: > Hello, > > On Wed, 22 Mar 2017 18:38:51 -0400, Ga?l PORTAY wrote: > > > WebEngine is not linked against those libraries: libraries are dynamically > > loaded. > > Ah, it uses dlopen() on specifically libEGL.so.1 and libOpenGLES.so.2, > OK. Then it makes sense. Maybe your patch should be submitted upstream > to rpi-userland? I am on it. I made a PR on github. > > Best regards, > > Thomas > -- > Thomas Petazzoni, CTO, Free Electrons > Embedded Linux and Kernel engineering > http://free-electrons.com Best regards, Gael ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [RFC 2/3] rpi-userland: fix opengl library symlinks 2017-03-22 22:51 ` Gaël PORTAY @ 2017-03-25 14:25 ` Thomas Petazzoni 2017-04-11 16:30 ` Gaël PORTAY 0 siblings, 1 reply; 22+ messages in thread From: Thomas Petazzoni @ 2017-03-25 14:25 UTC (permalink / raw) To: buildroot Hello, On Wed, 22 Mar 2017 18:51:04 -0400, Ga?l PORTAY wrote: > > Ah, it uses dlopen() on specifically libEGL.so.1 and libOpenGLES.so.2, > > OK. Then it makes sense. Maybe your patch should be submitted upstream > > to rpi-userland? > > I am on it. > > I made a PR on github. As was said in https://github.com/raspberrypi/userland/pull/379, the PR you have submitted changes the SONAME of the library, so any binary already built against rpi-userland before your change will no longer work after your change. Your suggestion to run ldconfig is irrelevant. When you link against a library, the SONAME of this library gets encoded into a NEEDED entry of the thing (program or library) that links against this library. Then at runtime, the dynamic loader goes through those NEEDED entries to load the shared libraries that the program needs. So if the NEEDED entry of a program no longer points to an existing library, you broke binary compatibility. So maybe we simply need some symbolic links to be created: libEGL.so.1 -> libEGL.so libGLES.so.2 -> libGLES.so This way, qt5webengine will be able to find the EGL/OpenGLES implementation, but the rpi-userland libraries SONAME remains the same. Best regards, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [RFC 2/3] rpi-userland: fix opengl library symlinks 2017-03-25 14:25 ` Thomas Petazzoni @ 2017-04-11 16:30 ` Gaël PORTAY 0 siblings, 0 replies; 22+ messages in thread From: Gaël PORTAY @ 2017-04-11 16:30 UTC (permalink / raw) To: buildroot Hi Thomas, On Sat, Mar 25, 2017 at 03:25:07PM +0100, Thomas Petazzoni wrote: > Hello, > > On Wed, 22 Mar 2017 18:51:04 -0400, Ga?l PORTAY wrote: > > > > Ah, it uses dlopen() on specifically libEGL.so.1 and libOpenGLES.so.2, > > > OK. Then it makes sense. Maybe your patch should be submitted upstream > > > to rpi-userland? > > > > I am on it. > > > > I made a PR on github. > > As was said in https://github.com/raspberrypi/userland/pull/379, the PR > you have submitted changes the SONAME of the library, so any binary > already built against rpi-userland before your change will no longer > work after your change. Your suggestion to run ldconfig is irrelevant. > Okay. I wanted to make sure about the 'No such file or directory' message. I would expect a kind of 'Invalid' message instead. > When you link against a library, the SONAME of this library gets > encoded into a NEEDED entry of the thing (program or library) that > links against this library. Then at runtime, the dynamic loader goes > through those NEEDED entries to load the shared libraries that the > program needs. So if the NEEDED entry of a program no longer points to > an existing library, you broke binary compatibility. > Thanks very much for this clarification about the SONAME and NEEDED entry. I thought it was based on filenames only, and I was wrong. > So maybe we simply need some symbolic links to be created: > > libEGL.so.1 -> libEGL.so > libGLES.so.2 -> libGLES.so > I submitted a new PR that creates symlinks. I was the initial solution :) > This way, qt5webengine will be able to find the EGL/OpenGLES > implementation, but the rpi-userland libraries SONAME remains the same. > > Best regards, > > Thomas > -- > Thomas Petazzoni, CTO, Free Electrons > Embedded Linux and Kernel engineering > http://free-electrons.com > _______________________________________________ > buildroot mailing list > buildroot at busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot Regards, Ga?l ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [RFC 3/3] configs: new raspberrypi3 qt5 config 2017-03-22 18:13 [Buildroot] [RFC 0/3] Qt WebEngine support Gaël PORTAY 2017-03-22 18:13 ` [Buildroot] [RFC 1/3] qt5webengine: new package Gaël PORTAY 2017-03-22 18:13 ` [Buildroot] [RFC 2/3] rpi-userland: fix opengl library symlinks Gaël PORTAY @ 2017-03-22 18:13 ` Gaël PORTAY 2017-03-22 21:21 ` [Buildroot] [RFC 0/3] Qt WebEngine support Peter Seiderer 3 siblings, 0 replies; 22+ messages in thread From: Gaël PORTAY @ 2017-03-22 18:13 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 | 49 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 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..4baa96e9e --- /dev/null +++ b/configs/raspberrypi3_qt5_defconfig @@ -0,0 +1,49 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_NEON_VFPV4=y + +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y +BR2_KERNEL_HEADERS_4_9=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="935c7ce84c982a26f567a03a58a1537424569938" +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 Qt WebEngine module +BR2_PACKAGE_LIBERATION=y +BR2_PACKAGE_QT5=y +BR2_PACKAGE_QT5BASE_LICENSE_APPROVED=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 +BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS=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_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.12.0 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [Buildroot] [RFC 0/3] Qt WebEngine support 2017-03-22 18:13 [Buildroot] [RFC 0/3] Qt WebEngine support Gaël PORTAY ` (2 preceding siblings ...) 2017-03-22 18:13 ` [Buildroot] [RFC 3/3] configs: new raspberrypi3 qt5 config Gaël PORTAY @ 2017-03-22 21:21 ` Peter Seiderer 3 siblings, 0 replies; 22+ messages in thread From: Peter Seiderer @ 2017-03-22 21:21 UTC (permalink / raw) To: buildroot Hello Ga?l, On Wed, 22 Mar 2017 14:13:28 -0400, Ga?l PORTAY <gael.portay@savoirfairelinux.com> wrote: [...] > > Note: I do not know yet how to add an input backend (mouse, keyboard). For now, > quicknanobrowser will just display the qt website. > [...]' Change System configuration --> /dev management to 'devtmpfs + eudev' (untested), or use 'Init System (systemd)' (tested), both enable udev support needed by the qt5 default input system... Regards, Peter ^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2017-07-17 5:42 UTC | newest] Thread overview: 22+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-03-22 18:13 [Buildroot] [RFC 0/3] Qt WebEngine support Gaël PORTAY 2017-03-22 18:13 ` [Buildroot] [RFC 1/3] qt5webengine: new package Gaël PORTAY 2017-04-18 16:04 ` Gaël PORTAY 2017-05-23 1:46 ` jsmith 2017-06-30 6:19 ` gomsis 2017-07-04 18:39 ` Gaël PORTAY 2017-07-07 5:33 ` Brent Sink 2017-07-07 18:58 ` Gaël PORTAY 2017-07-08 10:48 ` gomsis 2017-07-14 13:26 ` gomsis 2017-07-14 17:38 ` Gaël PORTAY 2017-07-17 5:40 ` gomsis 2017-07-17 5:42 ` gomsis 2017-03-22 18:13 ` [Buildroot] [RFC 2/3] rpi-userland: fix opengl library symlinks Gaël PORTAY 2017-03-22 21:54 ` Thomas Petazzoni 2017-03-22 22:38 ` Gaël PORTAY 2017-03-22 22:47 ` Thomas Petazzoni 2017-03-22 22:51 ` Gaël PORTAY 2017-03-25 14:25 ` Thomas Petazzoni 2017-04-11 16:30 ` Gaël PORTAY 2017-03-22 18:13 ` [Buildroot] [RFC 3/3] configs: new raspberrypi3 qt5 config Gaël PORTAY 2017-03-22 21:21 ` [Buildroot] [RFC 0/3] Qt WebEngine support Peter Seiderer
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox