Patchwork ofono: libqofono: Added libqofono recipe

login
register
mail settings
Submitter eu@felipetonello.com
Date Sept. 30, 2013, 5:16 p.m.
Message ID <1380561400-574-1-git-send-email-eu@felipetonello.com>
Download mbox | patch
Permalink /patch/59145/
State Accepted, archived
Headers show

Comments

eu@felipetonello.com - Sept. 30, 2013, 5:16 p.m.
From: "Felipe F. Tonello" <eu@felipetonello.com>

libqofono is a Qt library for oFono that provides easy to use Qt library and
QML components to use oFono.

OBS: This recipe provides the Qt4 support only, but the library also works
with Qt5.

Signed-off-by: Felipe F. Tonello <eu@felipetonello.com>
---
 meta-oe/recipes-qt/libqofono/libqofono_0.4.bb | 88 +++++++++++++++++++++++++++
 1 file changed, 88 insertions(+)
 create mode 100644 meta-oe/recipes-qt/libqofono/libqofono_0.4.bb
eu@felipetonello.com - Oct. 8, 2013, 9:03 p.m.
Hi Martin,

On Fri, Oct 4, 2013 at 7:21 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
> On Mon, Sep 30, 2013 at 10:16:40AM -0700, Felipe F. Tonello wrote:
>> From: "Felipe F. Tonello" <eu@felipetonello.com>
>>
>> libqofono is a Qt library for oFono that provides easy to use Qt library and
>> QML components to use oFono.
>>
>> OBS: This recipe provides the Qt4 support only, but the library also works
>> with Qt5.
>>
>> Signed-off-by: Felipe F. Tonello <eu@felipetonello.com>
>> ---
>>  meta-oe/recipes-qt/libqofono/libqofono_0.4.bb | 88 +++++++++++++++++++++++++++
>>  1 file changed, 88 insertions(+)
>>  create mode 100644 meta-oe/recipes-qt/libqofono/libqofono_0.4.bb
>>
>> diff --git a/meta-oe/recipes-qt/libqofono/libqofono_0.4.bb b/meta-oe/recipes-qt/libqofono/libqofono_0.4.bb
>> new file mode 100644
>> index 0000000..7c34db2
>> --- /dev/null
>> +++ b/meta-oe/recipes-qt/libqofono/libqofono_0.4.bb
>> @@ -0,0 +1,88 @@
>> +DESCRIPTION = "Qt Library for oFono"
>> +HOMEPAGE = "https://github.com/nemomobile/libqofono"
>> +LICENSE = "Apache-2.0"
>> +LIC_FILES_CHKSUM = "file://README;endline=3;md5=8a15bce3921d1238d9a9f23828612947"
>> +
>> +SECTION = "qt/lib"
>> +
>> +PR = "r0"
>> +
>> +inherit qt4x11 pkgconfig
>> +
>> +RDEPENDS_${PN} = "ofono"
>> +RDEPENDS_${PN}-plugin = "${PN}"
>> +
>> +PROVIDES += "${PN}-plugin"
>> +
>> +PACKAGES =+ "${PN}-plugin ${PN}-plugin-dbg ${PN}-test"
>> +RRECOMMENDS_${PN} = "${PN}-plugin"
>> +
>> +BRANCH = "master"
>> +TAG = "${PV}"
>> +
>> +SRC_URI = " \
>> +  git://github.com/nemomobile/${PN}.git;branch=${BRANCH};tag=${TAG} \
>> +"
>> +
>> +S = "${WORKDIR}/git"
>> +
>> +QT_IMPORTS_DIR = "${libdir}/qt4/imports"
>> +PLUGINS_TARGET = "${QT_IMPORTS_DIR}/MeeGo/QOfono"
>> +
>> +FILES_${PN} = " \
>> +  ${libdir}/libqofono${SOLIBS} \
>> +"
>> +
>> +FILES_${PN}-dev = " \
>> +  ${includedir}/qofono/* \
>> +  ${includedir}/qofono/dbus/* \
>> +  ${libdir}/libqofono${SOLIBSDEV} \
>> +  ${libdir}/libqofono.prl \
>> +  ${libdir}/pkgconfig/qofono.pc \
>> +  ${datadir}/qt4/mkspecs/features/qofono.prf \
>> +"
>> +
>> +FILES_${PN}-plugin = " \
>> +  ${PLUGINS_TARGET}/qmldir \
>> +  ${PLUGINS_TARGET}/lib*.so \
>> +"
>> +
>> +FILES_${PN}-plugin-dbg = " \
>> +  ${PLUGINS_TARGET}/.debug \
>> +"
>> +
>> +FILES_${PN}-test = " \
>> +  /opt/ofonotest/bin/ofonotest \
>> +  /opt/ofonotest/qml/ofonotest \
>> +  ${libdir}/libqofono/tests/tst_qofonotest \
>> +"
>> +
>> +FILES_${PN}-dbg += " \
>> +  /opt/ofonotest/bin/.debug \
>> +  ${libdir}/libqofono/tests/.debug \
>> +"
>> +
>> +EXTRA_QMAKEVARS_PRE = " \
>> +  PREFIX=${prefix} \
>> +"
>> +
>> +do_configure_prepend() {
>> +  # Hack *.pro variables
>> +  find . -iname '*.pro' -exec sed -i -e 's,$$\[QT_INSTALL_IMPORTS\],${QT_IMPORTS_DIR},g' '{}' ';'
>> +  find . -iname '*.pro' -exec sed -i -e 's,$$\[QT_INSTALL_PREFIX\],$$INSTALL_ROOT$$PREFIX,g' '{}' ';'
>> +}
>> +
>> +do_install() {
>> +  cd ${S} && (INSTALL_ROOT=${D} oe_runmake install)
>> +
>> +  cd ${D}/${datadir}/qt4/mkspecs/features
>> +
>> +  sed -i -e '/DEPENDPATH.*/d' qofono.prf
>> +  sed -i -e '/INCLUDEPATH.*/d' qofono.prf
>> +  sed -i -e '/LIBS.*/d' qofono.prf
>> +
>> +  # to make it work with the SDK
>> +  echo 'DEPENDPATH += $(OE_QMAKE_INCDIR_QT)/../qofono' >> qofono.prf
>> +  echo 'INCLUDEPATH += $(OE_QMAKE_INCDIR_QT)/../qofono' >> qofono.prf
>> +  echo 'LIBS += -lqofono' >> qofono.prf
>> +}
>
> It's trying to install in root, do you know why?

Maybe because you are using dash. This recipe doesn't work in dash,
you can fix it just by removing the INSTALL_ROOT=${D} on the same line
as the make command. Just add export INSTALL_ROOT=${D} one line above.

If you want I can fix it, or you can.. I don't mind.

BR

Felipe Tonello
Martin Jansa - Oct. 8, 2013, 9:20 p.m.
On Tue, Oct 08, 2013 at 02:03:33PM -0700, Felipe Tonello wrote:
> Hi Martin,
> 
> On Fri, Oct 4, 2013 at 7:21 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
> > On Mon, Sep 30, 2013 at 10:16:40AM -0700, Felipe F. Tonello wrote:
> >> From: "Felipe F. Tonello" <eu@felipetonello.com>
> >>
> >> libqofono is a Qt library for oFono that provides easy to use Qt library and
> >> QML components to use oFono.
> >>
> >> OBS: This recipe provides the Qt4 support only, but the library also works
> >> with Qt5.
> >>
> >> Signed-off-by: Felipe F. Tonello <eu@felipetonello.com>
> >> ---
> >>  meta-oe/recipes-qt/libqofono/libqofono_0.4.bb | 88 +++++++++++++++++++++++++++
> >>  1 file changed, 88 insertions(+)
> >>  create mode 100644 meta-oe/recipes-qt/libqofono/libqofono_0.4.bb
> >>
> >> diff --git a/meta-oe/recipes-qt/libqofono/libqofono_0.4.bb b/meta-oe/recipes-qt/libqofono/libqofono_0.4.bb
> >> new file mode 100644
> >> index 0000000..7c34db2
> >> --- /dev/null
> >> +++ b/meta-oe/recipes-qt/libqofono/libqofono_0.4.bb
> >> @@ -0,0 +1,88 @@
> >> +DESCRIPTION = "Qt Library for oFono"
> >> +HOMEPAGE = "https://github.com/nemomobile/libqofono"
> >> +LICENSE = "Apache-2.0"
> >> +LIC_FILES_CHKSUM = "file://README;endline=3;md5=8a15bce3921d1238d9a9f23828612947"
> >> +
> >> +SECTION = "qt/lib"
> >> +
> >> +PR = "r0"
> >> +
> >> +inherit qt4x11 pkgconfig
> >> +
> >> +RDEPENDS_${PN} = "ofono"
> >> +RDEPENDS_${PN}-plugin = "${PN}"
> >> +
> >> +PROVIDES += "${PN}-plugin"
> >> +
> >> +PACKAGES =+ "${PN}-plugin ${PN}-plugin-dbg ${PN}-test"
> >> +RRECOMMENDS_${PN} = "${PN}-plugin"
> >> +
> >> +BRANCH = "master"
> >> +TAG = "${PV}"
> >> +
> >> +SRC_URI = " \
> >> +  git://github.com/nemomobile/${PN}.git;branch=${BRANCH};tag=${TAG} \
> >> +"
> >> +
> >> +S = "${WORKDIR}/git"
> >> +
> >> +QT_IMPORTS_DIR = "${libdir}/qt4/imports"
> >> +PLUGINS_TARGET = "${QT_IMPORTS_DIR}/MeeGo/QOfono"
> >> +
> >> +FILES_${PN} = " \
> >> +  ${libdir}/libqofono${SOLIBS} \
> >> +"
> >> +
> >> +FILES_${PN}-dev = " \
> >> +  ${includedir}/qofono/* \
> >> +  ${includedir}/qofono/dbus/* \
> >> +  ${libdir}/libqofono${SOLIBSDEV} \
> >> +  ${libdir}/libqofono.prl \
> >> +  ${libdir}/pkgconfig/qofono.pc \
> >> +  ${datadir}/qt4/mkspecs/features/qofono.prf \
> >> +"
> >> +
> >> +FILES_${PN}-plugin = " \
> >> +  ${PLUGINS_TARGET}/qmldir \
> >> +  ${PLUGINS_TARGET}/lib*.so \
> >> +"
> >> +
> >> +FILES_${PN}-plugin-dbg = " \
> >> +  ${PLUGINS_TARGET}/.debug \
> >> +"
> >> +
> >> +FILES_${PN}-test = " \
> >> +  /opt/ofonotest/bin/ofonotest \
> >> +  /opt/ofonotest/qml/ofonotest \
> >> +  ${libdir}/libqofono/tests/tst_qofonotest \
> >> +"
> >> +
> >> +FILES_${PN}-dbg += " \
> >> +  /opt/ofonotest/bin/.debug \
> >> +  ${libdir}/libqofono/tests/.debug \
> >> +"
> >> +
> >> +EXTRA_QMAKEVARS_PRE = " \
> >> +  PREFIX=${prefix} \
> >> +"
> >> +
> >> +do_configure_prepend() {
> >> +  # Hack *.pro variables
> >> +  find . -iname '*.pro' -exec sed -i -e 's,$$\[QT_INSTALL_IMPORTS\],${QT_IMPORTS_DIR},g' '{}' ';'
> >> +  find . -iname '*.pro' -exec sed -i -e 's,$$\[QT_INSTALL_PREFIX\],$$INSTALL_ROOT$$PREFIX,g' '{}' ';'
> >> +}
> >> +
> >> +do_install() {
> >> +  cd ${S} && (INSTALL_ROOT=${D} oe_runmake install)
> >> +
> >> +  cd ${D}/${datadir}/qt4/mkspecs/features
> >> +
> >> +  sed -i -e '/DEPENDPATH.*/d' qofono.prf
> >> +  sed -i -e '/INCLUDEPATH.*/d' qofono.prf
> >> +  sed -i -e '/LIBS.*/d' qofono.prf
> >> +
> >> +  # to make it work with the SDK
> >> +  echo 'DEPENDPATH += $(OE_QMAKE_INCDIR_QT)/../qofono' >> qofono.prf
> >> +  echo 'INCLUDEPATH += $(OE_QMAKE_INCDIR_QT)/../qofono' >> qofono.prf
> >> +  echo 'LIBS += -lqofono' >> qofono.prf
> >> +}
> >
> > It's trying to install in root, do you know why?
> 
> Maybe because you are using dash. This recipe doesn't work in dash,
> you can fix it just by removing the INSTALL_ROOT=${D} on the same line
> as the make command. Just add export INSTALL_ROOT=${D} one line above.
> 
> If you want I can fix it, or you can.. I don't mind.

Ah right, I'm using dash on jenkins slave to catch such issues :)

I'll fix it, because it's faster for me to amend commit than fetching
new one from patchwork and squashing it, thanks.

Patch

diff --git a/meta-oe/recipes-qt/libqofono/libqofono_0.4.bb b/meta-oe/recipes-qt/libqofono/libqofono_0.4.bb
new file mode 100644
index 0000000..7c34db2
--- /dev/null
+++ b/meta-oe/recipes-qt/libqofono/libqofono_0.4.bb
@@ -0,0 +1,88 @@ 
+DESCRIPTION = "Qt Library for oFono"
+HOMEPAGE = "https://github.com/nemomobile/libqofono"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://README;endline=3;md5=8a15bce3921d1238d9a9f23828612947"
+
+SECTION = "qt/lib"
+
+PR = "r0"
+
+inherit qt4x11 pkgconfig
+
+RDEPENDS_${PN} = "ofono"
+RDEPENDS_${PN}-plugin = "${PN}"
+
+PROVIDES += "${PN}-plugin"
+
+PACKAGES =+ "${PN}-plugin ${PN}-plugin-dbg ${PN}-test"
+RRECOMMENDS_${PN} = "${PN}-plugin"
+
+BRANCH = "master"
+TAG = "${PV}"
+
+SRC_URI = " \
+  git://github.com/nemomobile/${PN}.git;branch=${BRANCH};tag=${TAG} \
+"
+
+S = "${WORKDIR}/git"
+
+QT_IMPORTS_DIR = "${libdir}/qt4/imports"
+PLUGINS_TARGET = "${QT_IMPORTS_DIR}/MeeGo/QOfono"
+
+FILES_${PN} = " \
+  ${libdir}/libqofono${SOLIBS} \
+"
+
+FILES_${PN}-dev = " \
+  ${includedir}/qofono/* \
+  ${includedir}/qofono/dbus/* \
+  ${libdir}/libqofono${SOLIBSDEV} \
+  ${libdir}/libqofono.prl \
+  ${libdir}/pkgconfig/qofono.pc \
+  ${datadir}/qt4/mkspecs/features/qofono.prf \
+"
+
+FILES_${PN}-plugin = " \
+  ${PLUGINS_TARGET}/qmldir \
+  ${PLUGINS_TARGET}/lib*.so \
+"
+
+FILES_${PN}-plugin-dbg = " \
+  ${PLUGINS_TARGET}/.debug \
+"
+
+FILES_${PN}-test = " \
+  /opt/ofonotest/bin/ofonotest \
+  /opt/ofonotest/qml/ofonotest \
+  ${libdir}/libqofono/tests/tst_qofonotest \
+"
+
+FILES_${PN}-dbg += " \
+  /opt/ofonotest/bin/.debug \
+  ${libdir}/libqofono/tests/.debug \
+"
+
+EXTRA_QMAKEVARS_PRE = " \
+  PREFIX=${prefix} \
+"
+
+do_configure_prepend() {
+  # Hack *.pro variables
+  find . -iname '*.pro' -exec sed -i -e 's,$$\[QT_INSTALL_IMPORTS\],${QT_IMPORTS_DIR},g' '{}' ';'
+  find . -iname '*.pro' -exec sed -i -e 's,$$\[QT_INSTALL_PREFIX\],$$INSTALL_ROOT$$PREFIX,g' '{}' ';'
+}
+
+do_install() {
+  cd ${S} && (INSTALL_ROOT=${D} oe_runmake install)
+
+  cd ${D}/${datadir}/qt4/mkspecs/features
+
+  sed -i -e '/DEPENDPATH.*/d' qofono.prf
+  sed -i -e '/INCLUDEPATH.*/d' qofono.prf
+  sed -i -e '/LIBS.*/d' qofono.prf
+
+  # to make it work with the SDK
+  echo 'DEPENDPATH += $(OE_QMAKE_INCDIR_QT)/../qofono' >> qofono.prf
+  echo 'INCLUDEPATH += $(OE_QMAKE_INCDIR_QT)/../qofono' >> qofono.prf
+  echo 'LIBS += -lqofono' >> qofono.prf
+}