Patchwork qt: install QML imports on target

login
register
mail settings
Submitter Daniel Nyström
Date Feb. 20, 2013, 10:18 a.m.
Message ID <1361355531-2909-1-git-send-email-daniel.nystrom@timeterminal.se>
Download mbox | patch
Permalink /patch/222035/
State Accepted
Commit 1942836999ad64b7a84bd95a6bd1f5c75b81bf45
Headers show

Comments

Daniel Nyström - Feb. 20, 2013, 10:18 a.m.
When selecting the Qt declarative module, all the QML imports was
built and installed to staging, but never installed to the target.

Signed-off-by: Daniel Nyström <daniel.nystrom@timeterminal.se>
---
 package/qt/qt.mk |   10 ++++++++++
 1 file changed, 10 insertions(+)
Daniel Nyström - Feb. 25, 2013, 10:31 a.m.
On Wed, Feb 20, 2013 at 11:18 AM, Daniel Nyström <
daniel.nystrom@timeterminal.se> wrote:

> When selecting the Qt declarative module, all the QML imports was
> built and installed to staging, but never installed to the target.
>
> Signed-off-by: Daniel Nyström <daniel.nystrom@timeterminal.se>
>

Bumping this patch as I think this is a good candidate for the 2013.02
release. Currently QtDeclarative is supported by Buildroot, but the QML
imports are not installed to target. The current imports are:

./QtWebKit/libqmlwebkitplugin.so
./Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.so
./Qt/labs/gestures/libqmlgesturesplugin.so
./Qt/labs/particles/libqmlparticlesplugin.so

(note that the webkitplugin is built even when "WebKit Module" is unchecked
in menuconfig!)

Maybe imports installation should be optional in the future, but right now
many QML examples and demos depends on their existance.

Best regards
Daniel
Peter Korsgaard - Feb. 25, 2013, 9:15 p.m.
>>>>> "Daniel" == Daniel Nyström <daniel.nystrom@timeterminal.se> writes:

 Daniel> On Wed, Feb 20, 2013 at 11:18 AM, Daniel Nyström <
 Daniel> daniel.nystrom@timeterminal.se> wrote:

 Daniel>     When selecting the Qt declarative module, all the QML imports was
 Daniel>     built and installed to staging, but never installed to the target.

 Daniel>     Signed-off-by: Daniel Nyström <daniel.nystrom@timeterminal.se>


 Daniel> Bumping this patch as I think this is a good candidate for the
 Daniel> 2013.02 release.  Currently QtDeclarative is supported by
 Daniel> Buildroot, but the QML imports are not installed to target. The
 Daniel> current imports are:

 Daniel> ./QtWebKit/libqmlwebkitplugin.so
 Daniel> ./Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.so
 Daniel> ./Qt/labs/gestures/libqmlgesturesplugin.so
 Daniel> ./Qt/labs/particles/libqmlparticlesplugin.so

It would be good if someone who knows anything about Qt can ack this
patch for 2013.02.
Alexander Lukichev - Feb. 26, 2013, 6:23 a.m.
Hi, Daniel, Peter, All!

On 02/25/2013 11:15 PM, Peter Korsgaard wrote:
>  Daniel>     When selecting the Qt declarative module, all the QML imports was
>  Daniel>     built and installed to staging, but never installed to the target.
>  Daniel>     Signed-off-by: Daniel Nyström <daniel.nystrom@timeterminal.se>
>  Daniel> Bumping this patch as I think this is a good candidate for the
>  Daniel> 2013.02 release.  Currently QtDeclarative is supported by
> It would be good if someone who knows anything about Qt can ack this
> patch for 2013.02.

  I don't yet have much reputation here but looks a nice thing to add to 2013.02,
and implemented just as should be. At least, I had to do exactly the same thing
a couple of months ago (based on Buildroot 2012.08) when doing a QML project, and
wished it were in the next release :) So here it comes.

  Acked-by: Alexander Lukichev <alexander.lukichev@gmail.com>

--
Best regards,
  Alexander Lukichev
Arnout Vandecappelle - Feb. 27, 2013, 7:15 p.m.
On 25/02/13 22:15, Peter Korsgaard wrote:
>>>>>> "Daniel" == Daniel Nyström<daniel.nystrom@timeterminal.se>  writes:
>   Daniel> On Wed, Feb 20, 2013 at 11:18 AM, Daniel Nyström <
>   Daniel>daniel.nystrom@timeterminal.se> wrote:
>
>   Daniel>     When selecting the Qt declarative module, all the QML imports was
>   Daniel>     built and installed to staging, but never installed to the target.
>
>   Daniel>     Signed-off-by: Daniel Nyström<daniel.nystrom@timeterminal.se>
>
>
>   Daniel> Bumping this patch as I think this is a good candidate for the
>   Daniel> 2013.02 release.  Currently QtDeclarative is supported by
>   Daniel> Buildroot, but the QML imports are not installed to target. The
>   Daniel> current imports are:
>
>   Daniel> ./QtWebKit/libqmlwebkitplugin.so
>   Daniel> ./Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.so
>   Daniel> ./Qt/labs/gestures/libqmlgesturesplugin.so
>   Daniel> ./Qt/labs/particles/libqmlparticlesplugin.so
>
> It would be good if someone who knows anything about Qt can ack this
> patch for 2013.02.

  Basic QML works without this patch. (Actually, I can't be 100% sure 
because the display on my board is currently broken, but at least the 
application doesn't report an error when I start it.) So I don't think 
this is really needed for 2013.02.

  This patch is only necessary if you want to use one of those plugins in 
your QML application. I therefore don't agree with always installing 
them. There should be a configure option to enable it. Although, maybe 
making this 200K installation configurable for a package that already 
consumes 15M is perhaps a bit silly... Therefore:

Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
  (for next)

Tested-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
  (build-test)

  Regards,
  Arnout
Peter Korsgaard - Feb. 27, 2013, 10:58 p.m.
>>>>> "Daniel" == Daniel Nyström <daniel.nystrom@timeterminal.se> writes:

 Daniel> When selecting the Qt declarative module, all the QML imports was
 Daniel> built and installed to staging, but never installed to the target.

Committed to next, thanks.

Patch

diff --git a/package/qt/qt.mk b/package/qt/qt.mk
index ee1a88b..3767810 100644
--- a/package/qt/qt.mk
+++ b/package/qt/qt.mk
@@ -498,6 +498,7 @@  define QT_CONFIGURE_CMDS
 		-no-separate-debug-info \
 		-prefix /usr \
 		-plugindir /usr/lib/qt/plugins \
+		-importdir /usr/lib/qt/imports \
 		-hostprefix $(STAGING_DIR) \
 		-fast \
 		-no-rpath \
@@ -610,6 +611,14 @@  define QT_INSTALL_TARGET_PLUGINS
 	fi
 endef
 
+# Import installation
+define QT_INSTALL_TARGET_IMPORTS
+	if [ -d $(STAGING_DIR)/usr/lib/qt/imports/ ] ; then \
+		mkdir -p $(TARGET_DIR)/usr/lib/qt/imports ; \
+		cp -dpfr $(STAGING_DIR)/usr/lib/qt/imports/* $(TARGET_DIR)/usr/lib/qt/imports ; \
+	fi
+endef
+
 # Fonts installation
 ifneq ($(QT_FONTS),)
 define QT_INSTALL_TARGET_FONTS
@@ -628,6 +637,7 @@  endif
 define QT_INSTALL_TARGET_CMDS
 	$(QT_INSTALL_TARGET_LIBS)
 	$(QT_INSTALL_TARGET_PLUGINS)
+	$(QT_INSTALL_TARGET_IMPORTS)
 	$(QT_INSTALL_TARGET_FONTS)
 	$(QT_INSTALL_TARGET_FONTS_TTF)
 endef