diff mbox

package: add qt5virtualkeyboard

Message ID 20170317164628.5029-1-gael.portay@savoirfairelinux.com
State Changes Requested
Headers show

Commit Message

Gaël PORTAY March 17, 2017, 4:46 p.m. UTC
This patch adds the Qt virtualkeyboard package.

Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
---
 package/qt5/Config.in                              |  1 +
 package/qt5/qt5virtualkeyboard/Config.in           |  9 +++++++
 .../qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk   | 31 ++++++++++++++++++++++
 3 files changed, 41 insertions(+)
 create mode 100644 package/qt5/qt5virtualkeyboard/Config.in
 create mode 100644 package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk

Comments

Thomas Petazzoni March 18, 2017, 2:22 p.m. UTC | #1
Hello,

Peter, could you help by reviewing this patch touching qt5 stuff?

Thanks a lot!

Thomas

On Fri, 17 Mar 2017 12:46:28 -0400, Gaël PORTAY wrote:
> This patch adds the Qt virtualkeyboard package.
> 
> Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
> ---
>  package/qt5/Config.in                              |  1 +
>  package/qt5/qt5virtualkeyboard/Config.in           |  9 +++++++
>  .../qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk   | 31 ++++++++++++++++++++++
>  3 files changed, 41 insertions(+)
>  create mode 100644 package/qt5/qt5virtualkeyboard/Config.in
>  create mode 100644 package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk
> 
> diff --git a/package/qt5/Config.in b/package/qt5/Config.in
> index 4bcbc6e..a810503 100644
> --- a/package/qt5/Config.in
> +++ b/package/qt5/Config.in
> @@ -76,6 +76,7 @@ source "package/qt5/qt5serialbus/Config.in"
>  source "package/qt5/qt5serialport/Config.in"
>  source "package/qt5/qt5svg/Config.in"
>  source "package/qt5/qt5tools/Config.in"
> +source "package/qt5/qt5virtualkeyboard/Config.in"
>  source "package/qt5/qt5webchannel/Config.in"
>  source "package/qt5/qt5webkit/Config.in"
>  source "package/qt5/qt5websockets/Config.in"
> diff --git a/package/qt5/qt5virtualkeyboard/Config.in b/package/qt5/qt5virtualkeyboard/Config.in
> new file mode 100644
> index 0000000..df9e9d6
> --- /dev/null
> +++ b/package/qt5/qt5virtualkeyboard/Config.in
> @@ -0,0 +1,9 @@
> +config BR2_PACKAGE_QT5VIRTUALKEYBOARD
> +	bool "qt5virtualkeyboard"
> +	depends on BR2_PACKAGE_QT5DECLARATIVE_QUICK
> +	select BR2_PACKAGE_QT5SVG
> +	help
> +	  Qt Virtual Keyboard is a virtual keyboard framework that consists of a
> +	  C++ backend supporting custom input methods as well as a UI frontend
> +	  implemented in QML.
> +
> diff --git a/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk
> new file mode 100644
> index 0000000..e73a154
> --- /dev/null
> +++ b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk
> @@ -0,0 +1,31 @@
> +################################################################################
> +#
> +# qt5virtualkeyboard
> +#
> +################################################################################
> +
> +QT5VIRTUALKEYBOARD_VERSION = $(QT5_VERSION)
> +QT5VIRTUALKEYBOARD_SITE = $(QT5_SITE)
> +QT5VIRTUALKEYBOARD_SOURCE = qtvirtualkeyboard-opensource-src-$(QT5VIRTUALKEYBOARD_VERSION).tar.xz
> +QT5VIRTUALKEYBOARD_DEPENDENCIES = qt5base qt5declarative qt5svg
> +QT5VIRTUALKEYBOARD_INSTALL_STAGING = YES
> +
> +QT5VIRTUALKEYBOARD_LICENSE = GPLv3
> +QT5VIRTUALKEYBOARD_LICENSE_FILES = LICENSE.GPL3
> +define QT5VIRTUALKEYBOARD_CONFIGURE_CMDS
> +	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
> +endef
> +
> +define QT5VIRTUALKEYBOARD_BUILD_CMDS
> +	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
> +endef
> +
> +define QT5VIRTUALKEYBOARD_INSTALL_STAGING_CMDS
> +	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
> +endef
> +
> +define QT5VIRTUALKEYBOARD_INSTALL_TARGET_CMDS
> +	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/VirtualKeyboard $(TARGET_DIR)/usr/qml/QtQuick
> +endef
> +
> +$(eval $(generic-package))
Gaël PORTAY March 20, 2017, 2:20 p.m. UTC | #2
Hi Thomas,

On Sat, Mar 18, 2017 at 03:22:35PM +0100, Thomas Petazzoni wrote:
> Hello,
> 
> Peter, could you help by reviewing this patch touching qt5 stuff?
> 
> Thanks a lot!
> 
> Thomas
> 
> On Fri, 17 Mar 2017 12:46:28 -0400, Gaël PORTAY wrote:
> > This patch adds the Qt virtualkeyboard package.
> > 
> > Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
> > ---
> >  package/qt5/Config.in                              |  1 +
> >  package/qt5/qt5virtualkeyboard/Config.in           |  9 +++++++
> >  .../qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk   | 31 ++++++++++++++++++++++
> >  3 files changed, 41 insertions(+)
> >  create mode 100644 package/qt5/qt5virtualkeyboard/Config.in
> >  create mode 100644 package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk

Oops, the hash file is missing here...

> > 
> > diff --git a/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk
> > new file mode 100644
> > index 0000000..e73a154
> > --- /dev/null
> > +++ b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk
> > @@ -0,0 +1,31 @@
> > +################################################################################
> > +#
> > +# qt5virtualkeyboard
> > +#
> > +################################################################################
> > +
> > +QT5VIRTUALKEYBOARD_VERSION = $(QT5_VERSION)
> > +QT5VIRTUALKEYBOARD_SITE = $(QT5_SITE)
> > +QT5VIRTUALKEYBOARD_SOURCE = qtvirtualkeyboard-opensource-src-$(QT5VIRTUALKEYBOARD_VERSION).tar.xz
> > +QT5VIRTUALKEYBOARD_DEPENDENCIES = qt5base qt5declarative qt5svg
> > +QT5VIRTUALKEYBOARD_INSTALL_STAGING = YES
> > +

Here, I think I should also add this if statement about license:

ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
> > +QT5VIRTUALKEYBOARD_LICENSE = GPLv3
> > +QT5VIRTUALKEYBOARD_LICENSE_FILES = LICENSE.GPL3
else
QT5VIRTUALKEYBOARD_LICENSE = Commercial license
QT5VIRTUALKEYBOARD_LICENSE_FILES = NO
endif

> > +define QT5VIRTUALKEYBOARD_CONFIGURE_CMDS
> > +	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
> > +endef
> > +
> > +define QT5VIRTUALKEYBOARD_BUILD_CMDS
> > +	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
> > +endef
> > +
> > +define QT5VIRTUALKEYBOARD_INSTALL_STAGING_CMDS
> > +	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
> > +endef
> > +
> > +define QT5VIRTUALKEYBOARD_INSTALL_TARGET_CMDS
> > +	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/VirtualKeyboard $(TARGET_DIR)/usr/qml/QtQuick
> > +endef
> > +
> > +$(eval $(generic-package))
> 

Also, I am working of installing language layouts.

For now, Chinese, Korean and Japanese layouts do no work properly; others are
fined.

About the integration of a selection of layouts, I cannot make the decision
between a select or a string kconfig entry. I think the string entry has the
advantage to not to have to maintain a hardcoded list; this list would evoluate
between Qt versions...

Would you prefer a select or a string?

Regards,
Gael
Thomas Petazzoni March 20, 2017, 2:46 p.m. UTC | #3
Hello,

Thanks for reviewing your own patch :)

On Mon, 20 Mar 2017 10:20:05 -0400, Gaël PORTAY wrote:

> Also, I am working of installing language layouts.
> 
> For now, Chinese, Korean and Japanese layouts do no work properly; others are
> fined.
> 
> About the integration of a selection of layouts, I cannot make the decision
> between a select or a string kconfig entry. I think the string entry has the
> advantage to not to have to maintain a hardcoded list; this list would evoluate
> between Qt versions...
> 
> Would you prefer a select or a string?

Yes, a string is better, with a default value of having say just
english installed.

Regarding Chinese, Korean and Japanese, if you don't need them, and you
leave them as non-working, it's fine with me. People interested can
always build on top of what you did, and fix the issue with those
languages. We don't require a package that supports all options and
possibilities.

Thanks,

Thomas
Peter Seiderer March 20, 2017, 8:33 p.m. UTC | #4
Hello Gaël,

some additions to your own findings...

On Fri, 17 Mar 2017 12:46:28 -0400, Gaël PORTAY <gael.portay@savoirfairelinux.com> wrote:

> This patch adds the Qt virtualkeyboard package.
> 
> Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
> ---
>  package/qt5/Config.in                              |  1 +
>  package/qt5/qt5virtualkeyboard/Config.in           |  9 +++++++
>  .../qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk   | 31 ++++++++++++++++++++++
>  3 files changed, 41 insertions(+)
>  create mode 100644 package/qt5/qt5virtualkeyboard/Config.in
>  create mode 100644 package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk
> 
> diff --git a/package/qt5/Config.in b/package/qt5/Config.in
> index 4bcbc6e..a810503 100644
> --- a/package/qt5/Config.in
> +++ b/package/qt5/Config.in
> @@ -76,6 +76,7 @@ source "package/qt5/qt5serialbus/Config.in"
>  source "package/qt5/qt5serialport/Config.in"
>  source "package/qt5/qt5svg/Config.in"
>  source "package/qt5/qt5tools/Config.in"
> +source "package/qt5/qt5virtualkeyboard/Config.in"
>  source "package/qt5/qt5webchannel/Config.in"
>  source "package/qt5/qt5webkit/Config.in"
>  source "package/qt5/qt5websockets/Config.in"
> diff --git a/package/qt5/qt5virtualkeyboard/Config.in b/package/qt5/qt5virtualkeyboard/Config.in
> new file mode 100644
> index 0000000..df9e9d6
> --- /dev/null
> +++ b/package/qt5/qt5virtualkeyboard/Config.in
> @@ -0,0 +1,9 @@
> +config BR2_PACKAGE_QT5VIRTUALKEYBOARD
> +	bool "qt5virtualkeyboard"

Needs 

	depends on BR2_PACKAGE_QT5_VERSION_LATEST

or some non-standard download location in case qt5virtualkeyboard is although
availabe for qt-5.6.2?

> +	depends on BR2_PACKAGE_QT5DECLARATIVE_QUICK
> +	select BR2_PACKAGE_QT5SVG
> +	help
> +	  Qt Virtual Keyboard is a virtual keyboard framework that consists of a
> +	  C++ backend supporting custom input methods as well as a UI frontend
> +	  implemented in QML.
> +

Maybe mention the GPLv3 only license here?

And some comment in case the dependencies are not given:

	comment "qt5virtualkeyboard needs at least qt-5.8.0 and qt5declarative quick module"
	       depends on !BR2_PACKAGE_QT5_VERSION_LATEST || !BR2_PACKAGE_QT5DECLARATIVE_QUICK


Regards,
Peter

> diff --git a/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk
> new file mode 100644
> index 0000000..e73a154
> --- /dev/null
> +++ b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk
> @@ -0,0 +1,31 @@
> +################################################################################
> +#
> +# qt5virtualkeyboard
> +#
> +################################################################################
> +
> +QT5VIRTUALKEYBOARD_VERSION = $(QT5_VERSION)
> +QT5VIRTUALKEYBOARD_SITE = $(QT5_SITE)
> +QT5VIRTUALKEYBOARD_SOURCE = qtvirtualkeyboard-opensource-src-$(QT5VIRTUALKEYBOARD_VERSION).tar.xz
> +QT5VIRTUALKEYBOARD_DEPENDENCIES = qt5base qt5declarative qt5svg
> +QT5VIRTUALKEYBOARD_INSTALL_STAGING = YES
> +
> +QT5VIRTUALKEYBOARD_LICENSE = GPLv3
> +QT5VIRTUALKEYBOARD_LICENSE_FILES = LICENSE.GPL3
> +define QT5VIRTUALKEYBOARD_CONFIGURE_CMDS
> +	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
> +endef
> +
> +define QT5VIRTUALKEYBOARD_BUILD_CMDS
> +	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
> +endef
> +
> +define QT5VIRTUALKEYBOARD_INSTALL_STAGING_CMDS
> +	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
> +endef
> +
> +define QT5VIRTUALKEYBOARD_INSTALL_TARGET_CMDS
> +	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/VirtualKeyboard $(TARGET_DIR)/usr/qml/QtQuick
> +endef
> +
> +$(eval $(generic-package))
Gaël PORTAY March 21, 2017, 1:52 p.m. UTC | #5
Hello Peter,

Thanks for your review.

On Mon, Mar 20, 2017 at 09:33:14PM +0100, Peter Seiderer wrote:
> Hello Gaël,
> 
> some additions to your own findings...
> 
> On Fri, 17 Mar 2017 12:46:28 -0400, Gaël PORTAY <gael.portay@savoirfairelinux.com> wrote:
> 
> > This patch adds the Qt virtualkeyboard package.
> > 
> > Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
> > ---
> >  package/qt5/Config.in                              |  1 +
> >  package/qt5/qt5virtualkeyboard/Config.in           |  9 +++++++
> >  .../qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk   | 31 ++++++++++++++++++++++
> >  3 files changed, 41 insertions(+)
> >  create mode 100644 package/qt5/qt5virtualkeyboard/Config.in
> >  create mode 100644 package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk
> > 
> > diff --git a/package/qt5/qt5virtualkeyboard/Config.in b/package/qt5/qt5virtualkeyboard/Config.in
> > new file mode 100644
> > index 0000000..df9e9d6
> > --- /dev/null
> > +++ b/package/qt5/qt5virtualkeyboard/Config.in
> > @@ -0,0 +1,9 @@
> > +config BR2_PACKAGE_QT5VIRTUALKEYBOARD
> > +	bool "qt5virtualkeyboard"
> 
> Needs 
> 
> 	depends on BR2_PACKAGE_QT5_VERSION_LATEST

Done.

> 
> or some non-standard download location in case qt5virtualkeyboard is although
> availabe for qt-5.6.2?
> 

Indeed. VirtualKeyboard is available in Qt since 5.7.

Before it was probably independant. We can find some tags like v2.0.0, v1.3.1
and below in their GitHub repository.

Do you want I make it available for 5.6 as well? Or maybe latter.

> > +	depends on BR2_PACKAGE_QT5DECLARATIVE_QUICK
> > +	select BR2_PACKAGE_QT5SVG
> > +	help
> > +	  Qt Virtual Keyboard is a virtual keyboard framework that consists of a
> > +	  C++ backend supporting custom input methods as well as a UI frontend
> > +	  implemented in QML.

	  This module is licensed under GPLv3.

> > +
> 
> Maybe mention the GPLv3 only license here?

Done.

> 
> And some comment in case the dependencies are not given:
> 
> 	comment "qt5virtualkeyboard needs at least qt-5.8.0 and qt5declarative quick module"
> 	       depends on !BR2_PACKAGE_QT5_VERSION_LATEST || !BR2_PACKAGE_QT5DECLARATIVE_QUICK
> 

Done.

> Regards,
> Peter
> 

Regards,
Gael
diff mbox

Patch

diff --git a/package/qt5/Config.in b/package/qt5/Config.in
index 4bcbc6e..a810503 100644
--- a/package/qt5/Config.in
+++ b/package/qt5/Config.in
@@ -76,6 +76,7 @@  source "package/qt5/qt5serialbus/Config.in"
 source "package/qt5/qt5serialport/Config.in"
 source "package/qt5/qt5svg/Config.in"
 source "package/qt5/qt5tools/Config.in"
+source "package/qt5/qt5virtualkeyboard/Config.in"
 source "package/qt5/qt5webchannel/Config.in"
 source "package/qt5/qt5webkit/Config.in"
 source "package/qt5/qt5websockets/Config.in"
diff --git a/package/qt5/qt5virtualkeyboard/Config.in b/package/qt5/qt5virtualkeyboard/Config.in
new file mode 100644
index 0000000..df9e9d6
--- /dev/null
+++ b/package/qt5/qt5virtualkeyboard/Config.in
@@ -0,0 +1,9 @@ 
+config BR2_PACKAGE_QT5VIRTUALKEYBOARD
+	bool "qt5virtualkeyboard"
+	depends on BR2_PACKAGE_QT5DECLARATIVE_QUICK
+	select BR2_PACKAGE_QT5SVG
+	help
+	  Qt Virtual Keyboard is a virtual keyboard framework that consists of a
+	  C++ backend supporting custom input methods as well as a UI frontend
+	  implemented in QML.
+
diff --git a/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk
new file mode 100644
index 0000000..e73a154
--- /dev/null
+++ b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk
@@ -0,0 +1,31 @@ 
+################################################################################
+#
+# qt5virtualkeyboard
+#
+################################################################################
+
+QT5VIRTUALKEYBOARD_VERSION = $(QT5_VERSION)
+QT5VIRTUALKEYBOARD_SITE = $(QT5_SITE)
+QT5VIRTUALKEYBOARD_SOURCE = qtvirtualkeyboard-opensource-src-$(QT5VIRTUALKEYBOARD_VERSION).tar.xz
+QT5VIRTUALKEYBOARD_DEPENDENCIES = qt5base qt5declarative qt5svg
+QT5VIRTUALKEYBOARD_INSTALL_STAGING = YES
+
+QT5VIRTUALKEYBOARD_LICENSE = GPLv3
+QT5VIRTUALKEYBOARD_LICENSE_FILES = LICENSE.GPL3
+define QT5VIRTUALKEYBOARD_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
+endef
+
+define QT5VIRTUALKEYBOARD_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define QT5VIRTUALKEYBOARD_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
+endef
+
+define QT5VIRTUALKEYBOARD_INSTALL_TARGET_CMDS
+	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/VirtualKeyboard $(TARGET_DIR)/usr/qml/QtQuick
+endef
+
+$(eval $(generic-package))