package/qt5/qt5scxml: install missing QML module

Message ID 20180301074610.18946-1-b.bilas@grinn-global.com
State Superseded
Headers show
Series
  • package/qt5/qt5scxml: install missing QML module
Related show

Commit Message

Bartosz Biłas March 1, 2018, 7:46 a.m.
This patch add support for scxml module in QML projects.
When would you like to use state machines in qml files,
you get an error like this:

qrc:/MainUI.qml:2 module "QtScxml" is not installed


Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
---
 package/qt5/qt5scxml/qt5scxml.mk | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Peter Seiderer March 1, 2018, 10:50 a.m. | #1
Hello Bartosz,

first thanks for the suggested patch.
 
On Thu,  1 Mar 2018 08:46:10 +0100, Bartosz Bilas <b.bilas@grinn-global.com> wrote:

> This patch add support for scxml module in QML projects.
> When would you like to use state machines in qml files,
> you get an error like this:
> 
> qrc:/MainUI.qml:2 module "QtScxml" is not installed
> 

Patch subject: 'qt5scxml: install missing QML module' and

  Fixes:

    qrc:/MainUI.qml:2 module "QtScxml" is not installed

would be enough (I think the patched lines are self-explanatory)...

> 
> Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
> ---
>  package/qt5/qt5scxml/qt5scxml.mk | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/package/qt5/qt5scxml/qt5scxml.mk b/package/qt5/qt5scxml/qt5scxml.mk
> index 2d197a2bca..3f0f1a9054 100644
> --- a/package/qt5/qt5scxml/qt5scxml.mk
> +++ b/package/qt5/qt5scxml/qt5scxml.mk
> @@ -35,6 +35,12 @@ define QT5SCXML_INSTALL_TARGET_LIBS
>  endef
>  endif
>  
> +ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y)
> +define QT5SCXML_INSTALL_TARGET_QMLS
> +	cp -dpfr $(STAGING_DIR)/usr/qml/QtScxml/ $(TARGET_DIR)/usr/qml/
> +endef
> +endif
> +

The dependency on BR2_PACKAGE_QT5DECLARATIVE_QUICK is not needed, the QtScxml
module is build/installed even without enabled BR2_PACKAGE_QT5DECLARATIVE_QUICK...

With this changes you can add my

Reviewed-by: Peter Seiderer <ps.report@gmx.net>

Regards,
Peter


>  ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
>  define QT5SCXML_INSTALL_TARGET_EXAMPLES
>  	cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/scxml $(TARGET_DIR)/usr/lib/qt/examples/
> @@ -43,6 +49,7 @@ endif
>  
>  define QT5SCXML_INSTALL_TARGET_CMDS
>  	$(QT5SCXML_INSTALL_TARGET_LIBS)
> +	$(QT5SCXML_INSTALL_TARGET_QMLS)
>  	$(QT5SCXML_INSTALL_TARGET_EXAMPLES)
>  endef
>
Bartosz Biłas March 1, 2018, 12:26 p.m. | #2
Hi Peter,

On 01.03.2018 11:50, Peter Seiderer wrote:
> Hello Bartosz,
>
> first thanks for the suggested patch.
>   
> On Thu,  1 Mar 2018 08:46:10 +0100, Bartosz Bilas <b.bilas@grinn-global.com> wrote:
>
>> This patch add support for scxml module in QML projects.
>> When would you like to use state machines in qml files,
>> you get an error like this:
>>
>> qrc:/MainUI.qml:2 module "QtScxml" is not installed
>>
> Patch subject: 'qt5scxml: install missing QML module' and
>
>    Fixes:
>
>      qrc:/MainUI.qml:2 module "QtScxml" is not installed
>
> would be enough (I think the patched lines are self-explanatory)...
>
>> Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
>> ---
>>   package/qt5/qt5scxml/qt5scxml.mk | 7 +++++++
>>   1 file changed, 7 insertions(+)
>>
>> diff --git a/package/qt5/qt5scxml/qt5scxml.mk b/package/qt5/qt5scxml/qt5scxml.mk
>> index 2d197a2bca..3f0f1a9054 100644
>> --- a/package/qt5/qt5scxml/qt5scxml.mk
>> +++ b/package/qt5/qt5scxml/qt5scxml.mk
>> @@ -35,6 +35,12 @@ define QT5SCXML_INSTALL_TARGET_LIBS
>>   endef
>>   endif
>>   
>> +ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y)
>> +define QT5SCXML_INSTALL_TARGET_QMLS
>> +	cp -dpfr $(STAGING_DIR)/usr/qml/QtScxml/ $(TARGET_DIR)/usr/qml/
>> +endef
>> +endif
>> +
> The dependency on BR2_PACKAGE_QT5DECLARATIVE_QUICK is not needed, the QtScxml
> module is build/installed even without enabled BR2_PACKAGE_QT5DECLARATIVE_QUICK...
I was thinking about it but without qt quick this module is unnecessary 
so I'm not sure that we should copy this to the image.

Best regards,
Bartosz Biłas
>
> With this changes you can add my
>
> Reviewed-by: Peter Seiderer <ps.report@gmx.net>
>
> Regards,
> Peter
>
>
>>   ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
>>   define QT5SCXML_INSTALL_TARGET_EXAMPLES
>>   	cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/scxml $(TARGET_DIR)/usr/lib/qt/examples/
>> @@ -43,6 +49,7 @@ endif
>>   
>>   define QT5SCXML_INSTALL_TARGET_CMDS
>>   	$(QT5SCXML_INSTALL_TARGET_LIBS)
>> +	$(QT5SCXML_INSTALL_TARGET_QMLS)
>>   	$(QT5SCXML_INSTALL_TARGET_EXAMPLES)
>>   endef
>>   

--
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Hi Peter,</p>
    <div class="moz-cite-prefix">On 01.03.2018 11:50, Peter Seiderer
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:20180301115003.6cc39376@gmx.net">
      <pre wrap="">Hello Bartosz,

first thanks for the suggested patch.
 
On Thu,  1 Mar 2018 08:46:10 +0100, Bartosz Bilas <a class="moz-txt-link-rfc2396E" href="mailto:b.bilas@grinn-global.com">&lt;b.bilas@grinn-global.com&gt;</a> wrote:

</pre>
      <blockquote type="cite">
        <pre wrap="">This patch add support for scxml module in QML projects.
When would you like to use state machines in qml files,
you get an error like this:

qrc:/MainUI.qml:2 module "QtScxml" is not installed

</pre>
      </blockquote>
      <pre wrap="">
Patch subject: 'qt5scxml: install missing QML module' and

  Fixes:

    qrc:/MainUI.qml:2 module "QtScxml" is not installed

would be enough (I think the patched lines are self-explanatory)...

</pre>
      <blockquote type="cite">
        <pre wrap="">
Signed-off-by: Bartosz Bilas <a class="moz-txt-link-rfc2396E" href="mailto:b.bilas@grinn-global.com">&lt;b.bilas@grinn-global.com&gt;</a>
---
 package/qt5/qt5scxml/qt5scxml.mk | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/package/qt5/qt5scxml/qt5scxml.mk b/package/qt5/qt5scxml/qt5scxml.mk
index 2d197a2bca..3f0f1a9054 100644
--- a/package/qt5/qt5scxml/qt5scxml.mk
+++ b/package/qt5/qt5scxml/qt5scxml.mk
@@ -35,6 +35,12 @@ define QT5SCXML_INSTALL_TARGET_LIBS
 endef
 endif
 
+ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y)
+define QT5SCXML_INSTALL_TARGET_QMLS
+	cp -dpfr $(STAGING_DIR)/usr/qml/QtScxml/ $(TARGET_DIR)/usr/qml/
+endef
+endif
+
</pre>
      </blockquote>
      <pre wrap="">
The dependency on BR2_PACKAGE_QT5DECLARATIVE_QUICK is not needed, the QtScxml
module is build/installed even without enabled BR2_PACKAGE_QT5DECLARATIVE_QUICK...</pre>
    </blockquote>
    I was thinking about it but without qt quick this module is
    unnecessary so I'm not sure that we should copy this to the image.<br>
    <br>
    Best regards,<br>
    Bartosz Biłas<br>
    <blockquote type="cite" cite="mid:20180301115003.6cc39376@gmx.net">
      <pre wrap="">

With this changes you can add my

Reviewed-by: Peter Seiderer <a class="moz-txt-link-rfc2396E" href="mailto:ps.report@gmx.net">&lt;ps.report@gmx.net&gt;</a>

Regards,
Peter


</pre>
      <blockquote type="cite">
        <pre wrap=""> ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
 define QT5SCXML_INSTALL_TARGET_EXAMPLES
 	cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/scxml $(TARGET_DIR)/usr/lib/qt/examples/
@@ -43,6 +49,7 @@ endif
 
 define QT5SCXML_INSTALL_TARGET_CMDS
 	$(QT5SCXML_INSTALL_TARGET_LIBS)
+	$(QT5SCXML_INSTALL_TARGET_QMLS)
 	$(QT5SCXML_INSTALL_TARGET_EXAMPLES)
 endef
 
</pre>
      </blockquote>
      <pre wrap="">
</pre>
    </blockquote>
    <br>
    <div class="moz-signature">--
      <meta http-equiv="content-type" content="text/html; charset=utf-8">
      <title></title>
      <table style="color: rgb(41, 64, 66); font-size: 11px;
        font-family: Arial;" width="1" border="0" height="20"
        cellspacing="0">
        <tbody>
          <tr>
          </tr>
          <tr>
            <td colspan="1" rowspan="1"
              style="font-style:italic;font-size:12px;"><br>
            </td>
            <td colspan="2" rowspan="1"><br>
            </td>
          </tr>
        </tbody>
      </table>
      <br>
    </div>
  </body>
</html>
Peter Seiderer March 1, 2018, 1:52 p.m. | #3
Hello Bartosz,

On Thu, 1 Mar 2018 13:26:44 +0100, Bartosz Biłas <b.bilas@grinn-global.com> wrote:

> Hi Peter,
> 
> On 01.03.2018 11:50, Peter Seiderer wrote:
> > Hello Bartosz,
> >
> > first thanks for the suggested patch.
> >   
> > On Thu,  1 Mar 2018 08:46:10 +0100, Bartosz Bilas <b.bilas@grinn-global.com> wrote:
> >  
> >> This patch add support for scxml module in QML projects.
> >> When would you like to use state machines in qml files,
> >> you get an error like this:
> >>
> >> qrc:/MainUI.qml:2 module "QtScxml" is not installed
> >>  
> > Patch subject: 'qt5scxml: install missing QML module' and
> >
> >    Fixes:
> >
> >      qrc:/MainUI.qml:2 module "QtScxml" is not installed
> >
> > would be enough (I think the patched lines are self-explanatory)...
> >  
> >> Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
> >> ---
> >>   package/qt5/qt5scxml/qt5scxml.mk | 7 +++++++
> >>   1 file changed, 7 insertions(+)
> >>
> >> diff --git a/package/qt5/qt5scxml/qt5scxml.mk b/package/qt5/qt5scxml/qt5scxml.mk
> >> index 2d197a2bca..3f0f1a9054 100644
> >> --- a/package/qt5/qt5scxml/qt5scxml.mk
> >> +++ b/package/qt5/qt5scxml/qt5scxml.mk
> >> @@ -35,6 +35,12 @@ define QT5SCXML_INSTALL_TARGET_LIBS
> >>   endef
> >>   endif
> >>   
> >> +ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y)
> >> +define QT5SCXML_INSTALL_TARGET_QMLS
> >> +	cp -dpfr $(STAGING_DIR)/usr/qml/QtScxml/ $(TARGET_DIR)/usr/qml/
> >> +endef
> >> +endif
> >> +  
> > The dependency on BR2_PACKAGE_QT5DECLARATIVE_QUICK is not needed, the QtScxml
> > module is build/installed even without enabled BR2_PACKAGE_QT5DECLARATIVE_QUICK...  
> I was thinking about it but without qt quick this module is unnecessary 
> so I'm not sure that we should copy this to the image.

Mhhh, point for you ;-), I would still prefer the version without dependency on quick
(as the qt compile/configure logic does) even if a usage without quick is more or
less theoretically? But I am o.k. with both solutions in case you add a little comment...

Regards,
Peter

> 
> Best regards,
> Bartosz Biłas
> >
> > With this changes you can add my
> >
> > Reviewed-by: Peter Seiderer <ps.report@gmx.net>
> >
> > Regards,
> > Peter
> >
> >  
> >>   ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
> >>   define QT5SCXML_INSTALL_TARGET_EXAMPLES
> >>   	cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/scxml $(TARGET_DIR)/usr/lib/qt/examples/
> >> @@ -43,6 +49,7 @@ endif
> >>   
> >>   define QT5SCXML_INSTALL_TARGET_CMDS
> >>   	$(QT5SCXML_INSTALL_TARGET_LIBS)
> >> +	$(QT5SCXML_INSTALL_TARGET_QMLS)
> >>   	$(QT5SCXML_INSTALL_TARGET_EXAMPLES)
> >>   endef
> >>     
>
Thomas Petazzoni March 2, 2018, 9:24 p.m. | #4
Hello,

On Thu, 1 Mar 2018 11:50:03 +0100, Peter Seiderer wrote:

> The dependency on BR2_PACKAGE_QT5DECLARATIVE_QUICK is not needed, the QtScxml
> module is build/installed even without enabled BR2_PACKAGE_QT5DECLARATIVE_QUICK...

But does it make sense to install QML files if the Qt that has been
built has no way to use them ? Or am I missing something about what
BR2_PACKAGE_QT5DECLARATIVE_QUICK is ?

Best regards,

Thomas
Peter Seiderer March 3, 2018, 7:51 p.m. | #5
Hello Thomas,
On Fri, 2 Mar 2018 22:24:23 +0100, Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:

> Hello,
> 
> On Thu, 1 Mar 2018 11:50:03 +0100, Peter Seiderer wrote:
> 
> > The dependency on BR2_PACKAGE_QT5DECLARATIVE_QUICK is not needed, the QtScxml
> > module is build/installed even without enabled BR2_PACKAGE_QT5DECLARATIVE_QUICK...  
> 
> But does it make sense to install QML files if the Qt that has been
> built has no way to use them ? Or am I missing something about what
> BR2_PACKAGE_QT5DECLARATIVE_QUICK is ?

No expert for Qml/QtQuick either, but as explained in [1] 'QML is the Language (just like C++)'
and 'QtQuick is a toolkit for QML, allowing to develop graphical interface in QML language
(there are other toolkits for QML, some are graphical like Sailfish Silica or BlackBerry Cascade,
and some are non-graphical like QBS...'

Qscxml is usable from QtQuick, but QtQuick is no prerequisite to use Qscxml (from a theoretical
point of view (and practical the QML module is buildable  without QtQuick))....

Regards,
Peter

[1] https://stackoverflow.com/questions/19696153/difference-between-qt-qml-and-qt-quick

> 
> Best regards,
> 
> Thomas
Bartosz Biłas March 7, 2018, 2:08 p.m. | #6
Hi Thomas,
In my opinion no, according to the other packages they also have 
dependence on qt quick
and if it is not selected then they do not install files related to QML.

Best regards,
Bartosz Biłas


On 02.03.2018 22:24, Thomas Petazzoni wrote:
> Hello,
>
> On Thu, 1 Mar 2018 11:50:03 +0100, Peter Seiderer wrote:
>
>> The dependency on BR2_PACKAGE_QT5DECLARATIVE_QUICK is not needed, the QtScxml
>> module is build/installed even without enabled BR2_PACKAGE_QT5DECLARATIVE_QUICK...
> But does it make sense to install QML files if the Qt that has been
> built has no way to use them ? Or am I missing something about what
> BR2_PACKAGE_QT5DECLARATIVE_QUICK is ?
>
> Best regards,
>
> Thomas

Patch

diff --git a/package/qt5/qt5scxml/qt5scxml.mk b/package/qt5/qt5scxml/qt5scxml.mk
index 2d197a2bca..3f0f1a9054 100644
--- a/package/qt5/qt5scxml/qt5scxml.mk
+++ b/package/qt5/qt5scxml/qt5scxml.mk
@@ -35,6 +35,12 @@  define QT5SCXML_INSTALL_TARGET_LIBS
 endef
 endif
 
+ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y)
+define QT5SCXML_INSTALL_TARGET_QMLS
+	cp -dpfr $(STAGING_DIR)/usr/qml/QtScxml/ $(TARGET_DIR)/usr/qml/
+endef
+endif
+
 ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
 define QT5SCXML_INSTALL_TARGET_EXAMPLES
 	cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/scxml $(TARGET_DIR)/usr/lib/qt/examples/
@@ -43,6 +49,7 @@  endif
 
 define QT5SCXML_INSTALL_TARGET_CMDS
 	$(QT5SCXML_INSTALL_TARGET_LIBS)
+	$(QT5SCXML_INSTALL_TARGET_QMLS)
 	$(QT5SCXML_INSTALL_TARGET_EXAMPLES)
 endef