Message ID | 1436538022-18924-4-git-send-email-corjon.j@ecagroup.com |
---|---|
State | Superseded |
Headers | show |
Dear Julien Corjon, On Fri, 10 Jul 2015 16:20:21 +0200, Julien Corjon wrote: > diff --git a/package/qt5/qt5webengine/0001-allow_all_linux_gxx.patch b/package/qt5/qt5webengine/0001-allow_all_linux_gxx.patch > new file mode 100644 > index 0000000..62c5a34 > --- /dev/null > +++ b/package/qt5/qt5webengine/0001-allow_all_linux_gxx.patch > @@ -0,0 +1,16 @@ This patch lacks a description + Signed-off-by. Also, don't forget to submit it upstream. > +Index: qt5webengine-5.5.0/tools/qmake/mkspecs/features/functions.prf > +=================================================================== > +--- qt5webengine-5.5.0.orig/tools/qmake/mkspecs/features/functions.prf > ++++ qt5webengine-5.5.0/tools/qmake/mkspecs/features/functions.prf > +@@ -12,9 +12,9 @@ defineTest(isPlatformSupported) { > + return(false) > + } > + > +- linux-g++*:!isGCCVersionSupported(): return(false) > ++ linux*g++*:!isGCCVersionSupported(): return(false) > + !isPythonVersionSupported(): return(false) > +- linux-g++*|win32-msvc2013|macx-clang: return(true) > ++ linux*g++*|win32-msvc2013|macx-clang: return(true) > + boot2qt: return(true) > + > + skipBuild("Qt WebEngine can currently only be built for Linux (GCC), Windows (MSVC 2013), OS X (XCode 5.1+) or Qt for Device Creation.") > diff --git a/package/qt5/qt5webengine/0002-switch_float_abi_for_arm_to_hard.patch b/package/qt5/qt5webengine/0002-switch_float_abi_for_arm_to_hard.patch > new file mode 100644 > index 0000000..6210a13 > --- /dev/null > +++ b/package/qt5/qt5webengine/0002-switch_float_abi_for_arm_to_hard.patch > @@ -0,0 +1,39 @@ > +commit 779d02564f64654487db059f71c7e8257a851397 > +Author: sbc <sbc@chromium.org> > +Date: Sun May 17 16:52:45 2015 -0700 > + > + Switch default float-abi for ARM linux from softfp to hard > + > + All the ARM linux builders already specify this, and > + armhf is the now the default for both Ubuntu and Debian. > + > + Followup cleanup cl for the bots: > + https://codereview.chromium.org/1141643004/ > + > + BUG=308256 > + > + Review URL: https://codereview.chromium.org/1140503004 > + > + Cr-Original-Commit-Position: refs/heads/master@{#330316} > + Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src > + Cr-Mirrored-Commit: ff8ec298fd273181647ec4d94c032343382dbe57 Please add your Signed-off-by here as well, so that we know who integrated it in Buildroot. diff --git a/package/qt5/qt5webengine/Config.in b/package/qt5/qt5webengine/Config.in > new file mode 100644 > index 0000000..39c087a > --- /dev/null > +++ b/package/qt5/qt5webengine/Config.in > @@ -0,0 +1,19 @@ > +config BR2_PACKAGE_QT5WEBENGINE > + bool "qt5webengine" > + select BR2_PACKAGE_QT5BASE > + select BR2_PACKAGE_QT5BASE_GUI > + select BR2_PACKAGE_QT5BASE_FONTCONFIG > + select BR2_PACKAGE_QT5BASE_DBUS > + select BR2_PACKAGE_QT5BASE_ICU > + select BR2_PACKAGE_QT5WEBCHANNEL So you need qt5webchannel, so this patch should come *after* qt5webchannel is added as a package in your series. > + select BR2_PACKAGE_OPENSSL > + select BR2_PACKAGE_LIBCAP > + select BR2_PACKAGE_QT5DECLARATIVE > + select BR2_PACKAGE_QT5DECLARATIVE_QUICK > + help > + Qt is a cross-platform application and UI framework for > + developers using C++. > + > + This package corresponds to the qt5webengine module. > + > + http://qt.io > diff --git a/package/qt5/qt5webengine/qt5webengine.hash b/package/qt5/qt5webengine/qt5webengine.hash > new file mode 100644 > index 0000000..b8c7e1d > --- /dev/null > +++ b/package/qt5/qt5webengine/qt5webengine.hash > @@ -0,0 +1,4 @@ > +# Hashes from: http://download.qt.io/official_releases/qt/5.5/5.5.0/submodules/qtwebengine-opensource-src-5.5.0.tar.xz.mirrorlist > +sha256 d703e60838744283f9a3419bdd8708f2e01d3ed81f18aaadd713342033cbd65a qtwebengine-opensource-src-5.5.0.tar.xz > +sha1 e080d91b707af6ad096e356189488ffd65115553 qtwebengine-opensource-src-5.5.0.tar.xz > +md5 1405a87ce84ba58478f98e89ec1e737e qtwebengine-opensource-src-5.5.0.tar.xz > diff --git a/package/qt5/qt5webengine/qt5webengine.mk b/package/qt5/qt5webengine/qt5webengine.mk > new file mode 100644 > index 0000000..d091c50 > --- /dev/null > +++ b/package/qt5/qt5webengine/qt5webengine.mk > @@ -0,0 +1,69 @@ > +################################################################################ > +# > +# qt5webengine > +# > +################################################################################ > + > +QT5WEBENGINE_VERSION = $(QT5_VERSION) > +QT5WEBENGINE_SITE = $(QT5_SITE) > +QT5WEBENGINE_SOURCE = qtwebengine-opensource-src-$(QT5WEBENGINE_VERSION).tar.xz > +QT5WEBENGINE_DEPENDENCIES = qt5base qt5declarative qt5webchannel libcap openssl host-gperf > +QT5WEBENGINE_INSTALL_STAGING = YES > + > +ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) > +QT5WEBENGINE_LICENSE = LGPLv2.1 with exception or LGPLv3 or GPLv2 > +# Source files contain references to LGPL_EXCEPTION.txt but it is not included > +# in the archive. > +QT5WEBENGINE_LICENSE_FILES = LICENSE.LGPLv21 LICENSE.LGPLv3 LICENSE.GPLv2 > +else > +QT5WEBENGINE_LICENSE = Commercial license > +QT5WEBENGINE_REDISTRIBUTE = NO > +endif > + > +ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y) > +QT5WEBENGINE_DEPENDENCIES += qt5declarative > +endif You already have qt5declarative in the list of mandatory dependencies above. So you really need to decide whether it's an optional dependency or not. > + > +define QT5WEBENGINE_CONFIGURE_CMDS > + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake) > +endef > + > +define QT5WEBENGINE_BUILD_CMDS > + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) > +endef > + > +define QT5WEBENGINE_INSTALL_STAGING_CMDS > + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install > + $(QT5_LA_PRL_FILES_FIXUP) > +endef > + > +ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y) > +define QT5WEBENGINE_INSTALL_TARGET_QMLS > + cp -dpfr $(STAGING_DIR)/usr/qml/QtWebEngine $(TARGET_DIR)/usr/qml/ > +endef > +endif > + > +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 -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/qtwebengine $(TARGET_DIR)/usr/lib/qt/plugins/ > + cp -dpf $(STAGING_DIR)/usr/libexec/QtWebEngineProcess $(TARGET_DIR)/usr/libexec/ > + cp -dpfr $(STAGING_DIR)/usr/translations/qtwebengine_locales $(TARGET_DIR)/usr/translations/ > + cp -dpf $(STAGING_DIR)/usr/qtwebengine_resources.pak $(TARGET_DIR)/usr/ > + # cp -dpf $(STAGING_DIR)/usr/icudtl.dat $(TARGET_DIR)/usr/ Line commented. Why? Thomas
Dear Thomas, It's look like I forget to send the cover letter for this series... I submited the qt webengine in hurry since you had the hackathon on the week-end and did not want you to review the v2 of qt5.5.0 integration. In the missing cover letter I explained that qtwebengine was an work in progress and should not be considered as a commit request. Instead of split qtwebengine in an other series I keep this one in qt5.5.0 bump series as it depend on it. Not sure it was a good idea... Le 19/07/2015 15:02, Thomas Petazzoni a écrit : > Dear Julien Corjon, > > On Fri, 10 Jul 2015 16:20:21 +0200, Julien Corjon wrote: > >> diff --git a/package/qt5/qt5webengine/0001-allow_all_linux_gxx.patch b/package/qt5/qt5webengine/0001-allow_all_linux_gxx.patch >> new file mode 100644 >> index 0000000..62c5a34 >> --- /dev/null >> +++ b/package/qt5/qt5webengine/0001-allow_all_linux_gxx.patch >> @@ -0,0 +1,16 @@ > > This patch lacks a description + Signed-off-by. Also, don't forget to > submit it upstream. > Ok, I will add a description and a Signed off in a v4. Also I'm not sure to submit it upstream since Yocto community tagged the (almost) same patch as 'Inappropriate [OE specific]'[1]. In the source file we can read : 'Qt WebEngine can currently only be built for Linux (GCC), Windows (MSVC 2013), OS X (XCode 5.1+) or Qt for Device Creation' [2] but Qt community intend to support embedded linux and embedded Android [3]. ... >> diff --git a/package/qt5/qt5webengine/0002-switch_float_abi_for_arm_to_hard.patch b/package/qt5/qt5webengine/0002-switch_float_abi_for_arm_to_hard.patch >> new file mode 100644 >> index 0000000..6210a13 >> --- /dev/null >> +++ b/package/qt5/qt5webengine/0002-switch_float_abi_for_arm_to_hard.patch >> @@ -0,0 +1,39 @@ >> +commit 779d02564f64654487db059f71c7e8257a851397 >> +Author: sbc <sbc@chromium.org> >> +Date: Sun May 17 16:52:45 2015 -0700 >> + >> + Switch default float-abi for ARM linux from softfp to hard >> + >> + All the ARM linux builders already specify this, and >> + armhf is the now the default for both Ubuntu and Debian. >> + >> + Followup cleanup cl for the bots: >> + https://codereview.chromium.org/1141643004/ >> + >> + BUG=308256 >> + >> + Review URL: https://codereview.chromium.org/1140503004 >> + >> + Cr-Original-Commit-Position: refs/heads/master@{#330316} >> + Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src >> + Cr-Mirrored-Commit: ff8ec298fd273181647ec4d94c032343382dbe57 > > Please add your Signed-off-by here as well, so that we know who > integrated it in Buildroot. > To be done in a v4 version. I realize afterwards that this patch will not apply 'as is' since it is from chromium project and the file does not have the same path in qt5webengine sources. > > diff --git a/package/qt5/qt5webengine/Config.in b/package/qt5/qt5webengine/Config.in >> new file mode 100644 >> index 0000000..39c087a >> --- /dev/null >> +++ b/package/qt5/qt5webengine/Config.in >> @@ -0,0 +1,19 @@ >> +config BR2_PACKAGE_QT5WEBENGINE >> + bool "qt5webengine" >> + select BR2_PACKAGE_QT5BASE >> + select BR2_PACKAGE_QT5BASE_GUI >> + select BR2_PACKAGE_QT5BASE_FONTCONFIG >> + select BR2_PACKAGE_QT5BASE_DBUS >> + select BR2_PACKAGE_QT5BASE_ICU >> + select BR2_PACKAGE_QT5WEBCHANNEL > > So you need qt5webchannel, so this patch should come *after* > qt5webchannel is added as a package in your series. > I messed-up with git (I had mixed rebase/amend on several branches) and did not find a way to force webchannel before webengine in patches order. >> + select BR2_PACKAGE_OPENSSL >> + select BR2_PACKAGE_LIBCAP >> + select BR2_PACKAGE_QT5DECLARATIVE >> + select BR2_PACKAGE_QT5DECLARATIVE_QUICK >> + help >> + Qt is a cross-platform application and UI framework for >> + developers using C++. >> + >> + This package corresponds to the qt5webengine module. >> + >> + http://qt.io >> diff --git a/package/qt5/qt5webengine/qt5webengine.hash b/package/qt5/qt5webengine/qt5webengine.hash >> new file mode 100644 >> index 0000000..b8c7e1d >> --- /dev/null >> +++ b/package/qt5/qt5webengine/qt5webengine.hash >> @@ -0,0 +1,4 @@ >> +# Hashes from: http://download.qt.io/official_releases/qt/5.5/5.5.0/submodules/qtwebengine-opensource-src-5.5.0.tar.xz.mirrorlist >> +sha256 d703e60838744283f9a3419bdd8708f2e01d3ed81f18aaadd713342033cbd65a qtwebengine-opensource-src-5.5.0.tar.xz >> +sha1 e080d91b707af6ad096e356189488ffd65115553 qtwebengine-opensource-src-5.5.0.tar.xz >> +md5 1405a87ce84ba58478f98e89ec1e737e qtwebengine-opensource-src-5.5.0.tar.xz >> diff --git a/package/qt5/qt5webengine/qt5webengine.mk b/package/qt5/qt5webengine/qt5webengine.mk >> new file mode 100644 >> index 0000000..d091c50 >> --- /dev/null >> +++ b/package/qt5/qt5webengine/qt5webengine.mk >> @@ -0,0 +1,69 @@ >> +################################################################################ >> +# >> +# qt5webengine >> +# >> +################################################################################ >> + >> +QT5WEBENGINE_VERSION = $(QT5_VERSION) >> +QT5WEBENGINE_SITE = $(QT5_SITE) >> +QT5WEBENGINE_SOURCE = qtwebengine-opensource-src-$(QT5WEBENGINE_VERSION).tar.xz >> +QT5WEBENGINE_DEPENDENCIES = qt5base qt5declarative qt5webchannel libcap openssl host-gperf >> +QT5WEBENGINE_INSTALL_STAGING = YES >> + >> +ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) >> +QT5WEBENGINE_LICENSE = LGPLv2.1 with exception or LGPLv3 or GPLv2 >> +# Source files contain references to LGPL_EXCEPTION.txt but it is not included >> +# in the archive. >> +QT5WEBENGINE_LICENSE_FILES = LICENSE.LGPLv21 LICENSE.LGPLv3 LICENSE.GPLv2 >> +else >> +QT5WEBENGINE_LICENSE = Commercial license >> +QT5WEBENGINE_REDISTRIBUTE = NO >> +endif >> + >> +ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y) >> +QT5WEBENGINE_DEPENDENCIES += qt5declarative >> +endif > > You already have qt5declarative in the list of mandatory dependencies > above. So you really need to decide whether it's an optional dependency > or not. > I'm not sure yet. >> + >> +define QT5WEBENGINE_CONFIGURE_CMDS >> + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake) >> +endef >> + >> +define QT5WEBENGINE_BUILD_CMDS >> + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) >> +endef >> + >> +define QT5WEBENGINE_INSTALL_STAGING_CMDS >> + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install >> + $(QT5_LA_PRL_FILES_FIXUP) >> +endef >> + >> +ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y) >> +define QT5WEBENGINE_INSTALL_TARGET_QMLS >> + cp -dpfr $(STAGING_DIR)/usr/qml/QtWebEngine $(TARGET_DIR)/usr/qml/ >> +endef >> +endif >> + >> +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 -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/qtwebengine $(TARGET_DIR)/usr/lib/qt/plugins/ >> + cp -dpf $(STAGING_DIR)/usr/libexec/QtWebEngineProcess $(TARGET_DIR)/usr/libexec/ >> + cp -dpfr $(STAGING_DIR)/usr/translations/qtwebengine_locales $(TARGET_DIR)/usr/translations/ >> + cp -dpf $(STAGING_DIR)/usr/qtwebengine_resources.pak $(TARGET_DIR)/usr/ >> + # cp -dpf $(STAGING_DIR)/usr/icudtl.dat $(TARGET_DIR)/usr/ > > Line commented. Why? Install on staging try to copy icudtl.dat but this file is not built. Since i don't know why, i keeped this line as comment for futher investigation. > > Thomas > [1] https://github.com/meta-qt5/meta-qt5/blob/master/recipes-qt/qt5/qtwebengine/0003-functions.prf-allow-build-for-linux-oe-g-platform.patch [2] https://github.com/qtproject/qtwebengine/blob/dev/tools/qmake/mkspecs/features/functions.prf [3] https://wiki.qt.io/QtWebEngine Regards Julien Corjon
Julien, On Mon, 20 Jul 2015 09:17:35 +0000, Julien CORJON wrote: > It's look like I forget to send the cover letter for this series... > I submited the qt webengine in hurry since you had the hackathon on the > week-end and did not want you to review the v2 of qt5.5.0 integration. > > In the missing cover letter I explained that qtwebengine was an work in > progress and should not be considered as a commit request. > > Instead of split qtwebengine in an other series I keep this one in > qt5.5.0 bump series as it depend on it. Not sure it was a good idea... Ok, then maybe your next version should only contain the Qt 5.5 bump, and then you can send the qt5webengine patch separately once you consider it ready. > > So you need qt5webchannel, so this patch should come *after* > > qt5webchannel is added as a package in your series. > > > > I messed-up with git (I had mixed rebase/amend on several branches) and > did not find a way to force webchannel before webengine in patches order. Just use 'git rebase -i'. It allows you to re-order your commits at any time. Thomas
Julien, Thomas, All, On Mon, Jul 20, 2015 at 11:25:15AM +0200, Thomas Petazzoni wrote: > Julien, > > On Mon, 20 Jul 2015 09:17:35 +0000, Julien CORJON wrote: > > > It's look like I forget to send the cover letter for this series... > > I submited the qt webengine in hurry since you had the hackathon on the > > week-end and did not want you to review the v2 of qt5.5.0 integration. > > > > In the missing cover letter I explained that qtwebengine was an work in > > progress and should not be considered as a commit request. > > > > Instead of split qtwebengine in an other series I keep this one in > > qt5.5.0 bump series as it depend on it. Not sure it was a good idea... > > Ok, then maybe your next version should only contain the Qt 5.5 bump, > and then you can send the qt5webengine patch separately once you > consider it ready. > > > > > So you need qt5webchannel, so this patch should come *after* > > > qt5webchannel is added as a package in your series. > > > > > > > I messed-up with git (I had mixed rebase/amend on several branches) and > > did not find a way to force webchannel before webengine in patches order. > > Just use 'git rebase -i'. It allows you to re-order your commits at any > time. Any update on this package? I'm asking since webkit is declared as deprecated/legacy without an alternative. Let me know if I can be of any help. Regards, Gary
Gary, On Wed, 23 Dec 2015 10:40:50 +0100, Gary Bisson wrote: > Any update on this package? I'm asking since webkit is declared as > deprecated/legacy without an alternative. Let me know if I can be of any > help. Right now, there is no longer any qt5webengine patch pending in patchwork, so we're waiting for someone to resend an updated version of the patch. If you have some time, and Julien Corjon agrees, maybe you can adopt his patch? Thanks, Thomas
Gary, Le 23/12/2015 10:49, Thomas Petazzoni a écrit : > Gary, > > On Wed, 23 Dec 2015 10:40:50 +0100, Gary Bisson wrote: > >> Any update on this package? I'm asking since webkit is declared as >> deprecated/legacy without an alternative. Let me know if I can be of any >> help. I did not work on this qt module since my previous post. And QtWebkit will be removed in Qt 5.6.0 released package (but sources will be still available [1]) > > Right now, there is no longer any qt5webengine patch pending in > patchwork, so we're waiting for someone to resend an updated version of > the patch. > > If you have some time, and Julien Corjon agrees, maybe you can adopt > his patch? Sure, you can adopt my patch and make every modifications needed to make it work :-) With the release of Qt 5.6.0-beta I have start a branch to take a look on status of pending Qt patch and evaluate the integration effort of the 'new/not integrated yet' modules in Buildroot (canvas3D, location, QuickControl2, Wayland, WebEngine, WebView). Regards, Julien > > Thanks, > > Thomas > [1] https://wiki.qt.io/New_Features_in_Qt_5.6
Julien, Thomas, All, Thanks for the quick replies. On Wed, Dec 23, 2015 at 11:15 AM, Julien CORJON <corjon.j@ecagroup.com> wrote: > Gary, > > Le 23/12/2015 10:49, Thomas Petazzoni a écrit : >> Gary, >> >> On Wed, 23 Dec 2015 10:40:50 +0100, Gary Bisson wrote: >> >>> Any update on this package? I'm asking since webkit is declared as >>> deprecated/legacy without an alternative. Let me know if I can be of any >>> help. > > I did not work on this qt module since my previous post. And QtWebkit > will be removed in Qt 5.6.0 released package (but sources will be still > available [1]) > >> >> Right now, there is no longer any qt5webengine patch pending in >> patchwork, so we're waiting for someone to resend an updated version of >> the patch. >> >> If you have some time, and Julien Corjon agrees, maybe you can adopt >> his patch? > > Sure, you can adopt my patch and make every modifications needed to make > it work :-) Ok I'll look at it when I have time. I definitely would like to see the package for next release. Not sure I'll be able to submit anything before next year though. Regarding the current patch, I'm not sure about the armhf patch, does it default to armhf all the time (except when OS=android) even if the toolchain doesn't support it? Also dependencies need some work since this package implicitly depend on OpenGL, so the select of BR2_PACKAGE_QT5DECLARATIVE_QUICK can fail currently. > With the release of Qt 5.6.0-beta I have start a branch to take a look > on status of pending Qt patch and evaluate the integration effort of the > 'new/not integrated yet' modules in Buildroot (canvas3D, location, > QuickControl2, Wayland, WebEngine, WebView). I don't feel brave enough to look at all those items, that's for sure. I'll let you know once I've spent some time on webengine. Regards, Gary
Gary, Le 23/12/2015 15:21, Gary Bisson a écrit : > Julien, Thomas, All, > > Thanks for the quick replies. > > On Wed, Dec 23, 2015 at 11:15 AM, Julien CORJON <corjon.j@ecagroup.com> wrote: >> Gary, >> >> Le 23/12/2015 10:49, Thomas Petazzoni a écrit : >>> Gary, >>> >>> On Wed, 23 Dec 2015 10:40:50 +0100, Gary Bisson wrote: >>> >>>> Any update on this package? I'm asking since webkit is declared as >>>> deprecated/legacy without an alternative. Let me know if I can be of any >>>> help. >> >> I did not work on this qt module since my previous post. And QtWebkit >> will be removed in Qt 5.6.0 released package (but sources will be still >> available [1]) >> >>> >>> Right now, there is no longer any qt5webengine patch pending in >>> patchwork, so we're waiting for someone to resend an updated version of >>> the patch. >>> >>> If you have some time, and Julien Corjon agrees, maybe you can adopt >>> his patch? >> >> Sure, you can adopt my patch and make every modifications needed to make >> it work :-) > > Ok I'll look at it when I have time. I definitely would like to see > the package for next release. Not sure I'll be able to submit anything > before next year though. Chromium is not an easy one. I give up because I didn't had enough time and skill... > > Regarding the current patch, I'm not sure about the armhf patch, does > it default to armhf all the time (except when OS=android) even if the > toolchain doesn't support it? It default to armhf for arm7 even if the toolchain doesn't support it. It had some issue to compile with the linaro toolchain so i took this patch from chromium. > Also dependencies need some work since this package implicitly depend > on OpenGL, so the select of BR2_PACKAGE_QT5DECLARATIVE_QUICK can fail > currently. Indeed > >> With the release of Qt 5.6.0-beta I have start a branch to take a look >> on status of pending Qt patch and evaluate the integration effort of the >> 'new/not integrated yet' modules in Buildroot (canvas3D, location, >> QuickControl2, Wayland, WebEngine, WebView). > > I don't feel brave enough to look at all those items, that's for sure. > I'll let you know once I've spent some time on webengine. > > Regards, > Gary >
diff --git a/package/qt5/Config.in b/package/qt5/Config.in index 737a789..4cce323 100644 --- a/package/qt5/Config.in +++ b/package/qt5/Config.in @@ -40,6 +40,7 @@ source "package/qt5/qt5quickcontrols/Config.in" source "package/qt5/qt5sensors/Config.in" source "package/qt5/qt5serialport/Config.in" source "package/qt5/qt5svg/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-allow_all_linux_gxx.patch b/package/qt5/qt5webengine/0001-allow_all_linux_gxx.patch new file mode 100644 index 0000000..62c5a34 --- /dev/null +++ b/package/qt5/qt5webengine/0001-allow_all_linux_gxx.patch @@ -0,0 +1,16 @@ +Index: qt5webengine-5.5.0/tools/qmake/mkspecs/features/functions.prf +=================================================================== +--- qt5webengine-5.5.0.orig/tools/qmake/mkspecs/features/functions.prf ++++ qt5webengine-5.5.0/tools/qmake/mkspecs/features/functions.prf +@@ -12,9 +12,9 @@ defineTest(isPlatformSupported) { + return(false) + } + +- linux-g++*:!isGCCVersionSupported(): return(false) ++ linux*g++*:!isGCCVersionSupported(): return(false) + !isPythonVersionSupported(): return(false) +- linux-g++*|win32-msvc2013|macx-clang: return(true) ++ linux*g++*|win32-msvc2013|macx-clang: return(true) + boot2qt: return(true) + + skipBuild("Qt WebEngine can currently only be built for Linux (GCC), Windows (MSVC 2013), OS X (XCode 5.1+) or Qt for Device Creation.") diff --git a/package/qt5/qt5webengine/0002-switch_float_abi_for_arm_to_hard.patch b/package/qt5/qt5webengine/0002-switch_float_abi_for_arm_to_hard.patch new file mode 100644 index 0000000..6210a13 --- /dev/null +++ b/package/qt5/qt5webengine/0002-switch_float_abi_for_arm_to_hard.patch @@ -0,0 +1,39 @@ +commit 779d02564f64654487db059f71c7e8257a851397 +Author: sbc <sbc@chromium.org> +Date: Sun May 17 16:52:45 2015 -0700 + + Switch default float-abi for ARM linux from softfp to hard + + All the ARM linux builders already specify this, and + armhf is the now the default for both Ubuntu and Debian. + + Followup cleanup cl for the bots: + https://codereview.chromium.org/1141643004/ + + BUG=308256 + + Review URL: https://codereview.chromium.org/1140503004 + + Cr-Original-Commit-Position: refs/heads/master@{#330316} + Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src + Cr-Mirrored-Commit: ff8ec298fd273181647ec4d94c032343382dbe57 + +diff --git a/common.gypi b/common.gypi +index cd9f5b7..2f5ea2d 100644 +--- a/common.gypi ++++ b/common.gypi +@@ -2311,9 +2311,12 @@ + }, { + 'arm_fpu%': 'vfpv3-d16', + }], ++ ['OS=="android"', { ++ 'arm_float_abi%': 'softfp', ++ }, { ++ 'arm_float_abi%': 'hard', ++ }], + ], +- # Change the default to hard once the armhf transition is complete. +- 'arm_float_abi%': 'softfp', + 'arm_thumb%': 1, + }], + diff --git a/package/qt5/qt5webengine/Config.in b/package/qt5/qt5webengine/Config.in new file mode 100644 index 0000000..39c087a --- /dev/null +++ b/package/qt5/qt5webengine/Config.in @@ -0,0 +1,19 @@ +config BR2_PACKAGE_QT5WEBENGINE + bool "qt5webengine" + select BR2_PACKAGE_QT5BASE + select BR2_PACKAGE_QT5BASE_GUI + select BR2_PACKAGE_QT5BASE_FONTCONFIG + select BR2_PACKAGE_QT5BASE_DBUS + select BR2_PACKAGE_QT5BASE_ICU + select BR2_PACKAGE_QT5WEBCHANNEL + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBCAP + select BR2_PACKAGE_QT5DECLARATIVE + select BR2_PACKAGE_QT5DECLARATIVE_QUICK + help + Qt is a cross-platform application and UI framework for + developers using C++. + + This package corresponds to the qt5webengine module. + + http://qt.io diff --git a/package/qt5/qt5webengine/qt5webengine.hash b/package/qt5/qt5webengine/qt5webengine.hash new file mode 100644 index 0000000..b8c7e1d --- /dev/null +++ b/package/qt5/qt5webengine/qt5webengine.hash @@ -0,0 +1,4 @@ +# Hashes from: http://download.qt.io/official_releases/qt/5.5/5.5.0/submodules/qtwebengine-opensource-src-5.5.0.tar.xz.mirrorlist +sha256 d703e60838744283f9a3419bdd8708f2e01d3ed81f18aaadd713342033cbd65a qtwebengine-opensource-src-5.5.0.tar.xz +sha1 e080d91b707af6ad096e356189488ffd65115553 qtwebengine-opensource-src-5.5.0.tar.xz +md5 1405a87ce84ba58478f98e89ec1e737e qtwebengine-opensource-src-5.5.0.tar.xz diff --git a/package/qt5/qt5webengine/qt5webengine.mk b/package/qt5/qt5webengine/qt5webengine.mk new file mode 100644 index 0000000..d091c50 --- /dev/null +++ b/package/qt5/qt5webengine/qt5webengine.mk @@ -0,0 +1,69 @@ +################################################################################ +# +# qt5webengine +# +################################################################################ + +QT5WEBENGINE_VERSION = $(QT5_VERSION) +QT5WEBENGINE_SITE = $(QT5_SITE) +QT5WEBENGINE_SOURCE = qtwebengine-opensource-src-$(QT5WEBENGINE_VERSION).tar.xz +QT5WEBENGINE_DEPENDENCIES = qt5base qt5declarative qt5webchannel libcap openssl host-gperf +QT5WEBENGINE_INSTALL_STAGING = YES + +ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) +QT5WEBENGINE_LICENSE = LGPLv2.1 with exception or LGPLv3 or GPLv2 +# Source files contain references to LGPL_EXCEPTION.txt but it is not included +# in the archive. +QT5WEBENGINE_LICENSE_FILES = LICENSE.LGPLv21 LICENSE.LGPLv3 LICENSE.GPLv2 +else +QT5WEBENGINE_LICENSE = Commercial license +QT5WEBENGINE_REDISTRIBUTE = NO +endif + +ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y) +QT5WEBENGINE_DEPENDENCIES += qt5declarative +endif + +define QT5WEBENGINE_CONFIGURE_CMDS + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake) +endef + +define QT5WEBENGINE_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define QT5WEBENGINE_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install + $(QT5_LA_PRL_FILES_FIXUP) +endef + +ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y) +define QT5WEBENGINE_INSTALL_TARGET_QMLS + cp -dpfr $(STAGING_DIR)/usr/qml/QtWebEngine $(TARGET_DIR)/usr/qml/ +endef +endif + +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 -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/qtwebengine $(TARGET_DIR)/usr/lib/qt/plugins/ + cp -dpf $(STAGING_DIR)/usr/libexec/QtWebEngineProcess $(TARGET_DIR)/usr/libexec/ + cp -dpfr $(STAGING_DIR)/usr/translations/qtwebengine_locales $(TARGET_DIR)/usr/translations/ + cp -dpf $(STAGING_DIR)/usr/qtwebengine_resources.pak $(TARGET_DIR)/usr/ + # cp -dpf $(STAGING_DIR)/usr/icudtl.dat $(TARGET_DIR)/usr/ +endef +endif + +define QT5WEBENGINE_INSTALL_TARGET_CMDS + $(QT5WEBENGINE_INSTALL_TARGET_LIBS) + $(QT5WEBENGINE_INSTALL_TARGET_QMLS) + $(QT5WEBENGINE_INSTALL_TARGET_EXAMPLES) +endef + +$(eval $(generic-package))
Signed-off-by: Julien Corjon <corjon.j@ecagroup.com> --- package/qt5/Config.in | 1 + .../qt5webengine/0001-allow_all_linux_gxx.patch | 16 +++++ .../0002-switch_float_abi_for_arm_to_hard.patch | 39 ++++++++++++ package/qt5/qt5webengine/Config.in | 19 ++++++ package/qt5/qt5webengine/qt5webengine.hash | 4 ++ package/qt5/qt5webengine/qt5webengine.mk | 69 ++++++++++++++++++++++ 6 files changed, 148 insertions(+) create mode 100644 package/qt5/qt5webengine/0001-allow_all_linux_gxx.patch create mode 100644 package/qt5/qt5webengine/0002-switch_float_abi_for_arm_to_hard.patch create mode 100644 package/qt5/qt5webengine/Config.in create mode 100644 package/qt5/qt5webengine/qt5webengine.hash create mode 100644 package/qt5/qt5webengine/qt5webengine.mk