All of lore.kernel.org
 help / color / mirror / Atom feed
* [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 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 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

* [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 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

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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.