Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Julien CORJON <corjon.j@ecagroup.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v3 4/5] qt5webengine: new package
Date: Mon, 20 Jul 2015 09:17:35 +0000	[thread overview]
Message-ID: <55ACBCAF.6050404@ecagroup.com> (raw)
In-Reply-To: <20150719150236.422b5b79@free-electrons.com>

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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: corjon_j.vcf
Type: text/x-vcard
Size: 428 bytes
Desc: corjon_j.vcf
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20150720/f9f94307/attachment.vcf>

  reply	other threads:[~2015-07-20  9:17 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-08 18:35 [Buildroot] [PATCH v2 1/3] qt5: bump version to 5.5.0 Julien Corjon
2015-07-08 18:35 ` [Buildroot] [PATCH v2 2/3] qt5base: reorder patches Julien Corjon
2015-07-08 18:35 ` [Buildroot] [PATCH v2 3/3] qt5quick1, qt5script, qt5webkit: tag as legacy compatibility Julien Corjon
2015-07-10 14:20   ` [Buildroot] [PATCH v3 1/5] qt5: bump version to 5.5.0 Julien Corjon
2015-07-10 14:20     ` [Buildroot] [PATCH v3 2/5] qt5base: reorder patches Julien Corjon
2015-07-10 14:20     ` [Buildroot] [PATCH v3 3/5] qt5quick1, qt5script, qt5webkit: tag as legacy compatibility Julien Corjon
2015-07-10 14:20     ` [Buildroot] [PATCH v3 4/5] qt5webengine: new package Julien Corjon
2015-07-19 13:02       ` Thomas Petazzoni
2015-07-20  9:17         ` Julien CORJON [this message]
2015-07-20  9:25           ` Thomas Petazzoni
2015-12-23  9:40             ` Gary Bisson
2015-12-23  9:49               ` Thomas Petazzoni
2015-12-23 10:15                 ` Julien CORJON
2015-12-23 14:21                   ` Gary Bisson
2015-12-23 15:04                     ` Julien CORJON
2015-07-10 14:20     ` [Buildroot] [PATCH v3 5/5] qt/qt5webchannel: " Julien Corjon
2015-07-21  8:51     ` [Buildroot] [PATCH v4 0/4] qt5 bump to 5.5.0 Julien Corjon
2015-07-21  8:51       ` [Buildroot] [PATCH v4 1/4] qt5: bump version " Julien Corjon
2015-07-21  9:13         ` Thomas Petazzoni
2015-07-21  8:51       ` [Buildroot] [PATCH v4 2/4] qt/qt5base: reorder patches Julien Corjon
2015-07-21  8:51       ` [Buildroot] [PATCH v4 3/4] qt/qt5quick1, qt/qt5script, qt/qt5webkit: tag as legacy compatibility Julien Corjon
2015-07-21  8:51       ` [Buildroot] [PATCH v4 4/4] qt/qt5webchannel: new package Julien Corjon
2015-07-21 11:30       ` [Buildroot] [PATCH v5 0/4] qt5 bump to 5.5.0 Julien Corjon
2015-07-21 11:30         ` [Buildroot] [PATCH v5 1/4] qt5: bump version " Julien Corjon
2015-07-21 11:30         ` [Buildroot] [PATCH v5 2/4] qt/qt5base: reorder patches Julien Corjon
2015-07-21 11:30         ` [Buildroot] [PATCH v5 3/4] qt/qt5quick1, qt/qt5script, qt/qt5webkit: tag as legacy compatibility Julien Corjon
2015-07-21 11:30         ` [Buildroot] [PATCH v5 4/4] qt/qt5webchannel: new package Julien Corjon
2015-07-21 21:41         ` [Buildroot] [PATCH v5 0/4] qt5 bump to 5.5.0 Thomas Petazzoni
2015-07-19 21:22 ` [Buildroot] [PATCH v2 1/3] qt5: bump version " Thomas Petazzoni
2015-07-20 11:07   ` Julien CORJON

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55ACBCAF.6050404@ecagroup.com \
    --to=corjon.j@ecagroup.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox