]> pilppa.org Git - familiar-h63xx-build.git/blob - org.handhelds.familiar/packages/meta/meta-sdk.bb
OE tree imported from monotone branch org.openembedded.oz354fam083 at revision 8b12e3...
[familiar-h63xx-build.git] / org.handhelds.familiar / packages / meta / meta-sdk.bb
1 DESCRIPTION = "Meta package for SDK including GPE and Opie"
2 LICENSE = MIT
3 DEPENDS = "ipkg-native ipkg-utils-native fakeroot-native \
4            binutils-cross-sdk gcc-cross-sdk gdb-cross \
5            libidl libsvg-cairo sed-native \
6            meta-gpe gstreamer\
7            opie-mail"
8 PR = "r8"
9
10 PACKAGES = ""
11
12 inherit sdk
13
14 SDK_DIR = "${WORKDIR}/sdk"
15 SDK_OUTPUT = "${SDK_DIR}/image"
16 SDK_DEPLOY = "${TMPDIR}/deploy/sdk"
17
18 IPKG_HOST = "ipkg-cl -f ${SDK_DIR}/ipkg-host.conf -o ${SDK_OUTPUT}"
19 IPKG_TARGET = "ipkg-cl -f ${SDK_DIR}/ipkg-target.conf -o ${SDK_OUTPUT}/${prefix}"
20
21 HOST_INSTALL = "binutils-cross-sdk gcc-cross-sdk gdb-cross"
22 TARGET_INSTALL = "libc6 libc6-dev \
23 compositeext-dev \
24 damageext-dev \
25 dbus-dev \
26 fixesext-dev \
27 gconf-dbus-dev \
28 gtk+-dev \
29 gtk-engines-dev \
30 libapm-dev \
31 libatk-1.0-dev \
32 libaudiofile-dev \
33 libbluetooth-dev \
34 libcairo-dev \
35 libdisplaymigration-dev \
36 libetpan-dev \
37 libesd-dev \
38 libeventdb-dev \
39 libexpat-dev \
40 libfontconfig-dev \
41 libfreetype-dev \
42 libgcrypt-dev \
43 libglade-2.0-dev \
44 libglib-2.0-dev \
45 libgpelaunch-dev \
46 libgpepimc-dev \
47 libgpevtype-dev \
48 libgpewidget-dev \
49 libgpg-error-dev \
50 libice-dev \
51 libidl-2-dev \
52 libipkg-dev \
53 libjpeg-dev \
54 libmb-dev \
55 libmimedir-dev \
56 libopenobex-1.0-dev \
57 libpcap-dev \
58 libpixman-dev \
59 libpng-dev \
60 libpng12-dev \
61 libpopt-dev \
62 libreadline-dev \
63 libschedule-dev \
64 libsm-dev \
65 libsoundgen-dev \
66 libsqlite-dev \
67 libstartup-notification-1-dev \
68 libsvg-cairo-dev \
69 libsvg-dev \
70 libtododb-dev \
71 libts-0.0-dev \
72 libx11-dev \
73 libxau-dev \
74 libxcalibrate-dev \
75 libxcomposite-dev \
76 libxcursor-dev \
77 libxdamage-dev \
78 libxdmcp-dev \
79 libxext-dev \
80 libxfixes-dev \
81 libxfont-dev \
82 libxft-dev \
83 libxml2-dev \
84 libxpm-dev \
85 libxrandr-dev \
86 libxrender-dev \
87 libxsettings-client-dev \
88 libxss-dev \
89 libxt-dev \
90 libxtst-dev \
91 libz-dev \
92 matchbox-desktop-dev \
93 ncurses-dev \
94 pango-dev \
95 randrext-dev \
96 recordext-dev \
97 renderext-dev \
98 resourceext-dev \
99 libiw-dev \
100 xcalibrateext-dev \
101 xextensions-dev \
102 libxmu-dev \
103 xproto-dev \
104 xtrans-dev \
105 gstreamer-dev \
106 "
107
108 #libopiebluez2-dev \
109 #libopiedb2-dev \
110 #libopiecore2-dev \
111 #libopienet2-dev \
112 #libopiepim2-dev \
113 #libopieui2-dev \
114 #libqpe1-dev \
115 #libqte2-dev \
116 #libqtaux2-dev \
117 #libmailwrapper-dev \
118
119
120 do_populate_sdk() {
121         touch ${DEPLOY_DIR_IPK}/Packages
122         ipkg-make-index -r ${DEPLOY_DIR_IPK}/Packages -p ${DEPLOY_DIR_IPK}/Packages -l ${DEPLOY_DIR_IPK}/Packages.filelist -m ${DEPLOY_DIR_IPK}
123
124         rm -rf ${SDK_OUTPUT}
125         mkdir -p ${SDK_OUTPUT}
126
127         cat <<EOF >${SDK_DIR}/ipkg-host.conf
128 src oe file:${DEPLOY_DIR_IPK}
129 arch ${BUILD_ARCH} 1
130 EOF
131         cat <<EOF >${SDK_DIR}/ipkg-target.conf
132 src oe file:${DEPLOY_DIR_IPK}
133 EOF
134         ipkgarchs="all any noarch ${TARGET_ARCH} ${IPKG_ARCHS} ${MACHINE}"
135         priority=1
136         for arch in $ipkgarchs; do
137                 echo "arch $arch $priority" >> ${SDK_DIR}/ipkg-target.conf
138                 priority=$(expr $priority + 5)
139         done
140
141         rm -r ${SDK_OUTPUT}
142         mkdir -p ${SDK_OUTPUT}
143         
144         ${IPKG_HOST} update
145         ${IPKG_HOST} -nodeps install ${HOST_INSTALL}
146
147         ${IPKG_TARGET} update
148         ${IPKG_TARGET} install ${TARGET_INSTALL}
149
150         mkdir -p ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}
151         cp -pPR ${SDK_OUTPUT}/${prefix}/usr/* ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}
152         rm -rf ${SDK_OUTPUT}/${prefix}/usr/
153
154         cp -pPR ${SDK_OUTPUT}/${prefix}/lib/* ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib
155         rm -rf ${SDK_OUTPUT}/${prefix}/lib/*
156
157         mv ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/gcc* ${SDK_OUTPUT}/${prefix}/lib
158
159         cp -pPR ${TMPDIR}/cross/${TARGET_SYS}/include/linux/ ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/include/
160         cp -pPR ${TMPDIR}/cross/${TARGET_SYS}/include/asm/ ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/include/
161         chmod -R a+r ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/include/
162         find ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/include/ -type d | xargs chmod +x
163
164         echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/libpthread.so
165         echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/libc.so
166         # remove unwanted housekeeping files
167         mv ${SDK_OUTPUT}${libdir}/../arm-linux/lib/ipkg/status ${SDK_OUTPUT}/${prefix}/package-status
168         rm -rf ${SDK_OUTPUT}${libdir}/ipkg
169
170         # remove unwanted executables
171         rm -rf ${SDK_OUTPUT}/${prefix}/sbin ${SDK_OUTPUT}/${prefix}/etc
172
173         # remove broken .la files
174         rm ${SDK_OUTPUT}/${prefix}/arm-linux/lib/*.la
175
176         # fix pkgconfig data files
177         cd ${SDK_OUTPUT}/${prefix}/arm-linux/lib/pkgconfig
178         for f in *.pc ; do
179                 sed -i 's%=/usr%=${prefix}/arm-linux%g' "$f"
180         done
181         for f in *.pc ; do
182                 sed -i 's%${STAGING_DIR}%/usr/local/arm/oe%g' "$f"
183         done
184
185         mkdir -p ${SDK_DEPLOY}
186         cd ${SDK_OUTPUT}
187         fakeroot tar cfj ${SDK_DEPLOY}/oe-sdk-$(date +"%Y%m%d%H%M%S").tar.bz2 .
188 }
189
190 do_populate_sdk[nostamp] = 1
191 addtask populate_sdk before do_build after do_install