Gentoo Archives: gentoo-commits

From: "Jory Pratt (anarchy)" <anarchy@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in mail-client/thunderbird: thunderbird-10.0.7.ebuild ChangeLog thunderbird-15.0.ebuild
Date: Sat, 01 Sep 2012 23:30:10
Message-Id: 20120901232958.7DA2220F2E@flycatcher.gentoo.org
1 anarchy 12/09/01 23:29:58
2
3 Modified: ChangeLog
4 Added: thunderbird-10.0.7.ebuild thunderbird-15.0.ebuild
5 Log:
6 Security/Version Bump
7
8 (Portage version: 2.1.11.12/cvs/Linux x86_64)
9
10 Revision Changes Path
11 1.164 mail-client/thunderbird/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-client/thunderbird/ChangeLog?rev=1.164&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-client/thunderbird/ChangeLog?rev=1.164&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-client/thunderbird/ChangeLog?r1=1.163&r2=1.164
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/mail-client/thunderbird/ChangeLog,v
20 retrieving revision 1.163
21 retrieving revision 1.164
22 diff -u -r1.163 -r1.164
23 --- ChangeLog 25 Aug 2012 07:08:37 -0000 1.163
24 +++ ChangeLog 1 Sep 2012 23:29:58 -0000 1.164
25 @@ -1,6 +1,13 @@
26 # ChangeLog for mail-client/thunderbird
27 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/mail-client/thunderbird/ChangeLog,v 1.163 2012/08/25 07:08:37 xmw Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/mail-client/thunderbird/ChangeLog,v 1.164 2012/09/01 23:29:58 anarchy Exp $
30 +
31 +*thunderbird-15.0 (01 Sep 2012)
32 +*thunderbird-10.0.7 (01 Sep 2012)
33 +
34 + 01 Sep 2012; <anarchy@g.o> +thunderbird-10.0.7.ebuild,
35 + +thunderbird-15.0.ebuild:
36 + Security/Version bump
37
38 25 Aug 2012; Michael Weber <xmw@g.o> thunderbird-10.0.6.ebuild:
39 ppc stable (bug 427224)
40
41
42
43 1.1 mail-client/thunderbird/thunderbird-10.0.7.ebuild
44
45 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-client/thunderbird/thunderbird-10.0.7.ebuild?rev=1.1&view=markup
46 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-client/thunderbird/thunderbird-10.0.7.ebuild?rev=1.1&content-type=text/plain
47
48 Index: thunderbird-10.0.7.ebuild
49 ===================================================================
50 # Copyright 1999-2012 Gentoo Foundation
51 # Distributed under the terms of the GNU General Public License v2
52 # $Header: /var/cvsroot/gentoo-x86/mail-client/thunderbird/thunderbird-10.0.7.ebuild,v 1.1 2012/09/01 23:29:58 anarchy Exp $
53
54 EAPI="3"
55 WANT_AUTOCONF="2.1"
56 MOZ_ESR="1"
57
58 # This list can be updated using scripts/get_langs.sh from the mozilla overlay
59 MOZ_LANGS=(ar ast be bg bn-BD br ca cs da de el en en-GB en-US es-AR es-ES et eu fi
60 fr fy-NL ga-IE gd gl he hu id is it ja ko lt nb-NO nl nn-NO pa-IN pl pt-BR pt-PT
61 rm ro ru si sk sl sq sr sv-SE ta-LK tr uk vi zh-CN zh-TW)
62
63 # Convert the ebuild version to the upstream mozilla version, used by mozlinguas
64 MOZ_PV="${PV/_beta/b}"
65 # ESR releases have slightly version numbers
66 if [[ ${MOZ_ESR} == 1 ]]; then
67 MOZ_PV="${MOZ_PV}esr"
68 fi
69 MOZ_P="${PN}-${MOZ_PV}"
70
71 # Enigmail version
72 EMVER="1.3.5"
73 # Upstream ftp release URI that's used by mozlinguas.eclass
74 # We don't use the http mirror because it deletes old tarballs.
75 MOZ_FTP_URI="ftp://ftp.mozilla.org/pub/${PN}/releases/"
76
77 inherit flag-o-matic toolchain-funcs mozconfig-3 makeedit multilib autotools pax-utils python check-reqs nsplugins mozlinguas
78
79 DESCRIPTION="Thunderbird Mail Client"
80 HOMEPAGE="http://www.mozilla.com/en-US/thunderbird/"
81
82 KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
83 SLOT="0"
84 LICENSE="MPL-1.1 GPL-2 LGPL-2.1"
85 IUSE="bindist gconf +crypt +ipc +lightning +minimal mozdom +webm selinux"
86
87 PATCH="thunderbird-10.0-patches-0.1"
88 PATCHFF="firefox-10.0-patches-0.9"
89
90 SRC_URI="${SRC_URI}
91 ${MOZ_FTP_URI}${MOZ_PV}/source/${MOZ_P}.source.tar.bz2
92 crypt? ( http://www.mozilla-enigmail.org/download/source/enigmail-${EMVER}.tar.gz )
93 http://dev.gentoo.org/~anarchy/mozilla/patchsets/${PATCH}.tar.xz
94 http://dev.gentoo.org/~anarchy/mozilla/patchsets/${PATCHFF}.tar.xz"
95
96 ASM_DEPEND=">=dev-lang/yasm-1.1"
97
98 RDEPEND=">=sys-devel/binutils-2.16.1
99 >=dev-libs/nss-3.13.6
100 >=dev-libs/nspr-4.9.2
101 >=dev-libs/glib-2.26
102 gconf? ( >=gnome-base/gconf-1.2.1:2 )
103 >=media-libs/libpng-1.5.9[apng]
104 >=x11-libs/cairo-1.10
105 >=x11-libs/pango-1.14.0
106 >=x11-libs/gtk+-2.14
107 webm? ( >=media-libs/libvpx-1.0.0
108 media-libs/alsa-lib )
109 virtual/libffi
110 !x11-plugins/enigmail
111 system-sqlite? ( >=dev-db/sqlite-3.7.7.1[fts3,secure-delete,unlock-notify,debug=] )
112 selinux? ( sec-policy/selinux-thunderbird )
113 crypt? ( || (
114 ( >=app-crypt/gnupg-2.0
115 || (
116 app-crypt/pinentry[gtk]
117 app-crypt/pinentry[qt4]
118 )
119 )
120 =app-crypt/gnupg-1.4*
121 ) )"
122
123 DEPEND="${RDEPEND}
124 virtual/pkgconfig
125 webm? ( x86? ( ${ASM_DEPEND} )
126 amd64? ( ${ASM_DEPEND} ) )"
127
128 if [[ ${MOZ_ESR} == 1 ]]; then
129 S="${WORKDIR}/comm-esr${PV%%.*}"
130 else
131 S="${WORKDIR}/comm-release"
132 fi
133
134 pkg_setup() {
135 moz_pkgsetup
136
137 export MOZILLA_DIR="${S}/mozilla"
138
139 if ! use bindist ; then
140 elog "You are enabling official branding. You may not redistribute this build"
141 elog "to any users on your network or the internet. Doing so puts yourself into"
142 elog "a legal problem with Mozilla Foundation"
143 elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag"
144 elog
145 fi
146
147 # Ensure we have enough disk space to compile
148 CHECKREQS_DISK_BUILD="4G"
149 check-reqs_pkg_setup
150 }
151
152 src_unpack() {
153 unpack ${A}
154
155 # Unpack language packs
156 mozlinguas_src_unpack
157 }
158
159 src_prepare() {
160 # Apply our Thunderbird patchset
161 EPATCH_SUFFIX="patch" \
162 EPATCH_FORCE="yes" \
163 epatch "${WORKDIR}/thunderbird"
164
165 # Apply our patchset from firefox to thunderbird as well
166 pushd "${S}"/mozilla &>/dev/null || die
167 EPATCH_EXCLUDE="6012_fix_shlibsign.patch 6013_fix_abort_declaration.patch" \
168 EPATCH_SUFFIX="patch" \
169 EPATCH_FORCE="yes" \
170 epatch "${WORKDIR}/firefox"
171 popd &>/dev/null || die
172
173 if use crypt ; then
174 mv "${WORKDIR}"/enigmail "${S}"/mailnews/extensions/enigmail
175 cd "${S}"
176 fi
177
178 #Fix compilation with curl-7.21.7 bug 376027
179 sed -e '/#include <curl\/types.h>/d' \
180 -i "${S}"/mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/http_upload.cc \
181 -i "${S}"/mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/libcurl_wrapper.cc \
182 -i "${S}"/mozilla/config/system-headers \
183 -i "${S}"/mozilla/js/src/config/system-headers || die "Sed failed"
184
185 # Shell scripts sometimes contain DOS line endings; bug 391889
186 grep -rlZ --include="*.sh" $'\r$' . |
187 while read -r -d $'\0' file ; do
188 einfo edos2unix "${file}"
189 edos2unix "${file}"
190 done
191
192 # Allow user to apply any additional patches without modifing ebuild
193 epatch_user
194
195 eautoreconf
196 cd "${S}"/mozilla
197 eautoconf
198 }
199
200 src_configure() {
201 declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
202 MEXTENSIONS="default"
203
204 ####################################
205 #
206 # mozconfig, CFLAGS and CXXFLAGS setup
207 #
208 ####################################
209
210 mozconfig_init
211 mozconfig_config
212
213 # It doesn't compile on alpha without this LDFLAGS
214 use alpha && append-ldflags "-Wl,--no-relax"
215
216 mozconfig_annotate '' --prefix="${EPREFIX}"/usr
217 mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
218 mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
219 mozconfig_annotate '' --with-default-mozilla-five-home="${EPREFIX}${MOZILLA_FIVE_HOME}"
220 mozconfig_annotate '' --with-user-appdir=.thunderbird
221 mozconfig_annotate '' --with-system-png
222 mozconfig_annotate '' --enable-system-ffi
223 mozconfig_annotate '' --target="${CTARGET:-${CHOST}}"
224 mozconfig_annotate 'regression' --disable-tracejit
225
226 # Use enable features
227 mozconfig_use_enable lightning calendar
228 mozconfig_use_enable gconf
229
230 # Bug #72667
231 if use mozdom; then
232 MEXTENSIONS="${MEXTENSIONS},inspector"
233 fi
234
235 # Use an objdir to keep things organized.
236 echo "mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/tbird" >> "${S}"/.mozconfig
237
238 # Finalize and report settings
239 mozconfig_final
240
241 ####################################
242 #
243 # Configure and build
244 #
245 ####################################
246
247 # Disable no-print-directory
248 MAKEOPTS=${MAKEOPTS/--no-print-directory/}
249
250 if [[ $(gcc-major-version) -lt 4 ]]; then
251 append-cxxflags -fno-stack-protector
252 elif [[ $(gcc-major-version) -gt 4 || $(gcc-minor-version) -gt 3 ]]; then
253 if use amd64 || use x86; then
254 append-flags -mno-avx
255 fi
256 fi
257 }
258
259 src_compile() {
260 CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
261 MOZ_MAKE_FLAGS="${MAKEOPTS}" \
262 emake -f client.mk || die
263
264 # Only build enigmail extension if crypt enabled.
265 if use crypt ; then
266 cd "${S}"/mailnews/extensions/enigmail || die
267 ./makemake -r 2&> /dev/null
268 cd "${S}"/tbird/mailnews/extensions/enigmail
269 emake || die "make enigmail failed"
270 emake xpi || die "make enigmail xpi failed"
271 fi
272 }
273
274 src_install() {
275 declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
276 declare emid
277 local obj_dir="tbird"
278 cd "${S}/${obj_dir}"
279
280 # Copy our preference before omnijar is created.
281 cp "${FILESDIR}"/thunderbird-gentoo-default-prefs-1.js-1 \
282 "${S}/${obj_dir}/mozilla/dist/bin/defaults/pref/all-gentoo.js" || die
283
284 # Pax mark xpcshell for hardened support, only used for startupcache creation.
285 pax-mark m "${S}"/${obj_dir}/mozilla/dist/bin/xpcshell
286
287 emake DESTDIR="${D}" install || die "emake install failed"
288
289 # Install language packs
290 mozlinguas_src_install
291
292 if ! use bindist; then
293 newicon "${S}"/other-licenses/branding/thunderbird/content/icon48.png thunderbird-icon.png
294 domenu "${FILESDIR}"/icon/${PN}.desktop
295 else
296 newicon "${S}"/mail/branding/aurora/content/icon48.png thunderbird-icon-unbranded.png
297 newmenu "${FILESDIR}"/icon/${PN}-unbranded.desktop \
298 ${PN}.desktop
299
300 sed -i -e "s:Mozilla\ Thunderbird:Lanikai:g" \
301 "${ED}"/usr/share/applications/${PN}.desktop
302 fi
303
304 if use crypt ; then
305 cd "${T}" || die
306 unzip "${S}"/${obj_dir}/mozilla/dist/bin/enigmail*.xpi install.rdf || die
307 emid=$(sed -n '/<em:id>/!d; s/.*\({.*}\).*/\1/; p; q' install.rdf)
308
309 dodir ${MOZILLA_FIVE_HOME}/extensions/${emid} || die
310 cd "${D}"${MOZILLA_FIVE_HOME}/extensions/${emid} || die
311 unzip "${S}"/${obj_dir}/mozilla/dist/bin/enigmail*.xpi || die
312 fi
313
314 if use lightning ; then
315 emid="{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}"
316 dodir ${MOZILLA_FIVE_HOME}/extensions/${emid}
317 cd "${ED}"${MOZILLA_FIVE_HOME}/extensions/${emid}
318 unzip "${S}"/${obj_dir}/mozilla/dist/xpi-stage/gdata-provider.xpi
319
320 emid="calendar-timezones@×××××××.org"
321 dodir ${MOZILLA_FIVE_HOME}/extensions/${emid}
322 cd "${ED}"${MOZILLA_FIVE_HOME}/extensions/${emid}
323 unzip "${S}"/${obj_dir}/mozilla/dist/xpi-stage/calendar-timezones.xpi
324
325 emid="{e2fda1a4-762b-4020-b5ad-a41df1933103}"
326 dodir ${MOZILLA_FIVE_HOME}/extensions/${emid}
327 cd "${ED}"${MOZILLA_FIVE_HOME}/extensions/${emid}
328 unzip "${S}"/${obj_dir}/mozilla/dist/xpi-stage/lightning.xpi
329
330 # Fix mimetype so it shows up as a calendar application in GNOME 3
331 # This requires that the .desktop file was already installed earlier
332 sed -e "s:^\(MimeType=\):\1text/calendar;:" \
333 -e "s:^\(Categories=\):\1Calendar;:" \
334 -i "${ED}"/usr/share/applications/${PN}.desktop
335 fi
336
337 pax-mark m "${ED}"/${MOZILLA_FIVE_HOME}/thunderbird-bin
338
339 share_plugins_dir
340
341 if use minimal; then
342 rm -rf "${ED}"/usr/include "${ED}${MOZILLA_FIVE_HOME}"/{idl,include,lib,sdk} || \
343 die "Failed to remove sdk and headers"
344 fi
345 }
346
347 pkg_postinst() {
348 elog
349 elog "If you are experience problems with plugins please issue the"
350 elog "following command : rm \${HOME}/.thunderbird/*/extensions.sqlite ,"
351 elog "then restart thunderbird"
352 }
353
354
355
356 1.1 mail-client/thunderbird/thunderbird-15.0.ebuild
357
358 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-client/thunderbird/thunderbird-15.0.ebuild?rev=1.1&view=markup
359 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-client/thunderbird/thunderbird-15.0.ebuild?rev=1.1&content-type=text/plain
360
361 Index: thunderbird-15.0.ebuild
362 ===================================================================
363 # Copyright 1999-2012 Gentoo Foundation
364 # Distributed under the terms of the GNU General Public License v2
365 # $Header: /var/cvsroot/gentoo-x86/mail-client/thunderbird/thunderbird-15.0.ebuild,v 1.1 2012/09/01 23:29:58 anarchy Exp $
366
367 EAPI="3"
368 WANT_AUTOCONF="2.1"
369 MOZ_ESR=""
370
371 # This list can be updated using scripts/get_langs.sh from the mozilla overlay
372 MOZ_LANGS=(ar ast be bg bn-BD br ca cs da de el en en-GB en-US es-AR
373 es-ES et eu fi fr fy-NL ga-IE gd gl he hr hu hy-AM id is it ja ko lt nb-NO
374 nl nn-NO pa-IN pl pt-BR pt-PT rm ro ru si sk sl sq sr sv-SE ta-LK tr uk vi
375 zh-CN zh-TW )
376
377 # Convert the ebuild version to the upstream mozilla version, used by mozlinguas
378 MOZ_PV="${PV/_beta/b}"
379 # ESR releases have slightly version numbers
380 if [[ ${MOZ_ESR} == 1 ]]; then
381 MOZ_PV="${MOZ_PV}esr"
382 fi
383 MOZ_P="${PN}-${MOZ_PV}"
384
385 # Enigmail version
386 EMVER="1.4.4"
387 # Upstream ftp release URI that's used by mozlinguas.eclass
388 # We don't use the http mirror because it deletes old tarballs.
389 MOZ_FTP_URI="ftp://ftp.mozilla.org/pub/${PN}/releases/"
390
391 inherit flag-o-matic toolchain-funcs mozconfig-3 makeedit multilib autotools pax-utils python check-reqs nsplugins mozlinguas
392
393 DESCRIPTION="Thunderbird Mail Client"
394 HOMEPAGE="http://www.mozilla.com/en-US/thunderbird/"
395
396 KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
397 SLOT="0"
398 LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
399 IUSE="bindist gconf +crypt +ipc +jit +lightning +minimal mozdom +webm selinux"
400
401 PATCH="thunderbird-13.0-patches-0.1"
402 PATCHFF="firefox-15.0-patches-0.2"
403
404 SRC_URI="${SRC_URI}
405 ${MOZ_FTP_URI}${MOZ_PV}/source/${MOZ_P}.source.tar.bz2
406 crypt? ( http://www.mozilla-enigmail.org/download/source/enigmail-${EMVER}.tar.gz )
407 http://dev.gentoo.org/~anarchy/mozilla/patchsets/${PATCH}.tar.xz
408 http://dev.gentoo.org/~anarchy/mozilla/patchsets/${PATCHFF}.tar.xz
409 http://dev.gentoo.org/~nirbheek/mozilla/patchsets/${PATCHFF}.tar.xz"
410
411 ASM_DEPEND=">=dev-lang/yasm-1.1"
412
413 RDEPEND=">=sys-devel/binutils-2.16.1
414 >=dev-libs/nss-3.13.6
415 >=dev-libs/nspr-4.9.2
416 >=dev-libs/glib-2.26
417 gconf? ( >=gnome-base/gconf-1.2.1:2 )
418 >=media-libs/libpng-1.5.9[apng]
419 >=x11-libs/cairo-1.10
420 >=x11-libs/pango-1.14.0
421 >=x11-libs/gtk+-2.14
422 webm? ( >=media-libs/libvpx-1.0.0
423 kernel_linux? ( media-libs/alsa-lib ) )
424 virtual/libffi
425 !x11-plugins/enigmail
426 system-sqlite? ( >=dev-db/sqlite-3.7.10[fts3,secure-delete,threadsafe,unlock-notify,debug=] )
427 selinux? ( sec-policy/selinux-thunderbird )
428 crypt? ( || (
429 ( >=app-crypt/gnupg-2.0
430 || (
431 app-crypt/pinentry[gtk]
432 app-crypt/pinentry[qt4]
433 )
434 )
435 =app-crypt/gnupg-1.4*
436 ) )"
437
438 DEPEND="${RDEPEND}
439 !elibc_glibc? ( dev-libs/libexecinfo )
440 virtual/pkgconfig
441 webm? ( x86? ( ${ASM_DEPEND} )
442 amd64? ( ${ASM_DEPEND} )
443 virtual/opengl )"
444
445 if [[ ${PV} =~ beta ]]; then
446 S="${WORKDIR}/comm-beta"
447 elif [[ ${MOZ_ESR} == 1 ]]; then
448 S="${WORKDIR}/comm-esr${PV%%.*}"
449 else
450 S="${WORKDIR}/comm-release"
451 fi
452
453 pkg_setup() {
454 moz_pkgsetup
455
456 export MOZILLA_DIR="${S}/mozilla"
457
458 if ! use bindist ; then
459 elog "You are enabling official branding. You may not redistribute this build"
460 elog "to any users on your network or the internet. Doing so puts yourself into"
461 elog "a legal problem with Mozilla Foundation"
462 elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag"
463 elog
464 fi
465
466 # Ensure we have enough disk space to compile
467 CHECKREQS_DISK_BUILD="4G"
468 check-reqs_pkg_setup
469 }
470
471 src_unpack() {
472 unpack ${A}
473
474 # Unpack language packs
475 mozlinguas_src_unpack
476 }
477
478 src_prepare() {
479 # Apply our Thunderbird patchset
480 EPATCH_SUFFIX="patch" \
481 EPATCH_FORCE="yes" \
482 epatch "${WORKDIR}/thunderbird"
483
484 # Apply our patchset from firefox to thunderbird as well
485 pushd "${S}"/mozilla &>/dev/null || die
486 EPATCH_SUFFIX="patch" \
487 EPATCH_FORCE="yes" \
488 epatch "${WORKDIR}/firefox"
489 popd &>/dev/null || die
490
491 if use crypt ; then
492 mv "${WORKDIR}"/enigmail "${S}"/mailnews/extensions/enigmail
493 cd "${S}"
494 fi
495
496 # Disable gnomevfs extension
497 sed -i -e "s:gnomevfs::" "${S}/"mozilla/browser/confvars.sh \
498 -e "s:gnomevfs::" "${S}/"mozilla/xulrunner/confvars.sh \
499 || die "Failed to remove gnomevfs extension"
500
501 #Fix compilation with curl-7.21.7 bug 376027
502 sed -e '/#include <curl\/types.h>/d' \
503 -i "${S}"/mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/http_upload.cc \
504 -i "${S}"/mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/libcurl_wrapper.cc \
505 -i "${S}"/mozilla/config/system-headers \
506 -i "${S}"/mozilla/js/src/config/system-headers || die "Sed failed"
507
508 # Don't error out when there's no files to be removed:
509 sed 's@\(xargs rm\)$@\1 -f@' \
510 -i "${S}"/mozilla/toolkit/mozapps/installer/packager.mk || die
511
512 # Shell scripts sometimes contain DOS line endings; bug 391889
513 grep -rlZ --include="*.sh" $'\r$' . |
514 while read -r -d $'\0' file ; do
515 einfo edos2unix "${file}"
516 edos2unix "${file}"
517 done
518
519 # Allow user to apply any additional patches without modifing ebuild
520 epatch_user
521
522 eautoreconf
523 # Ensure we run eautoreconf in mozilla to regenerate configure
524 cd "${S}"/mozilla
525 eautoconf
526 }
527
528 src_configure() {
529 declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
530 MEXTENSIONS="default"
531
532 ####################################
533 #
534 # mozconfig, CFLAGS and CXXFLAGS setup
535 #
536 ####################################
537
538 mozconfig_init
539 mozconfig_config
540
541 # It doesn't compile on alpha without this LDFLAGS
542 use alpha && append-ldflags "-Wl,--no-relax"
543
544 mozconfig_annotate '' --prefix="${EPREFIX}"/usr
545 mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
546 mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
547 mozconfig_annotate '' --with-default-mozilla-five-home="${EPREFIX}${MOZILLA_FIVE_HOME}"
548 mozconfig_annotate '' --with-user-appdir=.thunderbird
549 mozconfig_annotate '' --with-system-png
550 mozconfig_annotate '' --enable-system-ffi
551 mozconfig_annotate '' --target="${CTARGET:-${CHOST}}"
552
553 # Use enable features
554 mozconfig_use_enable lightning calendar
555 mozconfig_use_enable gconf
556 # Both methodjit and tracejit conflict with PaX
557 mozconfig_use_enable jit methodjit
558 mozconfig_use_enable jit tracejit
559
560 # Bug #72667
561 if use mozdom; then
562 MEXTENSIONS="${MEXTENSIONS},inspector"
563 fi
564
565 # Use an objdir to keep things organized.
566 echo "mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/tbird" >> "${S}"/.mozconfig
567
568 # Finalize and report settings
569 mozconfig_final
570
571 ####################################
572 #
573 # Configure and build
574 #
575 ####################################
576
577 # Disable no-print-directory
578 MAKEOPTS=${MAKEOPTS/--no-print-directory/}
579
580 if [[ $(gcc-major-version) -lt 4 ]]; then
581 append-cxxflags -fno-stack-protector
582 elif [[ $(gcc-major-version) -gt 4 || $(gcc-minor-version) -gt 3 ]]; then
583 if use amd64 || use x86; then
584 append-flags -mno-avx
585 fi
586 fi
587 }
588
589 src_compile() {
590 CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
591 MOZ_MAKE_FLAGS="${MAKEOPTS}" \
592 emake -f client.mk || die
593
594 # Only build enigmail extension if crypt enabled.
595 if use crypt ; then
596 cd "${S}"/mailnews/extensions/enigmail || die
597 ./makemake -r 2&> /dev/null
598 cd "${S}"/tbird/mailnews/extensions/enigmail
599 emake || die "make enigmail failed"
600 emake xpi || die "make enigmail xpi failed"
601 fi
602 }
603
604 src_install() {
605 declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
606 declare emid
607 local obj_dir="tbird"
608 cd "${S}/${obj_dir}"
609
610 # Copy our preference before omnijar is created.
611 cp "${FILESDIR}"/thunderbird-gentoo-default-prefs-1.js-1 \
612 "${S}/${obj_dir}/mozilla/dist/bin/defaults/pref/all-gentoo.js" || die
613
614 # Without methodjit and tracejit there's no conflict with PaX
615 if use jit; then
616 # Pax mark xpcshell for hardened support, only used for startupcache creation.
617 pax-mark m "${S}"/${obj_dir}/mozilla/dist/bin/xpcshell
618 fi
619
620 emake DESTDIR="${D}" install || die "emake install failed"
621
622 # Install language packs
623 mozlinguas_src_install
624
625 if ! use bindist; then
626 newicon "${S}"/other-licenses/branding/thunderbird/content/icon48.png thunderbird-icon.png
627 domenu "${FILESDIR}"/icon/${PN}.desktop
628 else
629 newicon "${S}"/mail/branding/aurora/content/icon48.png thunderbird-icon-unbranded.png
630 newmenu "${FILESDIR}"/icon/${PN}-unbranded.desktop \
631 ${PN}.desktop
632
633 sed -i -e "s:Mozilla\ Thunderbird:EarlyBird:g" \
634 "${ED}"/usr/share/applications/${PN}.desktop
635 fi
636
637 if use crypt ; then
638 cd "${T}" || die
639 unzip "${S}"/${obj_dir}/mozilla/dist/bin/enigmail*.xpi install.rdf || die
640 emid=$(sed -n '/<em:id>/!d; s/.*\({.*}\).*/\1/; p; q' install.rdf)
641
642 dodir ${MOZILLA_FIVE_HOME}/extensions/${emid} || die
643 cd "${D}"${MOZILLA_FIVE_HOME}/extensions/${emid} || die
644 unzip "${S}"/${obj_dir}/mozilla/dist/bin/enigmail*.xpi || die
645 fi
646
647 if use lightning ; then
648 emid="{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}"
649 dodir ${MOZILLA_FIVE_HOME}/extensions/${emid}
650 cd "${ED}"${MOZILLA_FIVE_HOME}/extensions/${emid}
651 unzip "${S}"/${obj_dir}/mozilla/dist/xpi-stage/gdata-provider.xpi
652
653 emid="calendar-timezones@×××××××.org"
654 dodir ${MOZILLA_FIVE_HOME}/extensions/${emid}
655 cd "${ED}"${MOZILLA_FIVE_HOME}/extensions/${emid}
656 unzip "${S}"/${obj_dir}/mozilla/dist/xpi-stage/calendar-timezones.xpi
657
658 emid="{e2fda1a4-762b-4020-b5ad-a41df1933103}"
659 dodir ${MOZILLA_FIVE_HOME}/extensions/${emid}
660 cd "${ED}"${MOZILLA_FIVE_HOME}/extensions/${emid}
661 unzip "${S}"/${obj_dir}/mozilla/dist/xpi-stage/lightning.xpi
662
663 # Fix mimetype so it shows up as a calendar application in GNOME 3
664 # This requires that the .desktop file was already installed earlier
665 sed -e "s:^\(MimeType=\):\1text/calendar;:" \
666 -e "s:^\(Categories=\):\1Calendar;:" \
667 -i "${ED}"/usr/share/applications/${PN}.desktop
668 fi
669
670 if use jit ; then
671 pax-mark m "${ED}"/${MOZILLA_FIVE_HOME}/thunderbird-bin
672 fi
673
674 # Plugin-container needs to be pax-marked for hardened to ensure plugins such as flash
675 # continue to work as expected.
676 pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/plugin-container
677
678 # Plugins dir
679 share_plugins_dir
680
681 if use minimal; then
682 rm -rf "${ED}"/usr/include "${ED}${MOZILLA_FIVE_HOME}"/{idl,include,lib,sdk} || \
683 die "Failed to remove sdk and headers"
684 fi
685 }
686
687 pkg_postinst() {
688 elog
689 elog "If you are experience problems with plugins please issue the"
690 elog "following command : rm \${HOME}/.thunderbird/*/extensions.sqlite ,"
691 elog "then restart thunderbird"
692 }