Merge Opie-Console_CVS Conflict
[vuplus_openembedded] / qte / qte_2.3.7.oe
1 DESCRIPTION = "Qt/Embedded version ${PV}"
2 SECTION = "libs"
3 PRIORITY = "optional"
4 LICENSE = "GPL/QPL"
5 DEPENDS = "zlib libpng jpeg tslib uicmoc-native"
6 PROVIDES = "virtual/qte virtual/libqte2"
7 PR = "r16"
8
9 SRC_URI = "ftp://ftp.trolltech.com/pub/qt/source/qt-embedded-${PV}.tar.gz \
10            file://qpe.patch;patch=1 \
11            file://vt-switch.patch;patch=1 \
12            file://daemonize.patch;patch=1 \
13            file://no-moc.patch;patch=1 \
14            file://gcc3_4.patch;patch=1 \
15            file://tslib.patch;patch=1 \
16            file://c700-hardware.patch;patch=1 \
17            file://encoding.patch;patch=1 \
18            file://fix-qgfxraster.patch;patch=1 \
19            file://update-qtfontdir \
20            file://sharp_char.h \
21            file://switches.h "
22
23 SRC_URI_append_simpad   = "file://devfs.patch;patch=1 file://simpad.patch;patch=1 "
24 SRC_URI_append_h3600    = "file://devfs.patch;patch=1 "
25 SRC_URI_append_h3900    = "file://devfs.patch;patch=1 "
26 SRC_URI_append_corgi    = "file://kernel-keymap.patch;patch=1 "
27 SRC_URI_append_shepherd = "file://kernel-keymap.patch;patch=1 "
28 SRC_URI_append_husky    = "file://kernel-keymap.patch;patch=1 "
29 SRC_URI_append_beagle   = "file://devfs.patch;patch=1 file://beagle.patch;patch=1 "
30
31 S = "${WORKDIR}/qt-${PV}"
32
33 export QTDIR = "${S}"
34
35 def qte_arch(d):
36         import oe, re
37         arch = oe.data.getVar('TARGET_ARCH', d, 1)
38         if re.match("^i.86$", arch):
39                 arch = "x86"
40         elif arch == "x86_64":
41                 arch = "x86"
42         elif arch == "mipsel":
43                 arch = "mips"
44         return arch
45
46 QTE_ARCH := "${@qte_arch(d)}"
47
48 EXTRA_OECONF_CONFIG = "-qconfig qpe"
49 EXTRA_OECONF = "-system-jpeg -system-libpng -system-zlib -no-qvfb -no-xft -no-vnc -gif \
50                 -xplatform ${TARGET_OS}-${QTE_ARCH}-g++ ${EXTRA_OECONF_CONFIG} -depths 16,32"
51 EXTRA_OEMAKE = "-e"
52
53 #
54 # FIXME: Add more here
55 #
56 EXTRA_DEFINES           = "-DQWS_TSLIB -DQT_QWS_CUSTOM -DWARNING_UNKNOWN_DEVICE"
57 EXTRA_DEFINES_collie    = "-DQWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_SL5XXX"
58 EXTRA_DEFINES_poodle    = "-DQWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_SL5XXX"
59 EXTRA_DEFINES_h3600     = "-DQWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ                 -DQT_QWS_DEVFS" 
60 EXTRA_DEFINES_h3900     = "-DQWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ                 -DQT_QWS_DEVFS"
61 EXTRA_DEFINES_simpad    = "-DQWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ -DQT_QWS_SIMPAD -DQT_QWS_DEVFS"
62 EXTRA_DEFINES_corgi     = "-DQWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_SLC700 -DQT_QWS_SL5XXX"
63 EXTRA_DEFINES_shepherd  = "-DQWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_SLC700 -DQT_QWS_SL5XXX"
64 EXTRA_DEFINES_husky     = "-DQWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_SLC700 -DQT_QWS_SL5XXX"
65 EXTRA_DEFINES_beagle    = "-DQWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ                 -DQT_QWS_DEVFS"
66
67 export SYSCONF_CC = "${CC}"
68 export SYSCONF_CXX = "${CXX}"
69 export SYSCONF_LINK = "${CCLD}"
70 export SYSCONF_SHLIB = "${CCLD}"
71 export SYSCONF_CFLAGS = "${CFLAGS}"
72 export SYSCONF_CXXFLAGS = "${CXXFLAGS} -pipe -DQWS -fno-exceptions -fno-rtti -DNO_DEBUG ${EXTRA_DEFINES}"
73 export SYSCONF_LFLAGS = "${LDFLAGS} -lts"
74 export SYSCONF_MOC = "${STAGING_BINDIR}/moc"
75 export SYSCONF_UIC = "${STAGING_BINDIR}/uic"
76
77 do_configure() {
78         for f in ${S}/configs/linux-*-g++-shared; do
79                 sed -e 's,-linux-,-linux-uclibc-,g' < $f \
80                         > `echo $f | sed -e 's,linux-,linux-uclibc-,'`
81         done
82         echo yes | ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}"
83 }
84
85 do_compile() {
86         unset CC LD CCLD CXX RANLIB AR STRIP CFLAGS LDFLAGS CXXFLAGS CPPFLAGS
87         install -d include/asm/ 
88         install -m 0644 ${WORKDIR}/sharp_char.h include/asm/
89         install -d include/linux/
90         install -m 0644 ${WORKDIR}/switches.h   include/linux/
91         oe_runmake
92 }
93
94 do_stage() {
95         oe_libinstall -so -C lib libqte ${STAGING_LIBDIR}
96         rm -f include/qxt.h
97         cp -pfLR include/* ${STAGING_INCDIR}/
98 }
99
100 do_install() {
101         install -d ${D}/${sbindir}/
102         install -m 0755 ${WORKDIR}/update-qtfontdir ${D}/${sbindir}/
103         install -d ${D}${palmtopdir}/lib/fonts/
104         oe_libinstall -so -C lib libqte ${D}/${palmtopdir}/lib
105         cp -a lib/fonts/* ${D}${palmtopdir}/lib/fonts/
106 }
107
108 pkg_postinst() {
109 #!/bin/sh
110 if [ -n "$D" ]; then exit 1; fi
111 set -e
112 . /etc/profile
113 ${sbindir}/update-qtfontdir
114 }
115
116 pkg_postinst_qte-font-unicode() {
117 #!/bin/sh
118 if [ -n "$D" ]; then exit 1; fi
119 set -e
120 . /etc/profile
121 ${sbindir}/update-qtfontdir
122 }
123
124 pkg_postinst_qte-font-lcd () {
125 #!/bin/sh
126 if [ -n "$D" ]; then exit 1; fi
127 set -e
128 . /etc/profile
129 ${sbindir}/update-qtfontdir
130 }
131
132 pkg_postinst_qte-font-japanese() {
133 #!/bin/sh
134 if [ -n "$D" ]; then exit 1; fi
135 set -e
136 . /etc/profile
137 ${sbindir}/update-qtfontdir
138 }
139
140 pkg_postinst_qte-font-micro() {
141 #!/bin/sh
142 if [ -n "$D" ]; then exit 1; fi
143 set -e
144 . /etc/profile
145 ${sbindir}/update-qtfontdir
146 }
147
148 pkg_postinst_qte-font-courier() {
149 #!/bin/sh
150 if [ -n "$D" ]; then exit 1; fi
151 set -e
152 . /etc/profile
153 ${sbindir}/update-qtfontdir
154 }
155
156 PACKAGES = "libqte2 qte-font-fixed qte-font-helvetica-small qte-font-helvetica-large \
157                         qte-font-smoothtimes qte-font-smallsmooth qte-font-unicode qte-font-lcd \
158                         qte-font-japanese qte-font-micro qte-font-courier"
159
160 FILES_${PN} = ""
161 FILES_libqte2 = "${palmtopdir}/lib/libqte.so* /usr/sbin/update-qtfontdir"
162 FILES_qte-font-fixed = "${palmtopdir}/lib/fonts/fixed*"
163 FILES_qte-font-helvetica-small = "${palmtopdir}/lib/fonts/helvetica_80*.qpf \
164         ${palmtopdir}/lib/fonts/helvetica_100*.qpf ${palmtopdir}/lib/fonts/helvetica_120*.qpf"
165 FILES_qte-font-helvetica-large = "${palmtopdir}/lib/fonts/helvetica_140*.qpf \
166         ${palmtopdir}/lib/fonts/helvetica_180*.qpf ${palmtopdir}/lib/fonts/helvetica_240*.qpf"
167 FILES_qte-font-smoothtimes = "${palmtopdir}/lib/fonts/smoothtimes*"
168 FILES_qte-font-smallsmooth = "${palmtopdir}/lib/fonts/smallsmooth*"
169 FILES_qte-font-unicode = "${palmtopdir}/lib/fonts/unifont*.qpf"
170 FILES_qte-font-lcd = "${palmtopdir}/lib/fonts/lcd*"
171 FILES_qte-font-japanese = "${palmtopdir}/lib/fonts/japanese*"
172 FILES_qte-font-micro = "${palmtopdir}/lib/fonts/micro*.qpf"
173 FILES_qte-font-courier = "${palmtopdir}/lib/fonts/cour*"
174