Patchwork Maliit: Add initial recipes

login
register
mail settings
Submitter Samuel Stirtzel
Date Oct. 2, 2012, 8:28 a.m.
Message ID <1349166535-14325-1-git-send-email-s.stirtzel@googlemail.com>
Download mbox | patch
Permalink /patch/37585/
State Accepted
Commit d9b7d6b4cd6b959b3998ddfec9775b64ffa61fe0
Headers show

Comments

Samuel Stirtzel - Oct. 2, 2012, 8:28 a.m.
Maliit is a Qt based virtual keyboard under liberal license (LGPLv2.1 / BSD)
The inputmethod framework from Qt is used and it supports gtk-immodules.
It can also be used without dependencies to GTK+ (separate package for GTK+)

Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
---
 ...INSTALL_PRF-to-allow-the-build-with-opene.patch |   34 ++++++++
 ...LUGIN_PATH-to-allow-openembedded-to-build.patch |   34 ++++++++
 .../recipes-support/maliit/maliit-framework_git.bb |   86 ++++++++++++++++++++
 .../recipes-support/maliit/maliit-plugins_git.bb   |   34 ++++++++
 4 files changed, 188 insertions(+)
 create mode 100644 meta-oe/recipes-support/maliit/maliit-framework/0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch
 create mode 100644 meta-oe/recipes-support/maliit/maliit-framework/0001-Fix-QT_IM_PLUGIN_PATH-to-allow-openembedded-to-build.patch
 create mode 100644 meta-oe/recipes-support/maliit/maliit-framework_git.bb
 create mode 100644 meta-oe/recipes-support/maliit/maliit-plugins_git.bb

\ No newline at end of file
Samuel Stirtzel - Oct. 16, 2012, 8:10 a.m.
2012/10/2 Samuel Stirtzel <s.stirtzel@googlemail.com>:
> Maliit is a Qt based virtual keyboard under liberal license (LGPLv2.1 / BSD)
> The inputmethod framework from Qt is used and it supports gtk-immodules.
> It can also be used without dependencies to GTK+ (separate package for GTK+)
>
> Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
> ---
>  ...INSTALL_PRF-to-allow-the-build-with-opene.patch |   34 ++++++++
>  ...LUGIN_PATH-to-allow-openembedded-to-build.patch |   34 ++++++++
>  .../recipes-support/maliit/maliit-framework_git.bb |   86 ++++++++++++++++++++
>  .../recipes-support/maliit/maliit-plugins_git.bb   |   34 ++++++++
>  4 files changed, 188 insertions(+)
>  create mode 100644 meta-oe/recipes-support/maliit/maliit-framework/0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch
>  create mode 100644 meta-oe/recipes-support/maliit/maliit-framework/0001-Fix-QT_IM_PLUGIN_PATH-to-allow-openembedded-to-build.patch
>  create mode 100644 meta-oe/recipes-support/maliit/maliit-framework_git.bb
>  create mode 100644 meta-oe/recipes-support/maliit/maliit-plugins_git.bb
>
> diff --git a/meta-oe/recipes-support/maliit/maliit-framework/0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch b/meta-oe/recipes-support/maliit/maliit-framework/0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch
> new file mode 100644
> index 0000000..acd9a57
> --- /dev/null
> +++ b/meta-oe/recipes-support/maliit/maliit-framework/0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch
> @@ -0,0 +1,34 @@
> +From 33554f9b3fd493c7e28617fd01466ffa87251f27 Mon Sep 17 00:00:00 2001
> +From: Samuel Stirtzel <s.stirtzel@googlemail.com>
> +Date: Wed, 1 Aug 2012 13:21:51 +0200
> +Subject: [PATCH] Fix MALIIT_INSTALL_PRF to allow the build with openembedded
> +
> +Upstream-Status: Inappropriate [configuration]
> +
> +Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
> +---
> + config.pri |    8 +++++---
> + 1 file changed, 5 insertions(+), 3 deletions(-)
> +
> +diff --git a/config.pri b/config.pri
> +index b037b8c..43409f3 100644
> +--- a/config.pri
> ++++ b/config.pri
> +@@ -161,9 +161,11 @@ contains(QT_MAJOR_VERSION, 4) {
> +     QT_WIDGETS = gui widgets
> + }
> +
> +-MALIIT_INSTALL_PRF = $$[QT_INSTALL_DATA]/mkspecs/features
> +-local-install {
> +-    MALIIT_INSTALL_PRF = $$replace(MALIIT_INSTALL_PRF, $$[QT_INSTALL_PREFIX], $$PREFIX)
> ++isEmpty(MALIIT_INSTALL_PRF) {
> ++    MALIIT_INSTALL_PRF = $$[QT_INSTALL_DATA]/mkspecs/features
> ++    local-install {
> ++        MALIIT_INSTALL_PRF = $$replace(MALIIT_INSTALL_PRF, $$[QT_INSTALL_PREFIX], $$PREFIX)
> ++    }
> + }
> +
> + defineTest(outputFile) {
> +--
> +1.7.9.5
> +
> diff --git a/meta-oe/recipes-support/maliit/maliit-framework/0001-Fix-QT_IM_PLUGIN_PATH-to-allow-openembedded-to-build.patch b/meta-oe/recipes-support/maliit/maliit-framework/0001-Fix-QT_IM_PLUGIN_PATH-to-allow-openembedded-to-build.patch
> new file mode 100644
> index 0000000..830e6de
> --- /dev/null
> +++ b/meta-oe/recipes-support/maliit/maliit-framework/0001-Fix-QT_IM_PLUGIN_PATH-to-allow-openembedded-to-build.patch
> @@ -0,0 +1,34 @@
> +From fb6acbd2af9ed288c1c4f4200fc73d8d9955486a Mon Sep 17 00:00:00 2001
> +From: Samuel Stirtzel <s.stirtzel@googlemail.com>
> +Date: Wed, 1 Aug 2012 13:33:10 +0200
> +Subject: [PATCH] Fix QT_IM_PLUGIN_PATH to allow openembedded to build Maliit
> +
> +Upstream-Status: Inappropriate [configuration]
> +
> +Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
> +---
> + input-context/input-context.pri |   10 ++++++----
> + 1 file changed, 6 insertions(+), 4 deletions(-)
> +
> +diff --git a/input-context/input-context.pri b/input-context/input-context.pri
> +index d94e6a3..d460e70 100644
> +--- a/input-context/input-context.pri
> ++++ b/input-context/input-context.pri
> +@@ -25,8 +25,10 @@ for(OPTION,$$list($$lower($$COV_OPTION))){
> +
> + QMAKE_CLEAN += $$OBJECTS_DIR/*.gcno $$OBJECTS_DIR/*.gcda
> +
> +-QT_IM_PLUGIN_PATH = $$[QT_INSTALL_PLUGINS]/inputmethods
> +-QT_PREFIX = $$[QT_INSTALL_PREFIX]
> +-local-install {
> +-    QT_IM_PLUGIN_PATH = $$replace(QT_IM_PLUGIN_PATH, $$QT_PREFIX, $$PREFIX)
> ++isEmpty(QT_IM_PLUGIN_PATH) {
> ++    QT_IM_PLUGIN_PATH = $$[QT_INSTALL_PLUGINS]/inputmethods
> ++    QT_PREFIX = $$[QT_INSTALL_PREFIX]
> ++    local-install {
> ++        QT_IM_PLUGIN_PATH = $$replace(QT_IM_PLUGIN_PATH, $$QT_PREFIX, $$PREFIX)
> ++    }
> + }
> +--
> +1.7.9.5
> +
> diff --git a/meta-oe/recipes-support/maliit/maliit-framework_git.bb b/meta-oe/recipes-support/maliit/maliit-framework_git.bb
> new file mode 100644
> index 0000000..3f50d1b
> --- /dev/null
> +++ b/meta-oe/recipes-support/maliit/maliit-framework_git.bb
> @@ -0,0 +1,86 @@
> +DESCRIPTION = "A virtual keyboard for touch-screen based user interfaces"
> +HOMEPAGE = "https://wiki.maliit.org/Main_Page"
> +
> +LICENSE = "LGPLv2.1"
> +LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=5c917f6ce94ceb8d8d5e16e2fca5b9ad"
> +
> +inherit autotools qt4x11
> +
> +
> +SRC_URI = "git://gitorious.org/maliit/maliit-framework.git;branch=master \
> +    file://0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch \
> +    file://0001-Fix-QT_IM_PLUGIN_PATH-to-allow-openembedded-to-build.patch \
> +    "
> +
> +SRCREV = "750842dec74a9b17dca91ef779c4fc5a43c4d9dc"
> +PV = "0.92.3+git${SRCPV}"
> +
> +
> +PACKAGES =+ "\
> +    ${PN}-gtk \
> +    "
> +
> +# Maliit needs Qt configured with -accessibility, a patch for that was already sent and will get merged in post 1.2.
> +RDEPENDS_${PN} = "qt4-plugin-inputmethod-imsw-multi libqtsvg4"
> +
> +RRECOMMENDS_${PN} = "maliit-plugins"
> +
> +
> +FILES_${PN} += "\
> +    ${libdir}/maliit/plugins-*/factories/libmaliit-plugins-quick-factory-*.so \
> +    ${libdir}/qt4/plugins/inputmethods/*.so \
> +    "
> +
> +FILES_${PN}-dbg += "\
> +    ${libdir}/maliit-framework-tests \
> +    ${libdir}/gtk-*/*/immodules/.debug \
> +    ${libdir}/maliit/plugins-*/factories/.debug \
> +    ${libdir}/qt4/plugins/.debug \
> +    ${libdir}/qt4/plugins/inputmethods/.debug \
> +    "
> +
> +FILES_${PN}-dev += "${datadir}/qt4"
> +
> +FILES_${PN}-gtk +="\
> +    ${bindir}/maliit-exampleapp-gtk* \
> +    \
> +    ${libdir}/gtk-*/*/immodules/libim-maliit.so\
> +    "
> +
> +EXTRA_QMAKEVARS_PRE = "\
> +    PREFIX=${prefix} \
> +    LIBDIR=${libdir} \
> +    QT_IM_PLUGIN_PATH=${libdir}/qt4/plugins/inputmethods \
> +    MALIIT_INSTALL_PRF=${datadir}/qt4/mkspecs/features \
> +    SCHEMADIR=${sysconfdir}/gconf/schemas \
> +    CONFIG+=disable-gconf \
> +    CONFIG+=disable-gtk-cache-update \
> +    CONFIG+=local-install \
> +    "
> +
> +do_install() {
> +    cd ${S} && (INSTALL_ROOT=${D} oe_runmake install)
> +
> +    #Fix absolute paths
> +    cd ${D}/${datadir}/qt4/mkspecs/features && sed -i -e "s|/usr|${STAGING_DIR_TARGET}${prefix}|" ./maliit-framework.prf
> +    cd ${D}/${datadir}/qt4/mkspecs/features && sed -i -e "s|/usr|${STAGING_DIR_TARGET}${prefix}|" ./maliit-plugins.prf
> +}
> +
> +
> +
> +# Update the inputmethod modules in gtk
> +pkg_postinst_${PN}-gtk() {
> +if [ "x$D" != "x" ]; then
> +    exit 1
> +fi
> +gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules
> +}
> +
> +pkg_postrm_${PN}-gtk() {
> +if [ "x$D" != "x" ]; then
> +    exit 1
> +fi
> +gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules
> +}
> +
> +S= "${WORKDIR}/git"
> diff --git a/meta-oe/recipes-support/maliit/maliit-plugins_git.bb b/meta-oe/recipes-support/maliit/maliit-plugins_git.bb
> new file mode 100644
> index 0000000..932c0ae
> --- /dev/null
> +++ b/meta-oe/recipes-support/maliit/maliit-plugins_git.bb
> @@ -0,0 +1,34 @@
> +DESCRIPTION = "Plugins for a virtual keyboard for touch-screen based user interfaces"
> +HOMEPAGE = "https://wiki.maliit.org/Main_Page"
> +
> +LICENSE = "BSD"
> +LIC_FILES_CHKSUM = "file://LICENSE;md5=f29b21caa8e460097bfad9c026a33621"
> +
> +inherit autotools qt4x11
> +
> +DEPENDS = "maliit-framework"
> +
> +SRC_URI = "git://gitorious.org/maliit/maliit-plugins.git;branch=master"
> +
> +SRCREV = "0760e585df494b394df1b887e5138ffef19c481f"
> +PV = "0.92.3+git${SRCPV}"
> +
> +EXTRA_QMAKEVARS_PRE = "\
> +    PREFIX=${prefix} \
> +    LIBDIR=${libdir} \
> +    "
> +
> +FILES_${PN} += "\
> +    ${libdir}/maliit \
> +    ${datadir} \
> +    "
> +
> +FILES_${PN}-dbg += "\
> +    ${libdir}/maliit/plugins-*/.debug \
> +    "
> +
> +S= "${WORKDIR}/git"
> +
> +do_install() {
> +  cd ${S} && (INSTALL_ROOT=${D} oe_runmake install)
> +}
> \ No newline at end of file
> --
> 1.7.9.5
>

Ping,

anything wrong with this patch, or is it just a general "before
release stagnation"?
Martin Jansa - Oct. 16, 2012, 8:15 a.m.
On Tue, Oct 16, 2012 at 10:10:37AM +0200, Samuel Stirtzel wrote:
> 2012/10/2 Samuel Stirtzel <s.stirtzel@googlemail.com>:
> Ping,
> 
> anything wrong with this patch, or is it just a general "before
> release stagnation"?

It's probably because of general "before submit read README".

Read README and send with right subject prefix.

Cheers,
Otavio Salvador - Oct. 16, 2012, 11:09 a.m.
On Tue, Oct 2, 2012 at 5:28 AM, Samuel Stirtzel
<s.stirtzel@googlemail.com> wrote:
> Maliit is a Qt based virtual keyboard under liberal license (LGPLv2.1 / BSD)
> The inputmethod framework from Qt is used and it supports gtk-immodules.
> It can also be used without dependencies to GTK+ (separate package for GTK+)
>
> Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>

Thanks by working on this. Bellow my comments ...

...
> diff --git a/meta-oe/recipes-support/maliit/maliit-framework_git.bb b/meta-oe/recipes-support/maliit/maliit-framework_git.bb
> new file mode 100644
> index 0000000..3f50d1b
> --- /dev/null
> +++ b/meta-oe/recipes-support/maliit/maliit-framework_git.bb
...
> +
> +# Maliit needs Qt configured with -accessibility, a patch for that was already sent and will get merged in post 1.2.
> +RDEPENDS_${PN} = "qt4-plugin-inputmethod-imsw-multi libqtsvg4"

In this case, maliit is a post 1.2 package.

...
> +EXTRA_QMAKEVARS_PRE = "\
> +    PREFIX=${prefix} \
> +    LIBDIR=${libdir} \
> +    QT_IM_PLUGIN_PATH=${libdir}/qt4/plugins/inputmethods \
> +    MALIIT_INSTALL_PRF=${datadir}/qt4/mkspecs/features \
> +    SCHEMADIR=${sysconfdir}/gconf/schemas \
> +    CONFIG+=disable-gconf \
> +    CONFIG+=disable-gtk-cache-update \
> +    CONFIG+=local-install \
> +    "

Really need to disable gtk-cache-update? Why?

...
> +# Update the inputmethod modules in gtk
> +pkg_postinst_${PN}-gtk() {
> +if [ "x$D" != "x" ]; then
> +    exit 1
> +fi
> +gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules
> +}
> +
> +pkg_postrm_${PN}-gtk() {
> +if [ "x$D" != "x" ]; then
> +    exit 1
> +fi
> +gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules
> +}

You might add a gtk-immodules.bbclass to allow it to be put out of the recipe.

As said by Martin, please read the README and follow the steps to send
the patch...
Samuel Stirtzel - Oct. 17, 2012, 8:29 a.m.
2012/10/16 Otavio Salvador <otavio@ossystems.com.br>:
> On Tue, Oct 2, 2012 at 5:28 AM, Samuel Stirtzel
> <s.stirtzel@googlemail.com> wrote:
>> Maliit is a Qt based virtual keyboard under liberal license (LGPLv2.1 / BSD)
>> The inputmethod framework from Qt is used and it supports gtk-immodules.
>> It can also be used without dependencies to GTK+ (separate package for GTK+)
>>
>> Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
>
> Thanks by working on this. Bellow my comments ...
>
> ...
>> diff --git a/meta-oe/recipes-support/maliit/maliit-framework_git.bb b/meta-oe/recipes-support/maliit/maliit-framework_git.bb
>> new file mode 100644
>> index 0000000..3f50d1b
>> --- /dev/null
>> +++ b/meta-oe/recipes-support/maliit/maliit-framework_git.bb
> ...
>> +
>> +# Maliit needs Qt configured with -accessibility, a patch for that was already sent and will get merged in post 1.2.
>> +RDEPENDS_${PN} = "qt4-plugin-inputmethod-imsw-multi libqtsvg4"
>
> In this case, maliit is a post 1.2 package.
>
> ...
>> +EXTRA_QMAKEVARS_PRE = "\
>> +    PREFIX=${prefix} \
>> +    LIBDIR=${libdir} \
>> +    QT_IM_PLUGIN_PATH=${libdir}/qt4/plugins/inputmethods \
>> +    MALIIT_INSTALL_PRF=${datadir}/qt4/mkspecs/features \
>> +    SCHEMADIR=${sysconfdir}/gconf/schemas \
>> +    CONFIG+=disable-gconf \
>> +    CONFIG+=disable-gtk-cache-update \
>> +    CONFIG+=local-install \
>> +    "
>
> Really need to disable gtk-cache-update? Why?

This option is for packaging, it disables running gtk-query-immodules
on the build-host

>
> ...
>> +# Update the inputmethod modules in gtk
>> +pkg_postinst_${PN}-gtk() {
>> +if [ "x$D" != "x" ]; then
>> +    exit 1
>> +fi
>> +gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules
>> +}
>> +
>> +pkg_postrm_${PN}-gtk() {
>> +if [ "x$D" != "x" ]; then
>> +    exit 1
>> +fi
>> +gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules
>> +}
>
> You might add a gtk-immodules.bbclass to allow it to be put out of the recipe.

FYI: I have a class for this, but the only other recipe using
gtk-query-immodules is
openembedded-core/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb
Should I send a patch with the .bbclass to oe-core?

>
> As said by Martin, please read the README and follow the steps to send
> the patch...

Seems to be a classic case of -ENOCOFFEEYET

Will re-send with the right prefix
Otavio Salvador - Oct. 17, 2012, 10:42 a.m.
On Wed, Oct 17, 2012 at 5:29 AM, Samuel Stirtzel
<s.stirtzel@googlemail.com>wrote:

> 2012/10/16 Otavio Salvador <otavio@ossystems.com.br>:
> > On Tue, Oct 2, 2012 at 5:28 AM, Samuel Stirtzel
> > <s.stirtzel@googlemail.com> wrote:
> >> Maliit is a Qt based virtual keyboard under liberal license (LGPLv2.1 /
> BSD)
> >> The inputmethod framework from Qt is used and it supports gtk-immodules.
> >> It can also be used without dependencies to GTK+ (separate package for
> GTK+)
> >>
> >> Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
> >
> > Thanks by working on this. Bellow my comments ...
> >
> > ...
> >> diff --git a/meta-oe/recipes-support/maliit/maliit-framework_git.bbb/meta-oe/recipes-support/maliit/
> maliit-framework_git.bb
> >> new file mode 100644
> >> index 0000000..3f50d1b
> >> --- /dev/null
> >> +++ b/meta-oe/recipes-support/maliit/maliit-framework_git.bb
> > ...
> >> +
> >> +# Maliit needs Qt configured with -accessibility, a patch for that was
> already sent and will get merged in post 1.2.
> >> +RDEPENDS_${PN} = "qt4-plugin-inputmethod-imsw-multi libqtsvg4"
> >
> > In this case, maliit is a post 1.2 package.
> >
> > ...
> >> +EXTRA_QMAKEVARS_PRE = "\
> >> +    PREFIX=${prefix} \
> >> +    LIBDIR=${libdir} \
> >> +    QT_IM_PLUGIN_PATH=${libdir}/qt4/plugins/inputmethods \
> >> +    MALIIT_INSTALL_PRF=${datadir}/qt4/mkspecs/features \
> >> +    SCHEMADIR=${sysconfdir}/gconf/schemas \
> >> +    CONFIG+=disable-gconf \
> >> +    CONFIG+=disable-gtk-cache-update \
> >> +    CONFIG+=local-install \
> >> +    "
> >
> > Really need to disable gtk-cache-update? Why?
>
> This option is for packaging, it disables running gtk-query-immodules
> on the build-host
>

Are you sure it is about gtk-query-immodules, it seemed to be icon-cache
related from  the option name.


>
> >
> > ...
> >> +# Update the inputmethod modules in gtk
> >> +pkg_postinst_${PN}-gtk() {
> >> +if [ "x$D" != "x" ]; then
> >> +    exit 1
> >> +fi
> >> +gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules
> >> +}
> >> +
> >> +pkg_postrm_${PN}-gtk() {
> >> +if [ "x$D" != "x" ]; then
> >> +    exit 1
> >> +fi
> >> +gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules
> >> +}
> >
> > You might add a gtk-immodules.bbclass to allow it to be put out of the
> recipe.
>
> FYI: I have a class for this, but the only other recipe using
> gtk-query-immodules is
> openembedded-core/meta/recipes-sato/matchbox-keyboard/
> matchbox-keyboard_git.bb
> Should I send a patch with the .bbclass to oe-core?
>

I think so. It is easier to read and avoid code duplication.


>
> >
> > As said by Martin, please read the README and follow the steps to send
> > the patch...
>
> Seems to be a classic case of -ENOCOFFEEYET
>
> Will re-send with the right prefix
>

hehe, right ...

Take a double expresso coffee and try again ;-)
Samuel Stirtzel - Oct. 17, 2012, 11:40 a.m.
2012/10/17 Otavio Salvador <otavio@ossystems.com.br>:
> On Wed, Oct 17, 2012 at 5:29 AM, Samuel Stirtzel
> <s.stirtzel@googlemail.com>wrote:
>
>> 2012/10/16 Otavio Salvador <otavio@ossystems.com.br>:
>> > On Tue, Oct 2, 2012 at 5:28 AM, Samuel Stirtzel
>> > <s.stirtzel@googlemail.com> wrote:
>> >> Maliit is a Qt based virtual keyboard under liberal license (LGPLv2.1 /
>> BSD)
>> >> The inputmethod framework from Qt is used and it supports gtk-immodules.
>> >> It can also be used without dependencies to GTK+ (separate package for
>> GTK+)
>> >>
>> >> Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
>> >
>> > Thanks by working on this. Bellow my comments ...
>> >
>> > ...
>> >> diff --git a/meta-oe/recipes-support/maliit/maliit-framework_git.bbb/meta-oe/recipes-support/maliit/
>> maliit-framework_git.bb
>> >> new file mode 100644
>> >> index 0000000..3f50d1b
>> >> --- /dev/null
>> >> +++ b/meta-oe/recipes-support/maliit/maliit-framework_git.bb
>> > ...
>> >> +
>> >> +# Maliit needs Qt configured with -accessibility, a patch for that was
>> already sent and will get merged in post 1.2.
>> >> +RDEPENDS_${PN} = "qt4-plugin-inputmethod-imsw-multi libqtsvg4"
>> >
>> > In this case, maliit is a post 1.2 package.
>> >
>> > ...
>> >> +EXTRA_QMAKEVARS_PRE = "\
>> >> +    PREFIX=${prefix} \
>> >> +    LIBDIR=${libdir} \
>> >> +    QT_IM_PLUGIN_PATH=${libdir}/qt4/plugins/inputmethods \
>> >> +    MALIIT_INSTALL_PRF=${datadir}/qt4/mkspecs/features \
>> >> +    SCHEMADIR=${sysconfdir}/gconf/schemas \
>> >> +    CONFIG+=disable-gconf \
>> >> +    CONFIG+=disable-gtk-cache-update \
>> >> +    CONFIG+=local-install \
>> >> +    "
>> >
>> > Really need to disable gtk-cache-update? Why?
>>
>> This option is for packaging, it disables running gtk-query-immodules
>> on the build-host
>>
>
> Are you sure it is about gtk-query-immodules, it seemed to be icon-cache
> related from  the option name.

It looks similar to existing options, but the Qt project file explains it:
http://gitorious.org/maliit/maliit-framework/blobs/master/maliit-framework.pro#line23

What it exactly does depends on the gtk version:
http://gitorious.org/maliit/maliit-framework/blobs/master/gtk-input-context/client-gtk/client-gtk.pro#line40
and
http://gitorious.org/maliit/maliit-framework/blobs/master/gtk-input-context/client-gtk3/client-gtk3.pro#line40

>
>
>>
>> >
>> > ...
>> >> +# Update the inputmethod modules in gtk
>> >> +pkg_postinst_${PN}-gtk() {
>> >> +if [ "x$D" != "x" ]; then
>> >> +    exit 1
>> >> +fi
>> >> +gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules
>> >> +}
>> >> +
>> >> +pkg_postrm_${PN}-gtk() {
>> >> +if [ "x$D" != "x" ]; then
>> >> +    exit 1
>> >> +fi
>> >> +gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules
>> >> +}
>> >
>> > You might add a gtk-immodules.bbclass to allow it to be put out of the
>> recipe.
>>
>> FYI: I have a class for this, but the only other recipe using
>> gtk-query-immodules is
>> openembedded-core/meta/recipes-sato/matchbox-keyboard/
>> matchbox-keyboard_git.bb
>> Should I send a patch with the .bbclass to oe-core?
>>
>
> I think so. It is easier to read and avoid code duplication.

Will do.

>
>
>>
>> >
>> > As said by Martin, please read the README and follow the steps to send
>> > the patch...
>>
>> Seems to be a classic case of -ENOCOFFEEYET
>>
>> Will re-send with the right prefix
>>
>
> hehe, right ...
>
> Take a double expresso coffee and try again ;-)
>
> --
> Otavio Salvador                             O.S. Systems
> E-mail: otavio@ossystems.com.br  http://www.ossystems.com.br
> Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

Patch

diff --git a/meta-oe/recipes-support/maliit/maliit-framework/0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch b/meta-oe/recipes-support/maliit/maliit-framework/0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch
new file mode 100644
index 0000000..acd9a57
--- /dev/null
+++ b/meta-oe/recipes-support/maliit/maliit-framework/0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch
@@ -0,0 +1,34 @@ 
+From 33554f9b3fd493c7e28617fd01466ffa87251f27 Mon Sep 17 00:00:00 2001
+From: Samuel Stirtzel <s.stirtzel@googlemail.com>
+Date: Wed, 1 Aug 2012 13:21:51 +0200
+Subject: [PATCH] Fix MALIIT_INSTALL_PRF to allow the build with openembedded
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
+---
+ config.pri |    8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/config.pri b/config.pri
+index b037b8c..43409f3 100644
+--- a/config.pri
++++ b/config.pri
+@@ -161,9 +161,11 @@ contains(QT_MAJOR_VERSION, 4) {
+     QT_WIDGETS = gui widgets
+ }
+ 
+-MALIIT_INSTALL_PRF = $$[QT_INSTALL_DATA]/mkspecs/features
+-local-install {
+-    MALIIT_INSTALL_PRF = $$replace(MALIIT_INSTALL_PRF, $$[QT_INSTALL_PREFIX], $$PREFIX)
++isEmpty(MALIIT_INSTALL_PRF) {
++    MALIIT_INSTALL_PRF = $$[QT_INSTALL_DATA]/mkspecs/features
++    local-install {
++        MALIIT_INSTALL_PRF = $$replace(MALIIT_INSTALL_PRF, $$[QT_INSTALL_PREFIX], $$PREFIX)
++    }
+ }
+ 
+ defineTest(outputFile) {
+-- 
+1.7.9.5
+
diff --git a/meta-oe/recipes-support/maliit/maliit-framework/0001-Fix-QT_IM_PLUGIN_PATH-to-allow-openembedded-to-build.patch b/meta-oe/recipes-support/maliit/maliit-framework/0001-Fix-QT_IM_PLUGIN_PATH-to-allow-openembedded-to-build.patch
new file mode 100644
index 0000000..830e6de
--- /dev/null
+++ b/meta-oe/recipes-support/maliit/maliit-framework/0001-Fix-QT_IM_PLUGIN_PATH-to-allow-openembedded-to-build.patch
@@ -0,0 +1,34 @@ 
+From fb6acbd2af9ed288c1c4f4200fc73d8d9955486a Mon Sep 17 00:00:00 2001
+From: Samuel Stirtzel <s.stirtzel@googlemail.com>
+Date: Wed, 1 Aug 2012 13:33:10 +0200
+Subject: [PATCH] Fix QT_IM_PLUGIN_PATH to allow openembedded to build Maliit
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
+---
+ input-context/input-context.pri |   10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/input-context/input-context.pri b/input-context/input-context.pri
+index d94e6a3..d460e70 100644
+--- a/input-context/input-context.pri
++++ b/input-context/input-context.pri
+@@ -25,8 +25,10 @@ for(OPTION,$$list($$lower($$COV_OPTION))){
+ 
+ QMAKE_CLEAN += $$OBJECTS_DIR/*.gcno $$OBJECTS_DIR/*.gcda
+ 
+-QT_IM_PLUGIN_PATH = $$[QT_INSTALL_PLUGINS]/inputmethods
+-QT_PREFIX = $$[QT_INSTALL_PREFIX]
+-local-install {
+-    QT_IM_PLUGIN_PATH = $$replace(QT_IM_PLUGIN_PATH, $$QT_PREFIX, $$PREFIX)
++isEmpty(QT_IM_PLUGIN_PATH) {
++    QT_IM_PLUGIN_PATH = $$[QT_INSTALL_PLUGINS]/inputmethods
++    QT_PREFIX = $$[QT_INSTALL_PREFIX]
++    local-install {
++        QT_IM_PLUGIN_PATH = $$replace(QT_IM_PLUGIN_PATH, $$QT_PREFIX, $$PREFIX)
++    }
+ }
+-- 
+1.7.9.5
+
diff --git a/meta-oe/recipes-support/maliit/maliit-framework_git.bb b/meta-oe/recipes-support/maliit/maliit-framework_git.bb
new file mode 100644
index 0000000..3f50d1b
--- /dev/null
+++ b/meta-oe/recipes-support/maliit/maliit-framework_git.bb
@@ -0,0 +1,86 @@ 
+DESCRIPTION = "A virtual keyboard for touch-screen based user interfaces"
+HOMEPAGE = "https://wiki.maliit.org/Main_Page"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=5c917f6ce94ceb8d8d5e16e2fca5b9ad"
+
+inherit autotools qt4x11
+
+
+SRC_URI = "git://gitorious.org/maliit/maliit-framework.git;branch=master \
+    file://0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch \
+    file://0001-Fix-QT_IM_PLUGIN_PATH-to-allow-openembedded-to-build.patch \
+    "
+
+SRCREV = "750842dec74a9b17dca91ef779c4fc5a43c4d9dc"
+PV = "0.92.3+git${SRCPV}"
+
+
+PACKAGES =+ "\
+    ${PN}-gtk \
+    "
+
+# Maliit needs Qt configured with -accessibility, a patch for that was already sent and will get merged in post 1.2.
+RDEPENDS_${PN} = "qt4-plugin-inputmethod-imsw-multi libqtsvg4"
+
+RRECOMMENDS_${PN} = "maliit-plugins"
+
+
+FILES_${PN} += "\
+    ${libdir}/maliit/plugins-*/factories/libmaliit-plugins-quick-factory-*.so \
+    ${libdir}/qt4/plugins/inputmethods/*.so \
+    "
+
+FILES_${PN}-dbg += "\
+    ${libdir}/maliit-framework-tests \
+    ${libdir}/gtk-*/*/immodules/.debug \
+    ${libdir}/maliit/plugins-*/factories/.debug \
+    ${libdir}/qt4/plugins/.debug \
+    ${libdir}/qt4/plugins/inputmethods/.debug \
+    "
+
+FILES_${PN}-dev += "${datadir}/qt4"
+
+FILES_${PN}-gtk +="\
+    ${bindir}/maliit-exampleapp-gtk* \
+    \
+    ${libdir}/gtk-*/*/immodules/libim-maliit.so\
+    "
+
+EXTRA_QMAKEVARS_PRE = "\
+    PREFIX=${prefix} \
+    LIBDIR=${libdir} \
+    QT_IM_PLUGIN_PATH=${libdir}/qt4/plugins/inputmethods \
+    MALIIT_INSTALL_PRF=${datadir}/qt4/mkspecs/features \
+    SCHEMADIR=${sysconfdir}/gconf/schemas \
+    CONFIG+=disable-gconf \
+    CONFIG+=disable-gtk-cache-update \
+    CONFIG+=local-install \
+    "
+
+do_install() {
+    cd ${S} && (INSTALL_ROOT=${D} oe_runmake install)
+
+    #Fix absolute paths
+    cd ${D}/${datadir}/qt4/mkspecs/features && sed -i -e "s|/usr|${STAGING_DIR_TARGET}${prefix}|" ./maliit-framework.prf
+    cd ${D}/${datadir}/qt4/mkspecs/features && sed -i -e "s|/usr|${STAGING_DIR_TARGET}${prefix}|" ./maliit-plugins.prf
+}
+
+
+
+# Update the inputmethod modules in gtk
+pkg_postinst_${PN}-gtk() {
+if [ "x$D" != "x" ]; then
+    exit 1
+fi
+gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules
+}
+
+pkg_postrm_${PN}-gtk() {
+if [ "x$D" != "x" ]; then
+    exit 1
+fi
+gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules
+}
+
+S= "${WORKDIR}/git"
diff --git a/meta-oe/recipes-support/maliit/maliit-plugins_git.bb b/meta-oe/recipes-support/maliit/maliit-plugins_git.bb
new file mode 100644
index 0000000..932c0ae
--- /dev/null
+++ b/meta-oe/recipes-support/maliit/maliit-plugins_git.bb
@@ -0,0 +1,34 @@ 
+DESCRIPTION = "Plugins for a virtual keyboard for touch-screen based user interfaces"
+HOMEPAGE = "https://wiki.maliit.org/Main_Page"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f29b21caa8e460097bfad9c026a33621"
+
+inherit autotools qt4x11
+
+DEPENDS = "maliit-framework"
+
+SRC_URI = "git://gitorious.org/maliit/maliit-plugins.git;branch=master"
+
+SRCREV = "0760e585df494b394df1b887e5138ffef19c481f"
+PV = "0.92.3+git${SRCPV}"
+
+EXTRA_QMAKEVARS_PRE = "\
+    PREFIX=${prefix} \
+    LIBDIR=${libdir} \
+    "
+
+FILES_${PN} += "\
+    ${libdir}/maliit \
+    ${datadir} \
+    "
+
+FILES_${PN}-dbg += "\
+    ${libdir}/maliit/plugins-*/.debug \
+    "
+
+S= "${WORKDIR}/git"
+
+do_install() {
+  cd ${S} && (INSTALL_ROOT=${D} oe_runmake install)
+}