[oe] [PATCH] Maliit: Add initial recipes

Samuel Stirtzel s.stirtzel at googlemail.com
Tue Oct 2 08:28:55 UTC 2012


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 at 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 at 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 at 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 at 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 at 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





More information about the Openembedded-devel mailing list