Gentoo Archives: gentoo-commits

From: "Nirbheek Chauhan (nirbheek)" <nirbheek@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in mail-client/thunderbird: thunderbird-9.0.ebuild ChangeLog
Date: Thu, 05 Jan 2012 13:48:45
Message-Id: 20120105134834.ADECA2004B@flycatcher.gentoo.org
1 nirbheek 12/01/05 13:48:34
2
3 Modified: ChangeLog
4 Added: thunderbird-9.0.ebuild
5 Log:
6 Security bump + hardened merge fix
7
8 (Portage version: 2.2.0_alpha84/cvs/Linux x86_64)
9
10 Revision Changes Path
11 1.112 mail-client/thunderbird/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-client/thunderbird/ChangeLog?rev=1.112&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-client/thunderbird/ChangeLog?rev=1.112&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-client/thunderbird/ChangeLog?r1=1.111&r2=1.112
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/mail-client/thunderbird/ChangeLog,v
20 retrieving revision 1.111
21 retrieving revision 1.112
22 diff -u -r1.111 -r1.112
23 --- ChangeLog 27 Dec 2011 00:14:18 -0000 1.111
24 +++ ChangeLog 5 Jan 2012 13:48:34 -0000 1.112
25 @@ -1,6 +1,11 @@
26 # ChangeLog for mail-client/thunderbird
27 -# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/mail-client/thunderbird/ChangeLog,v 1.111 2011/12/27 00:14:18 halcy0n Exp $
29 +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
30 +# $Header: /var/cvsroot/gentoo-x86/mail-client/thunderbird/ChangeLog,v 1.112 2012/01/05 13:48:34 nirbheek Exp $
31 +
32 +*thunderbird-9.0 (05 Jan 2012)
33 +
34 + 05 Jan 2012; Nirbheek Chauhan <nirbheek@g.o> +thunderbird-9.0.ebuild:
35 + Security bump + hardened merge fix
36
37 27 Dec 2011; Mark Loeser <halcy0n@g.o> thunderbird-7.0.1-r1.ebuild,
38 thunderbird-8.0-r1.ebuild:
39
40
41
42 1.1 mail-client/thunderbird/thunderbird-9.0.ebuild
43
44 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-client/thunderbird/thunderbird-9.0.ebuild?rev=1.1&view=markup
45 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-client/thunderbird/thunderbird-9.0.ebuild?rev=1.1&content-type=text/plain
46
47 Index: thunderbird-9.0.ebuild
48 ===================================================================
49 # Copyright 1999-2012 Gentoo Foundation
50 # Distributed under the terms of the GNU General Public License v2
51 # $Header: /var/cvsroot/gentoo-x86/mail-client/thunderbird/thunderbird-9.0.ebuild,v 1.1 2012/01/05 13:48:34 nirbheek Exp $
52
53 EAPI="3"
54 WANT_AUTOCONF="2.1"
55
56 inherit flag-o-matic toolchain-funcs mozconfig-3 makeedit multilib mozextension autotools pax-utils python check-reqs nsplugins
57
58 TB_PV="${PV/_beta/b}"
59 TB_P="${PN}-${TB_PV}"
60 EMVER="1.3.4"
61
62 DESCRIPTION="Thunderbird Mail Client"
63 HOMEPAGE="http://www.mozilla.com/en-US/thunderbird/"
64
65 KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
66 SLOT="0"
67 LICENSE="|| ( MPL-1.1 GPL-2 LGPL-2.1 )"
68 IUSE="bindist gconf +crashreporter +crypt +ipc +lightning mozdom +webm"
69 PATCH="${P}-patches-0.1"
70 PATCHFF="firefox-${PV}-patches-0.5"
71
72 FTP_URI="ftp://ftp.mozilla.org/pub/${PN}/releases/"
73 SRC_URI="${FTP_URI}/${TB_PV}/source/${TB_P}.source.tar.bz2
74 crypt? ( http://www.mozilla-enigmail.org/download/source/enigmail-${EMVER}.tar.gz )
75 http://dev.gentoo.org/~anarchy/mozilla/patchsets/${PATCH}.tar.xz
76 http://dev.gentoo.org/~anarchy/mozilla/patchsets/${PATCHFF}.tar.xz"
77
78 if ! [[ ${PV} =~ alpha|beta ]]; then
79 # This list can be updated using scripts/get_langs.sh from the mozilla overlay
80 LANGS=(ar be bg bn-BD br ca cs da de el en en-GB en-US es-AR es-ES et eu fi
81 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
82 pt-PT rm ro ru si sk sl sq sv-SE ta-LK tr uk vi zh-CN zh-TW)
83
84 for X in "${LANGS[@]}" ; do
85 # en and en_US are handled internally
86 if [[ ${X} != en ]] && [[ ${X} != en-US ]]; then
87 SRC_URI="${SRC_URI}
88 linguas_${X/-/_}? ( ${FTP_URI}/${TB_PV}/linux-i686/xpi/${X}.xpi -> ${P}-${X}.xpi )"
89 fi
90 IUSE="${IUSE} linguas_${X/-/_}"
91 # Install all the specific locale xpis if there's no generic locale xpi
92 # Example: there's no pt.xpi, so install all pt-*.xpi
93 if ! has ${X%%-*} "${LANGS[@]}"; then
94 SRC_URI="${SRC_URI}
95 linguas_${X%%-*}? ( ${FTP_URI}/${TB_PV}/linux-i686/xpi/${X}.xpi -> ${P}-${X}.xpi )"
96 IUSE="${IUSE} linguas_${X%%-*}"
97 fi
98 done
99 fi
100
101 RDEPEND=">=sys-devel/binutils-2.16.1
102 >=dev-libs/nss-3.12.10
103 >=dev-libs/nspr-4.8.8
104 crashreporter? ( net-misc/curl )
105 gconf? ( >=gnome-base/gconf-1.2.1:2 )
106 media-libs/libpng[apng]
107 webm? ( media-libs/libvpx
108 media-libs/alsa-lib )
109 virtual/libffi
110 !x11-plugins/enigmail
111 system-sqlite? ( >=dev-db/sqlite-3.7.5[fts3,secure-delete,unlock-notify,debug=] )
112 crypt? ( || (
113 ( >=app-crypt/gnupg-2.0
114 || (
115 app-crypt/pinentry[gtk]
116 app-crypt/pinentry[qt4]
117 )
118 )
119 =app-crypt/gnupg-1.4*
120 ) )"
121
122 DEPEND="${RDEPEND}"
123
124 S="${WORKDIR}"/comm-release
125
126 # TODO: Move all the linguas crap to an eclass
127 linguas() {
128 # Generate the list of language packs called "linguas"
129 # This list is used to install the xpi language packs
130 local LINGUA
131 for LINGUA in ${LINGUAS}; do
132 if has ${LINGUA} en en_US; then
133 # For mozilla products, en and en_US are handled internally
134 continue
135 # If this language is supported by ${P},
136 elif has ${LINGUA} "${LANGS[@]//-/_}"; then
137 # Add the language to linguas, if it isn't already there
138 has ${LINGUA//_/-} "${linguas[@]}" || linguas+=(${LINGUA//_/-})
139 continue
140 # For each short LINGUA that isn't in LANGS,
141 # add *all* long LANGS to the linguas list
142 elif ! has ${LINGUA%%-*} "${LANGS[@]}"; then
143 for LANG in "${LANGS[@]}"; do
144 if [[ ${LANG} == ${LINGUA}-* ]]; then
145 has ${LANG} "${linguas[@]}" || linguas+=(${LANG})
146 continue 2
147 fi
148 done
149 fi
150 ewarn "Sorry, but ${P} does not support the ${LINGUA} locale"
151 done
152 }
153
154 pkg_setup() {
155 moz_pkgsetup
156
157 export MOZILLA_DIR="${S}/mozilla"
158
159 if ! use bindist ; then
160 elog "You are enabling official branding. You may not redistribute this build"
161 elog "to any users on your network or the internet. Doing so puts yourself into"
162 elog "a legal problem with Mozilla Foundation"
163 elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag"
164 elog
165 fi
166
167 # Ensure we have enough disk space to compile
168 CHECKREQS_DISK_BUILD="4G"
169 check-reqs_pkg_setup
170 }
171
172 src_unpack() {
173 unpack ${A}
174
175 if ! [[ ${PV} =~ alpha|beta ]]; then
176 linguas
177 for X in "${linguas[@]}"; do
178 xpi_unpack "${P}-${X}.xpi"
179 done
180 fi
181 }
182
183 src_prepare() {
184 # Apply our Thunderbird patchset
185 EPATCH_SUFFIX="patch" \
186 EPATCH_FORCE="yes" \
187 epatch "${WORKDIR}/thunderbird"
188
189 # Apply our patchset from firefox to thunderbird as well
190 pushd "${S}"/mozilla &>/dev/null || die
191 EPATCH_SUFFIX="patch" \
192 EPATCH_FORCE="yes" \
193 epatch "${WORKDIR}/firefox"
194 popd &>/dev/null || die
195
196 if use lightning ; then
197 einfo "Fix lightning version to match upstream release"
198 einfo
199 sed -i -e 's:1.0b8pre:1.0:' "${S}"/calendar/sunbird/config/version.txt \
200 || die "Failed to correct lightning version"
201 fi
202
203 if use crypt ; then
204 mv "${WORKDIR}"/enigmail "${S}"/mailnews/extensions/enigmail
205 # Ensure enigmail can find its scripts for gpg
206 epatch "${FILESDIR}"/enigmail-1.3.3-bug373733.patch
207 cd "${S}"/mailnews/extensions/enigmail || die
208 ./makemake -r 2&> /dev/null
209 sed -i -e 's:@srcdir@:${S}/mailnews/extensions/enigmail:' Makefile.in
210 cd "${S}"
211 fi
212
213 #Fix compilation with curl-7.21.7 bug 376027
214 sed -e '/#include <curl\/types.h>/d' \
215 -i "${S}"/mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/http_upload.cc \
216 -i "${S}"/mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/libcurl_wrapper.cc \
217 -i "${S}"/mozilla/config/system-headers \
218 -i "${S}"/mozilla/js/src/config/system-headers || die "Sed failed"
219
220 # Allow user to apply any additional patches without modifing ebuild
221 epatch_user
222
223 eautoreconf
224 }
225
226 src_configure() {
227 declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
228 MEXTENSIONS="default"
229
230 ####################################
231 #
232 # mozconfig, CFLAGS and CXXFLAGS setup
233 #
234 ####################################
235
236 mozconfig_init
237 mozconfig_config
238
239 # It doesn't compile on alpha without this LDFLAGS
240 use alpha && append-ldflags "-Wl,--no-relax"
241
242 mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
243 mozconfig_annotate '' --with-default-mozilla-five-home="${EPREFIX}${MOZILLA_FIVE_HOME}"
244 mozconfig_annotate '' --with-user-appdir=.thunderbird
245 mozconfig_annotate '' --with-system-png
246 mozconfig_annotate '' --enable-system-ffi
247
248 # Use enable features
249 mozconfig_use_enable lightning calendar
250 mozconfig_use_enable gconf
251
252 # Bug #72667
253 if use mozdom; then
254 MEXTENSIONS="${MEXTENSIONS},inspector"
255 fi
256
257 # Finalize and report settings
258 mozconfig_final
259
260 ####################################
261 #
262 # Configure and build
263 #
264 ####################################
265
266 # Disable no-print-directory
267 MAKEOPTS=${MAKEOPTS/--no-print-directory/}
268
269 if [[ $(gcc-major-version) -lt 4 ]]; then
270 append-cxxflags -fno-stack-protector
271 elif [[ $(gcc-major-version) -gt 4 || $(gcc-minor-version) -gt 3 ]]; then
272 if use amd64 || use x86; then
273 append-flags -mno-avx
274 fi
275 fi
276
277 CPPFLAGS="${CPPFLAGS}" \
278 CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
279 econf || die
280 }
281
282 src_compile() {
283 emake || die
284
285 # Only build enigmail extension if crypt enabled.
286 if use crypt ; then
287 emake -C "${S}"/mailnews/extensions/enigmail || die "make enigmail failed"
288 emake -C "${S}"/mailnews/extensions/enigmail xpi || die "make enigmail xpi failed"
289 fi
290 }
291
292 src_install() {
293 declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
294 declare emid
295
296 # Pax mark xpcshell for hardened support, only used for startupcache creation.
297 pax-mark m "${S}"/mozilla/dist/bin/xpcshell
298
299 emake DESTDIR="${D}" install || die "emake install failed"
300
301 if ! use bindist; then
302 newicon "${S}"/other-licenses/branding/thunderbird/content/icon48.png thunderbird-icon.png
303 domenu "${FILESDIR}"/icon/${PN}.desktop
304 else
305 newicon "${S}"/mail/branding/unofficial/content/icon48.png thunderbird-icon-unbranded.png
306 newmenu "${FILESDIR}"/icon/${PN}-unbranded.desktop \
307 ${PN}.desktop
308
309 sed -i -e "s:Mozilla\ Thunderbird:Lanikai:g" \
310 "${ED}"/usr/share/applications/${PN}.desktop
311 fi
312
313 if use crypt ; then
314 cd "${T}" || die
315 unzip "${S}"/mozilla/dist/bin/enigmail*.xpi install.rdf || die
316 emid=$(sed -n '/<em:id>/!d; s/.*\({.*}\).*/\1/; p; q' install.rdf)
317
318 dodir ${MOZILLA_FIVE_HOME}/extensions/${emid} || die
319 cd "${D}"${MOZILLA_FIVE_HOME}/extensions/${emid} || die
320 unzip "${S}"/mozilla/dist/bin/enigmail*.xpi || die
321 fi
322
323 if use lightning ; then
324 emid="{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}"
325 dodir ${MOZILLA_FIVE_HOME}/extensions/${emid}
326 cd "${ED}"${MOZILLA_FIVE_HOME}/extensions/${emid}
327 unzip "${S}"/mozilla/dist/xpi-stage/gdata-provider.xpi
328
329 emid="calendar-timezones@×××××××.org"
330 dodir ${MOZILLA_FIVE_HOME}/extensions/${emid}
331 cd "${ED}"${MOZILLA_FIVE_HOME}/extensions/${emid}
332 unzip "${S}"/mozilla/dist/xpi-stage/calendar-timezones.xpi
333
334 emid="{e2fda1a4-762b-4020-b5ad-a41df1933103}"
335 dodir ${MOZILLA_FIVE_HOME}/extensions/${emid}
336 cd "${ED}"${MOZILLA_FIVE_HOME}/extensions/${emid}
337 unzip "${S}"/mozilla/dist/xpi-stage/lightning.xpi
338
339 # Fix mimetype so it shows up as a calendar application in GNOME 3
340 # This requires that the .desktop file was already installed earlier
341 sed -e "s:^\(MimeType=\):\1text/calendar;:" \
342 -e "s:^\(Categories=\):\1Calendar;:" \
343 -i "${ED}"/usr/share/applications/${PN}.desktop
344 fi
345
346 if ! [[ ${PV} =~ alpha|beta ]]; then
347 linguas
348 for X in "${linguas[@]}"; do
349 xpi_install "${WORKDIR}/${P}-${X}"
350 done
351 fi
352
353 pax-mark m "${ED}"/${MOZILLA_FIVE_HOME}/thunderbird-bin
354
355 # Enable very specific settings for thunderbird-3
356 cp "${FILESDIR}"/thunderbird-gentoo-default-prefs-1.js-1 \
357 "${ED}/${MOZILLA_FIVE_HOME}/defaults/pref/all-gentoo.js" || \
358 die "failed to cp thunderbird-gentoo-default-prefs.js"
359
360 share_plugins_dir
361 }
362
363 pkg_postinst() {
364 elog
365 elog "If you are experience problems with plugins please issue the"
366 elog "following command : rm \${HOME}/.thunderbird/*/extensions.sqlite ,"
367 elog "then restart thunderbird"
368 }