Magellan Linux

Contents of /trunk/extras/mozilla-thunderbird/mozilla-thunderbird-2.0.0.22-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2880 - (show annotations) (download)
Sun Jul 12 21:37:48 2009 UTC (14 years, 10 months ago) by niro
File size: 7451 byte(s)
auto added: ver bump to 2.0.0.22-r1
1 # $Id$
2
3 PNAME="mozilla-thunderbird"
4 PVER="2.0.0.22"
5 PBUILD="r1"
6
7 PCATEGORIE="net-mail"
8 STATE="unstable"
9
10 DESCRIPTION="Thunderbird is Mozilla's next generation e-mail client."
11 HOMEPAGE="http://www.mozilla.org/products/thunderbird/"
12
13 DEPEND=">= x11-libs/libXrender-0.9
14 >= x11-libs/libXt-1
15 >= x11-libs/libXmu-1
16 >= sys-libs/zlib-1.2.3
17 >= media-libs/libmng-1.0.10
18 >= media-libs/fontconfig-2.6
19 >= media-libs/libjpeg-6b
20 >= media-libs/libpng-1.2.34
21 >= dev-libs/glib2-2.20
22 >= dev-libs/expat-2
23 >= dev-libs/libidl-0.8.13
24 >= app-arch/zip-3
25 >= app-arch/unzip-5.52
26 >= x11-libs/pango-1.24
27 >= x11-libs/gtk2+-2.16
28 >= x11-libs/cairo-1.8
29 >= app-crypt/gnupg-2
30 >= dev-libs/nspr-4.8
31 >= dev-libs/nss-3.12.3"
32
33 SDEPEND=">= x11-proto/xineramaproto-1
34 >= dev-util/pkgconfig-0.23
35 >= sys-dev/autoconf-4
36 >= sys-dev/automake-3
37 >= sys-apps/sed-4"
38
39 SRCFILE="thunderbird-${PVER}-source.tar.bz2"
40 SRCDIR="${BUILDDIR}/mozilla"
41
42 SRC_ENIGMAIL="enigmail-0.95.7.tar.gz"
43
44 sminclude mozilla mtools
45
46 SRC_URI=(
47 ftp://ftp.mozilla.org/pub/mozilla.org/${PNAME/mozilla-/}/releases/${PVER}/source/${SRCFILE}
48 http://www.mozilla-enigmail.org/download/source/${SRC_ENIGMAIL}
49 mirror://${PNAME}/${SRCFILE}
50 mirror://${PNAME}/${SRC_ENIGMAIL}
51 mirror://${PNAME}/menu/thunderbird.png
52 mirror://${PNAME}/menu/thunderbird.desktop
53 mirror://${PNAME}/mozilla-firefox-1.5.0-embed-typeaheadfind.patch
54 mirror://${PNAME}/mozilla-firefox-1.5.0.11-pkgconfig.patch
55 mirror://${PNAME}/mozilla-firefox-2.0.0.5-libdeps.patch
56 mirror://${PNAME}/mozilla-firefox-2.0.0.5-asneeded.patch
57 mirror://${PNAME}/mozilla-firefox-2.0.0.5-respect-host-variable.patch
58 mirror://${PNAME}/mozilla-firefox-2.0.0.5-rpath-3.patch
59 mirror://${PNAME}/mozilla-firefox-2.0.0.5-pango-cursor.patch
60 mirror://${PNAME}/mozilla-thunderbird-2.0.0.6-language.patch
61 )
62
63 # we are building thunderbird
64 export MOZ_CO_PROJECT=mail
65
66 # set by configure (plus USE_AUTOCONF=1), but useful for NSPR
67 export MOZILLA_CLIENT=1
68 export BUILD_OPT=1
69 export NO_STATIC_LIB=1
70 export USE_PTHREADS=1
71
72 # now strip optimization from CFLAGS so it doesn't end up in the
73 # compile string
74 export CFLAGS="${CFLAGS/-O*/}"
75 export CXXFLAGS="${CFLAGS}"
76
77 # needed to build without warnings on gcc-3
78 export CXXFLAGS="${CXXFLAGS} -Wno-deprecated"
79
80 src_prepare()
81 {
82 munpack ${SRCFILE} || die
83
84 # enigmail plugin
85 munpack ${SRC_ENIGMAIL} ${SRCDIR}/mailnews/extensions ||die
86 cd ${SRCDIR}
87
88 # patches, patches, patches
89
90 # fix linking issues against pango
91 # https://bugzilla.mozilla.org/show_bug.cgi?id=344821
92 mpatch mozilla-firefox-2.0.0.5-libdeps.patch || die
93
94 # use as-needed with newer binutils
95 # https://bugzilla.mozilla.org/show_bug.cgi?id=311236
96 mpatch mozilla-firefox-2.0.0.5-asneeded.patch || die
97
98 # fixes typeahead and gtk fixes for embeded firefox browsers
99 mpatch mozilla-firefox-1.5.0-embed-typeaheadfind.patch || die
100
101 # fix pkgconfig pathes
102 mpatch mozilla-firefox-1.5.0.11-pkgconfig.patch || die
103
104 # fix some compile issues on multilib systems
105 mpatch mozilla-firefox-2.0.0.5-respect-host-variable.patch || die
106 mpatch mozilla-firefox-2.0.0.5-rpath-3.patch || die
107
108 # fix pango-cursor issues
109 mpatch mozilla-firefox-2.0.0.5-pango-cursor.patch || die
110
111 # enable variable languages via environment vars
112 mpatch mozilla-thunderbird-2.0.0.6-language.patch || die
113
114 export WANT_AUTOCONF="2.1"
115 autoconf || die
116
117 # rebuild makefiles
118 cd ${SRCDIR}/mailnews/extensions/enigmail || die
119 makemake2 || die
120 }
121
122 src_compile()
123 {
124 cd ${SRCDIR}
125
126 # setup .mozconfig
127 cp mail/config/mozconfig .mozconfig || die
128
129 # where shall the files go ?
130 mozconf_add --with-default-mozilla-five-home=/usr/$(mlibdir)/mozilla-thunderbird
131
132 # set optimization level based on CFLAGS
133 if [[ ${ARCH} = x86_64 ]]
134 then
135 # opts may cause segfaults on 64bit arches
136 mozconf_add --enable-optimize=-O1
137 export CFLAGS="${CFLAGS} -fPIC"
138 export CXXFLAGS="${CXXFLAGS} -fPIC"
139 else
140 mozconf_add --enable-optimize=-O2
141 fi
142
143 # enable compat mode for plugins build with gcc2
144 mozconf_add --enable-old-abi-compat-wrappers
145
146 # we don't need the installer
147 mozconf_add --disable-installer
148
149 # issue all warnings demanded by strict ANSI C
150 mozconf_add --disable-pedantic
151
152 # enable crypto support (Personal Security Manager)
153 mozconf_add --enable-crypto
154
155 # want system jpeg, pngm, zlib, nspr and nss
156 mozconf_add --with-system-jpeg
157 mozconf_add --with-system-png
158 mozconf_add --with-system-zlib
159 mozconf_add --with-system-nspr
160 mozconf_add --with-system-nss
161
162 # enable gtk2 as default
163 mozconf_add --enable-default-toolkit=gtk2
164
165 # no ipv6 support
166 mozconf_add --enable-ipv6
167
168 # want xinerama
169 mozconf_add --enable-xinerama
170
171 # no xprint ?
172 mozconf_add --disable-xprint
173
174 # >= firefox-1.0.7 should use xft + pango, svg with cairo
175 mozconf_add --disable-freetype2
176 mozconf_add --enable-xft
177 mozconf_add --enable-pango
178 mozconf_add --enable-system-cairo
179 mozconf_add --enable-svg
180 mozconf_add --enable-canvas
181
182 # enable all image encoders
183 mozconf_add --enable-image-encoder=all
184
185 # disable debug build && enable stripping
186 mozconf_add --disable-debug
187 mozconf_add --disable-tests
188 mozconf_add --enable-reorder
189 mozconf_add --enable-strip
190 mozconf_add --enable-strip-libs
191
192 if [[ ${ARCH} = i*86 ]]
193 then
194 # optimze build for x86
195 mozconf_add --enable-elf-dynstr-gc
196 fi
197
198 # no ldap
199 mozconf_add --disable-ldap
200 mozconf_add --disable-ldap-experimental
201
202 # enable default extensions
203 mozconf_add --enable-extensions=default
204
205 # resolve multiple --enable-extensions down to one
206 rebuild_extension_list
207
208 # now run configure
209 mconfigure || die
210
211 # removes extraneous CFLAGS
212 # to reduce RAM requirements while compiling
213 mozilla_remove_cflags || die
214
215 mmake || die
216
217 # enigmail doesn't like visibility_hidden, so we remove the macros
218 rm config/gcc_hidden.h || die
219 touch config/gcc_hidden.h || die
220
221 # build enigmail
222 mmake -j1 -C mailnews/extensions/enigmail || die
223 }
224
225 src_install()
226 {
227 cd ${SRCDIR}
228
229 # needed directories
230 minstalldir /usr/bin || die
231 minstalldir /usr/$(mlibdir)/pkgconfig || die
232 minstalldir /usr/$(mlibdir)/mozilla-thunderbird || die
233 minstalldir /usr/share/applications || die
234
235 # install binaries
236 cp -RL --no-preserve=links ${SRCDIR}/dist/bin/* \
237 ${BINDIR}/usr/$(mlibdir)/mozilla-thunderbird || die
238
239 # fix permissions
240 mchown -R root:root /usr/$(mlibdir)/mozilla-thunderbird || die
241
242 # bins
243 mlink /usr/$(mlibdir)/mozilla-thunderbird/thunderbird /usr/bin/thunderbird || die
244
245 # vendor information
246 msetpref general.useragent.vendor Magellan-Linux || die
247
248 # install pkgconfig files (at last needed by epiphany)
249 minstallfile build/unix/thunderbird-\*.pc /usr/$(mlibdir)/pkgconfig || die
250
251 # menu entries
252 minstallpixmap thunderbird.png || die
253 minstallfile -s thunderbird.desktop /usr/share/applications || die
254 }
255
256 postinstall()
257 {
258 # update environment; needed for REGXPCOM
259 env-rebuild
260 source ${MROOT}/etc/profile
261
262 # thunderbirds mozilla_five_home
263 export MOZILLA_FIVE_HOME="${MROOT}/usr/$(mlibdir)/mozilla-thunderbird"
264
265 # register thunderbird
266 echo "Registering Components and Chrome..."
267
268 HOME=~root LD_LIBRARY_PATH=${MOZILLA_FIVE_HOME} ${MOZILLA_FIVE_HOME}/regxpcom
269 # HOME=~root LD_LIBRARY_PATH=${MOZILLA_FIVE_HOME} ${MOZILLA_FIVE_HOME}/regchrome
270
271 # fix permissions of component registry
272 chmod 0644 ${MOZILLA_FIVE_HOME}/components/compreg.dat
273
274 # fix directory permissions
275 find ${MOZILLA_FIVE_HOME}/ -type d -perm 0700 -exec chmod 0755 {} \; || :
276
277 # fix permissions on chrome files
278 find ${MOZILLA_FIVE_HOME}/chrome/ -name '*.rdf' -exec chmod 0644 {} \; || :
279 }

Properties

Name Value
svn:keywords Id