maliit: Import maliit recipes from meta-oe

* Imported from rev 13ae5105ee30410136beeae66ec41ee4a8a2e2b0
  This is the first step to move these recipes over to qt5.
* maliit-framework-qt5: Build with qt5
  Switch to new github repo
  Update SRCREV and remove patches which now longer apply
  Disable doc generation and xcb
  Fix packaging
* maliit-plugins-qt5: Build with qt5.
  Switch to new github repo
  Update SRCREV and PV
  Fix packaging
* maliit-*-qt5: Adjust MKSPEC path
* meta-framework-qt5: Cleanup packaging and enable dbus activation.
  Move pkgconfig files, headers and spec files into dev.
  Cleanup packaging rules
  Enable dbus activation to start maliit server on demand
* maliit-plugins-qt5: Set MALIIT_PLUGINS_DATA_DIR to avoid path leakage from host
  If not overriden here MALIIT_PLUGINS_DATA_DIR would point to some host
  paths resulting in e.g. qml files not being found.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
This commit is contained in:
Stefan Schmidt 2013-09-28 22:25:14 +00:00 committed by Martin Jansa
parent f4188229f1
commit d691c44778
6 changed files with 236 additions and 0 deletions

View File

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

View File

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

View File

@ -0,0 +1,23 @@
From cc33efdedbec9e9a55e9a0c6756516fd84d42e53 Mon Sep 17 00:00:00 2001
From: Samuel Stirtzel <s.stirtzel@googlemail.com>
Date: Fri, 1 Mar 2013 11:31:41 +0100
Subject: [PATCH] Link to libmaliit-1,0 in inputcontext plugin
Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
---
.../input-context-plugin/input-context-plugin.pro | 2 ++
1 file changed, 2 insertions(+)
diff --git a/input-context/input-context-plugin/input-context-plugin.pro b/input-context/input-context-plugin/input-context-plugin.pro
index eefbe93..296e2fa 100644
--- a/input-context/input-context-plugin/input-context-plugin.pro
+++ b/input-context/input-context-plugin/input-context-plugin.pro
@@ -15,3 +15,5 @@ CONFIG += plugin
INSTALLS += target
target.path += $$QT_IM_PLUGIN_PATH
+
+LIBS += -L../../lib -l"maliit-1.0"
--
1.7.9.5

View File

@ -0,0 +1,6 @@
[Desktop Entry]
Name=Maliit server
Exec=/usr/bin/maliit-server
Icon=
Type=Application
Categories=Utility;

View File

@ -0,0 +1,98 @@
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 qmake5
# Set path of qt5 headers as qmake5_base.bbclass sets this to just ${includedir}
# but
# actually it is ${includedir}/qt5
OE_QMAKE_PATH_HEADERS = "${OE_QMAKE_PATH_QT_HEADERS}"
SRC_URI = "git://github.com/maliit/framework.git;branch=master \
file://0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch \
file://maliit-server.desktop \
"
SRCREV = "dbc0403f329d7f6ce2f5a09e6ff5adbd2548a8c9"
PV = "0.99.0+git${SRCPV}"
PACKAGES =+ "${PN}-gtk"
GTKIMMODULES_PACKAGES = "${PN}-gtk"
# FIXME: Do we need something like this with qt5?
#RDEPENDS_${PN} = "qt4-plugin-inputmethod-imsw-multi libqtsvg4"
RRECOMMENDS_${PN} = "maliit-plugins-qt5"
FILES_${PN} += "\
${libdir}/*.so* \
${bindir} \
${datadir}/applications/maliit-server.desktop \
${datadir}/dbus-1 \
"
FILES_${PN}-dbg += "\
${libdir}/maliit-framework-tests \
"
FILES_${PN}-dev += "\
${includedir}/maliit \
${libdir}/pkgconfig \
${libdir}/qt5 \
"
EXTRA_QMAKEVARS_PRE = "\
PREFIX=${prefix} \
LIBDIR=${libdir} \
QT_IM_PLUGIN_PATH=${libdir}/qt4/plugins/inputmethods \
MALIIT_INSTALL_PRF=${QMAKE_MKSPEC_PATH}/mkspecs/features \
SCHEMADIR=${sysconfdir}/gconf/schemas \
CONFIG+=disable-gconf \
CONFIG+=disable-gtk-cache-update \
CONFIG+=local-install \
CONFIG+=nosdk \
CONFIG+=nodoc \
CONFIG+=noxcb \
CONFIG+=enable-dbus-activation \
"
EXTRA_OEMAKE += "INSTALL_ROOT=${D}"
do_install_append() {
#Fix absolute paths
sed -i -e "s|/usr|${STAGING_DIR_TARGET}${prefix}|" ${D}/${libdir}/${QT_DIR_NAME}/mkspecs/features/maliit-framework.prf
sed -i -e "s|/usr|${STAGING_DIR_TARGET}${prefix}|" ${D}/${libdir}/${QT_DIR_NAME}/mkspecs/features/maliit-plugins.prf
sed -i -e "s|/usr|${STAGING_DIR_TARGET}${prefix}|" ${D}/${libdir}/${QT_DIR_NAME}/mkspecs/features/maliit-defines.prf
install -d ${D}${datadir}/applications
install -m 644 ${WORKDIR}/maliit-server.desktop ${D}${datadir}/applications
}
pkg_postinst_${PN} () {
#!/bin/sh
# should run online
if [ "x$D" != "x" ]; then
exit 1
fi
echo "export QT_IM_MODULE=Maliit" >> /etc/xprofile
ln -s /usr/share/applications/maliit-server.desktop /etc/xdg/autostart/maliit-server.desktop
}
pkg_postrm_${PN} () {
#!/bin/sh
# should run online
if [ "x$D" = "x" ]; then
exit 1
fi
if [ -e "/etc/xprofile" ]; then
sed -i -e "g|export QT_IM_MODULE=Maliit|d" /etc/xprofile
fi
rm -f /etc/xdg/autostart/maliit-server.desktop
}
S = "${WORKDIR}/git"

View File

@ -0,0 +1,41 @@
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 qmake5
# Set path of qt5 headers as qmake5_base.bbclass sets this to just ${includedir}
# but
# actually it is ${includedir}/qt5
OE_QMAKE_PATH_HEADERS = "${OE_QMAKE_PATH_QT_HEADERS}"
DEPENDS = "maliit-framework-qt5"
# FIXME: Do we need something like this with qt5?
#RDEPENDS_${PN} += "qt4-plugin-iconengine-svgicon qt4-plugin-imageformat-svg"
SRC_URI = "git://github.com/maliit/plugins.git;branch=master"
SRCREV = "c6a348592607248a771a3dde5a0e33dc3c433a2a"
PV = "0.99.0+git${SRCPV}"
EXTRA_QMAKEVARS_PRE = "\
PREFIX=${prefix} \
MALIIT_INSTALL_PRF=${QMAKE_MKSPEC_PATH}/mkspecs/features \
MALIIT_PLUGINS_DATA_DIR=${datadir} \
LIBDIR=${libdir} \
CONFIG+=nodoc \
"
FILES_${PN} += "\
${libdir}/maliit \
${datadir} \
"
FILES_${PN}-dbg += "${libdir}/maliit/plugins/.debug"
S= "${WORKDIR}/git"
EXTRA_OEMAKE += "INSTALL_ROOT=${D}"