[Buildroot] [PATCH v1] qt5quickcontrols2: new package

Peter Seiderer ps.report at gmx.net
Tue Mar 29 19:22:16 UTC 2016


Hello Julien,

On Tue, 29 Mar 2016 15:09:44 +0000, Julien CORJON <corjon.j at ecagroup.com> wrote:

> Peter, All,
> 
> I'm also working on this package today and i think you may copy/paste 
> QtQuickControls a bit fasten. QtQuickcontrols2 is not a fork of 
> QtQuickControls but it have been rewritten from scratch [1].
> 

Thanks for the tech background hint...

> Le 29/03/2016 15:45, Peter Seiderer a écrit :
> > Signed-off-by: Peter Seiderer <ps.report at gmx.net>
> > ---
> >   package/qt5/Config.in                              |  1 +
> >   package/qt5/qt5quickcontrols2/Config.in            | 17 ++++++++++
> >   .../qt5/qt5quickcontrols2/qt5quickcontrols2.hash   |  2 ++
> >   package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk | 37 ++++++++++++++++++++++
> >   4 files changed, 57 insertions(+)
> >   create mode 100644 package/qt5/qt5quickcontrols2/Config.in
> >   create mode 100644 package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash
> >   create mode 100644 package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk
> >
> > diff --git a/package/qt5/Config.in b/package/qt5/Config.in
> > index f673daa..1db14c9 100644
> > --- a/package/qt5/Config.in
> > +++ b/package/qt5/Config.in
> > @@ -39,6 +39,7 @@ source "package/qt5/qt5graphicaleffects/Config.in"
> >   source "package/qt5/qt5imageformats/Config.in"
> >   source "package/qt5/qt5multimedia/Config.in"
> >   source "package/qt5/qt5quickcontrols/Config.in"
> > +source "package/qt5/qt5quickcontrols2/Config.in"
> 
> QtQuickControls2 is a "tech-preview" [2] and it may change a lot for a 
> production environment. You should include this module at the end with a 
> comment "technology preview".
> 

O.k., will do....

> >   source "package/qt5/qt5sensors/Config.in"
> >   source "package/qt5/qt5serialport/Config.in"
> >   source "package/qt5/qt5svg/Config.in"
> > diff --git a/package/qt5/qt5quickcontrols2/Config.in b/package/qt5/qt5quickcontrols2/Config.in
> > new file mode 100644
> > index 0000000..c9ce9a4
> > --- /dev/null
> > +++ b/package/qt5/qt5quickcontrols2/Config.in
> > @@ -0,0 +1,17 @@
> > +config BR2_PACKAGE_QT5QUICKCONTROLS2
> > +	bool "qt5quickcontrols2"
> > +	select BR2_PACKAGE_QT5DECLARATIVE
> > +	select BR2_PACKAGE_QT5DECLARATIVE_QUICK
> 
> I'm not sure but i think that QtQuickControls2 can be built without 
> QtQuick (despite package name) because developers announce the pure C++ 
> logic layer[1].

From qt5quickcontrols2-5.6.0/qtquickcontrols2.pro:

  requires(qtHaveModule(quick))

> 
> > +	depends on BR2_PACKAGE_QT5_GL_AVAILABLE
> > +	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
> 
> !i'm not sure but I did not see any dependency to GL nor JSCORE in the 
> qtquickcontrols2 sources yet.

Dependency propagated from BR2_PACKAGE_QT5DECLARATIVE/BR2_PACKAGE_QT5DECLARATIVE_QUICK,
should add a comment for this...

> 
> > +	help
> > +	  Qt is a cross-platform application and UI framework for
> > +	  developers using C++.
> > +
> > +	  This package corresponds to the qt5quickcontrols2 module.
> > +
> > +	  http://qt.io
> > +
> > +comment "qt5quickcontrols2 needs an OpenGL-capable backend"
> > +	depends on !BR2_PACKAGE_QT5_GL_AVAILABLE
> > +	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
> > diff --git a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash
> > new file mode 100644
> > index 0000000..aaf8fcf
> > --- /dev/null
> > +++ b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash
> > @@ -0,0 +1,2 @@
> > +# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.0/submodules/qtquickcontrols2-opensource-src-5.6.0.tar.xz.mirrorlist
> > +sha256 59ec6ea2282931bc0d0748b3979a52e1a322e7ef8d1e5490b8a34931e8b9fee0 qtquickcontrols2-opensource-src-5.6.0.tar.xz
> > diff --git a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk
> > new file mode 100644
> > index 0000000..820c239
> > --- /dev/null
> > +++ b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk
> > @@ -0,0 +1,37 @@
> > +################################################################################
> > +#
> > +# qt5quickcontrols2
> > +#
> > +################################################################################
> > +
> > +QT5QUICKCONTROLS2_VERSION = $(QT5_VERSION)
> > +QT5QUICKCONTROLS2_SITE = $(QT5_SITE)
> > +QT5QUICKCONTROLS2_SOURCE = qtquickcontrols2-opensource-src-$(QT5QUICKCONTROLS2_VERSION).tar.xz
> > +QT5QUICKCONTROLS2_DEPENDENCIES = qt5base qt5declarative
> > +QT5QUICKCONTROLS2_INSTALL_STAGING = YES
> > +
> > +ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
> > +QT5QUICKCONTROLS2_LICENSE = GPLv3 or LGPLv3, GFDLv1.3 (docs)
> > +QT5QUICKCONTROLS2_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv3 LICENSE.FDL
> > +else
> > +QT5QUICKCONTROLS2_LICENSE = Commercial license
> > +QT5QUICKCONTROLS2_REDISTRIBUTE = NO
> > +endif
> > +
> > +define QT5QUICKCONTROLS2_CONFIGURE_CMDS
> > +	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
> > +endef
> > +
> > +define QT5QUICKCONTROLS2_BUILD_CMDS
> > +	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
> > +endef
> > +
> > +define QT5QUICKCONTROLS2_INSTALL_STAGING_CMDS
> > +	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
> > +endef
> > +
> > +define QT5QUICKCONTROLS2_INSTALL_TARGET_CMDS
> > +	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick.2 $(TARGET_DIR)/usr/qml
> 
> I don't find any reference to /usr/qml/QtQuick.2 in the qtquickcontrols2 
> package.

Ups, messed this up.., QtQuick.2 is from qt5declarative-5.6.0...

> I found /usr/qml/Qt/labs and /usr/lib/libQt5LabsTemplates.so.* (take a 
> look on staging install step) [3]
> 

The qml part seems to be

 $(STAGING_DIR)/usr/qml/Qt/labs/controls, calendar and templates

some other directories are from qt5declarative-5.6.0, eg. folderlistmodel and settings

Yes, I missed the libQt5LabsTemplates.so.*, will add..

Thanks for review...

Regards,
Peter

 
> > +endefcontrols/
> > +
> > +$(eval $(generic-package))
> >
> 
> [1] 
> http://blog.qt.io/blog/2015/11/23/qt-quick-controls-re-engineered-status-update/
> [2] http://wiki.qt.io/New_Features_in_Qt_5.6
> [3] http://doc.qt.io/qt-5/qtlabstemplates-index.html
> 
> Regards,
> 
> Julien Corjon



More information about the buildroot mailing list