merge of '7393275c6ccce67cadeb49d4afb3459e56edf8a9'
[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 RDEPENDS = "atd tzdata tzdata-africa tzdata-americas tzdata-antarctica tzdata-arctic tzdata-asia tzdata-atlantic tzdata-australia tzdata-europe tzdata-pacific"
15 PROVIDES = "qtopia-phone"
16 PR = "r8"
17 SRCREV = "${AUTOREV}"
18 SRC_URI = "git://git.openmoko.org/git/qtopia.git;protocol=git \
19            file://Xsession.d/89qtopia \
20            file://qtopia.sh"
21
22 S = "${WORKDIR}/git"
23
24 inherit pkgconfig
25
26 TARGET-DEVICE="${@base_contains('MACHINE', 'nokia770', ' nokia770', '',d)}"
27 TARGET-DEVICE="${@base_contains('MACHINE', 'nokia800', ' nokia770', '',d)}"
28 TARGET-DEVICE="${@base_contains('MACHINE', 'spitz', ' c3200', '',d)}"
29 TARGET-DEVICE="${@base_contains('MACHINE', 'tosa', ' c3200', '',d)}"
30 TARGET-DEVICE="${@base_contains('MACHINE', 'fic-gta01', 'ficgta01', '',d)}"
31 TARGET-DEVICE="${@base_contains('MACHINE', 'fic-gta02', 'ficgta01', '',d)}"
32
33 require qtopia-phone_arch.inc
34
35 QT_ARCH = "${@qtopia_arch(d)}"
36 QT_ENDIAN = "${@qtopia_endian(d)}"
37 PLATFORM = "${BUILD_OS}-g++"
38 BUILDDIR = "${WORKDIR}/build"
39 OE_QT_PREFIX = "/opt/Qtopia"
40
41 export OE_QMAKE_CC="${CC}"
42 export OE_QMAKE_CFLAGS="${CFLAGS}"
43 export OE_QMAKE_CXX="${CXX}"
44 export OE_QMAKE_LDFLAGS="${LDFLAGS}"
45 export OE_QMAKE_AR="${AR}"
46 export OE_QMAKE_STRIP="echo"
47 export OE_QMAKE_RPATH="-Wl,-rpath-link,"
48
49 do_configure() {
50
51 # This qmake some how does not honor env var, let us fix it by sed force
52 sed -i s%$\(OE_QMAKE_CC\)%"${CC}"%g               ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/linux-oe-g++/qmake.conf
53 sed -i s%$\(OE_QMAKE_CFLAGS\)%"${CFLAGS}"%g       ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/linux-oe-g++/qmake.conf
54 sed -i s%$\(OE_QMAKE_CXX\)%"${CXX}"%g             ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/linux-oe-g++/qmake.conf
55 sed -i s%$\(OE_QMAKE_CXXFLAGS\)%"${CXXFLAGS}"%g   ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/linux-oe-g++/qmake.conf
56 sed -i s%$\(OE_QMAKE_LINK\)%"${CXX}"%g            ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/linux-oe-g++/qmake.conf
57 sed -i s%$\(OE_QMAKE_LDFLAGS\)%"${LDFLAGS}"%g     ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/linux-oe-g++/qmake.conf
58 sed -i s%$\(OE_QMAKE_AR\)%"${AR}"%g               ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/linux-oe-g++/qmake.conf
59 sed -i s%$\(OE_QMAKE_STRIP\)%"echo"%g             ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/linux-oe-g++/qmake.conf
60
61
62 unset CC
63 unset CXX
64 unset CFLAGS
65 unset CXXFLAGS
66 unset LDFLAGS
67
68
69 mkdir -p ${BUILDDIR}
70 cd ${BUILDDIR}
71 echo yes | ${S}/configure -xplatform linux-oe-g++ -arch ${QT_ARCH} ${QT_ENDIAN} -prefix ${OE_QT_PREFIX} -device ${TARGET-DEVICE} -verbose \
72                           -no-drm -no-sxe -displaysize 480x640 -dbus -debug -extra-qtopiacore-config "-qt-libjpeg -qt-zlib -qt-libpng -no-iconv -no-sm -fontconfig -xrender -xrandr" \
73                            -I${STAGING_INCDIR}/freetype2 -I${STAGING_INCDIR}/fontconfig -I${STAGING_INCDIR}/dbus-1.0
74
75 }
76
77 do_compile() {
78     cd ${BUILDDIR}
79     oe_runmake
80 }
81
82 do_stage() {
83 }
84
85
86 do_install() {
87    cd ${BUILDDIR}
88    oe_runmake install INSTALL_ROOT=${D}${OE_QT_PREFIX} IMAGE=${D}${OE_QT_PREFIX}
89
90    # Install freedesktop.org .desktop files for enlightenment
91    install -d ${D}${datadir}/applications
92    for app in "${S}/apps-fdo/"*; do
93      for file in "$app"/*.desktop; do
94         install -m 0644 $file ${D}${datadir}/applications/
95      done
96    done 
97
98    # Install good icons for the desktop files
99
100    # Make sure qpe gets launched by X
101    install -d ${D}/${sysconfdir}/X11/Xsession.d
102    install -m 0755 ${WORKDIR}/Xsession.d/89qtopia ${D}${sysconfdir}/X11/Xsession.d/
103
104    # Install some scripts
105    install -d ${D}${bindir}
106    install -m 0755 ${S}/bin/qcop-x11-launch ${D}${bindir}
107
108    install -d ${D}${sysconfdir}/profile.d/
109    install -m 0755 ${WORKDIR}/qtopia.sh ${D}${sysconfdir}/profile.d/
110 }
111
112 FILES_${PN} += "${OE_QT_PREFIX}/bin ${OE_QT_PREFIX}/help  \
113                 ${OE_QT_PREFIX}/lib/*.so.* ${OE_QT_PREFIX}/plugins/*/*.so \
114                 ${OE_QT_PREFIX}/qtopia_db.sqlite ${OE_QT_PREFIX}/sounds \
115                 ${OE_QT_PREFIX}/etc ${OE_QT_PREFIX}/i18n \
116                 ${OE_QT_PREFIX}/pics ${OE_QT_PREFIX}/qt_plugins/*/*.so \
117                 ${OE_QT_PREFIX}/services"
118
119 FILES_${PN}-dbg += "${OE_QT_PREFIX}/lib/.debug/ ${OE_QT_PREFIX}/bin/.debug/ \
120                     ${OE_QT_PREFIX}/plugins/*/.debug/ ${OE_QT_PREFIX}/qt_plugins/*/.debug/ "
121
122 FILES_${PN}-dev += "${OE_QT_PREFIX}/lib/*.so"
123