From d691c447784646688b3b0445d63359a7d9292926 Mon Sep 17 00:00:00 2001 From: Stefan Schmidt Date: Sat, 28 Sep 2013 22:25:14 +0000 Subject: [PATCH] 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 Signed-off-by: Stefan Schmidt --- ...LL_PRF-to-allow-the-build-with-opene.patch | 34 +++++++ ..._PATH-to-allow-openembedded-to-build.patch | 34 +++++++ ...libmaliit-1-0-in-inputcontext-plugin.patch | 23 +++++ .../maliit-server.desktop | 6 ++ recipes-qt/maliit/maliit-framework-qt5_git.bb | 98 +++++++++++++++++++ recipes-qt/maliit/maliit-plugins-qt5_git.bb | 41 ++++++++ 6 files changed, 236 insertions(+) create mode 100644 recipes-qt/maliit/maliit-framework-qt5/0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch create mode 100644 recipes-qt/maliit/maliit-framework-qt5/0001-Fix-QT_IM_PLUGIN_PATH-to-allow-openembedded-to-build.patch create mode 100644 recipes-qt/maliit/maliit-framework-qt5/0001-Link-to-libmaliit-1-0-in-inputcontext-plugin.patch create mode 100644 recipes-qt/maliit/maliit-framework-qt5/maliit-server.desktop create mode 100644 recipes-qt/maliit/maliit-framework-qt5_git.bb create mode 100644 recipes-qt/maliit/maliit-plugins-qt5_git.bb diff --git a/recipes-qt/maliit/maliit-framework-qt5/0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch b/recipes-qt/maliit/maliit-framework-qt5/0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch new file mode 100644 index 0000000000..acd9a57a57 --- /dev/null +++ b/recipes-qt/maliit/maliit-framework-qt5/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 +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 +--- + 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/recipes-qt/maliit/maliit-framework-qt5/0001-Fix-QT_IM_PLUGIN_PATH-to-allow-openembedded-to-build.patch b/recipes-qt/maliit/maliit-framework-qt5/0001-Fix-QT_IM_PLUGIN_PATH-to-allow-openembedded-to-build.patch new file mode 100644 index 0000000000..830e6deb4e --- /dev/null +++ b/recipes-qt/maliit/maliit-framework-qt5/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 +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 +--- + 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/recipes-qt/maliit/maliit-framework-qt5/0001-Link-to-libmaliit-1-0-in-inputcontext-plugin.patch b/recipes-qt/maliit/maliit-framework-qt5/0001-Link-to-libmaliit-1-0-in-inputcontext-plugin.patch new file mode 100644 index 0000000000..c2291c6b7b --- /dev/null +++ b/recipes-qt/maliit/maliit-framework-qt5/0001-Link-to-libmaliit-1-0-in-inputcontext-plugin.patch @@ -0,0 +1,23 @@ +From cc33efdedbec9e9a55e9a0c6756516fd84d42e53 Mon Sep 17 00:00:00 2001 +From: Samuel Stirtzel +Date: Fri, 1 Mar 2013 11:31:41 +0100 +Subject: [PATCH] Link to libmaliit-1,0 in inputcontext plugin + +Signed-off-by: Samuel Stirtzel +--- + .../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 + diff --git a/recipes-qt/maliit/maliit-framework-qt5/maliit-server.desktop b/recipes-qt/maliit/maliit-framework-qt5/maliit-server.desktop new file mode 100644 index 0000000000..24bdf9b525 --- /dev/null +++ b/recipes-qt/maliit/maliit-framework-qt5/maliit-server.desktop @@ -0,0 +1,6 @@ +[Desktop Entry] +Name=Maliit server +Exec=/usr/bin/maliit-server +Icon= +Type=Application +Categories=Utility; diff --git a/recipes-qt/maliit/maliit-framework-qt5_git.bb b/recipes-qt/maliit/maliit-framework-qt5_git.bb new file mode 100644 index 0000000000..ccd0c4cbbf --- /dev/null +++ b/recipes-qt/maliit/maliit-framework-qt5_git.bb @@ -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" diff --git a/recipes-qt/maliit/maliit-plugins-qt5_git.bb b/recipes-qt/maliit/maliit-plugins-qt5_git.bb new file mode 100644 index 0000000000..fa3d1fd6d4 --- /dev/null +++ b/recipes-qt/maliit/maliit-plugins-qt5_git.bb @@ -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}"