Qtopia/X11: Install a qtopia.sh into the profile.d to set PATH, QPEDIR and LD_LIBRARY...
[vuplus_openembedded] / packages / qtopia-phone / qtopia-phone-x11_4.3.1.bb
1 # This is qtopia-phone recipe heavilly based off the one in the qtopia-phone
2 # distribution.
3 #
4 # Please DO NOT merge this file into OE, it is not suitable for that yet as
5 # it compiles both native and target binaries. This requires stuff to be
6 # installed on the host which is against the aim of OE.
7
8 DESCRIPTION = "Qtopia OpenSource"
9 SECTION = "qtopia-phone"
10 LICENSE = "GPL"
11 PRIORITY = "optional"
12 HOMEPAGE = "http://www.trolltech.com"
13 DEPENDS = "glib-2.0 dbus freetype alsa-lib bluez-libs virtual/libx11 fontconfig xft libxext libxrender libxrandr libxcursor libxtst"
14 PROVIDES = "qtopia-phone"
15 PR = "r4"
16 SRCREV = "${AUTOREV}"
17 SRC_URI = "git://git.openmoko.org/git/qtopia.git;protocol=git \
18            file://device-conf \
19            file://qplatformdefs.h \
20            file://Xsession.d/99qtopia \
21            file://qtopia.sh"
22
23 S = "${WORKDIR}/git"
24
25 inherit pkgconfig
26
27 TARGET-DEVICE="${@base_contains('MACHINE', 'nokia770', ' nokia770', '',d)}"
28 TARGET-DEVICE="${@base_contains('MACHINE', 'nokia800', ' nokia770', '',d)}"
29 TARGET-DEVICE="${@base_contains('MACHINE', 'spitz', ' c3200', '',d)}"
30 TARGET-DEVICE="${@base_contains('MACHINE', 'tosa', ' c3200', '',d)}"
31 TARGET-DEVICE="${@base_contains('MACHINE', 'fic-gta01', 'ficgta01', '',d)}"
32 TARGET-DEVICE="${@base_contains('MACHINE', 'fic-gta02', 'ficgta01', '',d)}"
33
34 export QTOPIA_DEPOT_PATH = "${S}"
35
36 require qtopia-phone_arch.inc
37
38 QT_ARCH = "${@qtopia_arch(d)}"
39 QT_ENDIAN = "${@qtopia_endian(d)}"
40 PLATFORM = "${BUILD_OS}-g++"
41 XPLATFORM = "linux-oe-g++"
42 BUILDDIR = "${WORKDIR}/build"
43
44 OE_QT_DBUSPATH = "${STAGING_DIR_HOST}"
45 OE_QT_ARCH = "${QT_ARCH}"
46 OE_QT_XPLATFORM = "${XPLATFORM}"
47 OE_QT_LIBDIR = "${STAGING_LIBDIR}"
48 OE_QT_INCDIR = "${STAGING_INCDIR}"
49 OE_QT_RPREFIX = "/opt/Qtopia"
50 OE_QT_ENDIAN = "${QT_ENDIAN}"
51 OE_QT_EXTRACONFIG = "-I${STAGING_INCDIR}/dbus-1.0"
52
53 do_configure() {
54
55 unset CC
56 unset CXX
57 unset CFLAGS
58 unset CXXFLAGS
59 unset LDFLAGS
60
61 mkdir -p ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/${XPLATFORM}
62 install -m 644 ${S}/qtopiacore/qt/mkspecs/qws/linux-arm-g++/qmake.conf \
63     ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/${XPLATFORM}
64 install -m 644 ${WORKDIR}/qplatformdefs.h \
65     ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/${XPLATFORM}
66 sed -i -e "s@arm-linux-@${TARGET_SYS}-@" ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/${XPLATFORM}/qmake.conf
67 sed -i -e "s|QMAKE_RPATH.*|QMAKE_RPATH =|" ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/${XPLATFORM}/qmake.conf
68
69 # sed the dynamic config into the file
70 sed -i -e "s|OE_QT_DBUSPATH|${OE_QT_DBUSPATH}|" ${WORKDIR}/device-conf
71 sed -i -e "s|OE_QT_ARCH|${OE_QT_ARCH}|" ${WORKDIR}/device-conf
72 sed -i -e "s|OE_QT_XPLATFORM|${OE_QT_XPLATFORM}|" ${WORKDIR}/device-conf
73 sed -i -e "s|OE_QT_LIBDIR|${OE_QT_LIBDIR}|" ${WORKDIR}/device-conf
74 sed -i -e "s|OE_QT_INCDIR|${OE_QT_INCDIR}|" ${WORKDIR}/device-conf
75 sed -i -e "s|OE_QT_RPREFIX|${OE_QT_RPREFIX}|" ${WORKDIR}/device-conf
76 sed -i -e "s|OE_QT_ENDIAN|${OE_QT_ENDIAN}|" ${WORKDIR}/device-conf
77 sed -i -e "s|OE_QT_EXTRACONFIG|${OE_QT_EXTRACONFIG}|" ${WORKDIR}/device-conf
78
79 rm -f ${S}/devices/${TARGET-DEVICE}/configure
80 cp ${WORKDIR}/device-conf ${S}/devices/${TARGET-DEVICE}/configure
81 rm -f ${S}/devices/${TARGET-DEVICE}/environment
82 echo "" > ${S}/devices/${TARGET-DEVICE}/environment
83
84 mkdir -p ${BUILDDIR}
85 cd ${BUILDDIR}
86 echo yes | ${S}/configure -device ${TARGET-DEVICE} -xplatform ${XPLATFORM}
87
88 }
89
90 do_compile() {
91     cd ${BUILDDIR}
92     oe_runmake
93 }
94
95 do_stage() {
96 }
97
98
99 do_install() {
100    cd ${BUILDDIR}
101    oe_runmake install INSTALL_ROOT=${D}${OE_QT_RPREFIX} IMAGE=${D}${OE_QT_RPREFIX}
102
103    # Install freedesktop.org .desktop files for enlightenment
104    install -d ${D}${datadir}/applications
105    for app in "${S}/apps-fdo/"*; do
106      for file in "$app"/*.desktop; do
107         install -m 0644 $file ${D}${datadir}/applications/
108      done
109    done 
110
111    # Install good icons for the desktop files
112
113    # Make sure qpe gets launched by X
114    install -d ${D}/${sysconfdir}/X11/Xsession.d
115    install -m 0755 ${WORKDIR}/Xsession.d/99qtopia ${D}${sysconfdir}/X11/Xsession.d/
116
117    # Install some scripts
118    install -d ${D}${bindir}
119    install -m 0755 ${S}/bin/qcop-x11-launch ${D}${bindir}
120
121    install -d ${D}${sysconfdir}/profile.d/
122    install -m 0755 ${WORKDIR}/qtopia.sh ${D}${sysconfdir}/profile.d/
123 }
124
125 FILES_${PN} += "${OE_QT_RPREFIX}/bin ${OE_QT_RPREFIX}/help  \
126                 ${OE_QT_RPREFIX}/lib/*.so.* ${OE_QT_RPREFIX}/plugins \
127                 ${OE_QT_RPREFIX}/qtopia_db.sqlite ${OE_QT_RPREFIX}/sounds \
128                 ${OE_QT_RPREFIX}/etc ${OE_QT_RPREFIX}/i18n \
129                 ${OE_QT_RPREFIX}/pics ${OE_QT_RPREFIX}/qt_plugins \
130                 ${OE_QT_RPREFIX}/services ${OE_QT_RPREFIX}/lib/fonts"
131
132 FILES_${PN}-dev += "${OE_QT_RPREFIX}/lib/*.so"
133