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-24.1.1.ebuild ChangeLog thunderbird-24.1.0-r2.ebuild
Date: Thu, 21 Nov 2013 14:35:49
Message-Id: 20131121143538.7216E2004B@flycatcher.gentoo.org
1 anarchy 13/11/21 14:35:38
2
3 Modified: ChangeLog
4 Added: thunderbird-24.1.1.ebuild
5 Removed: thunderbird-24.1.0-r2.ebuild
6 Log:
7 Misc ui fixes, update nss/nspr deps for security
8
9 (Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key 0xB4D088B4)
10
11 Revision Changes Path
12 1.252 mail-client/thunderbird/ChangeLog
13
14 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-client/thunderbird/ChangeLog?rev=1.252&view=markup
15 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-client/thunderbird/ChangeLog?rev=1.252&content-type=text/plain
16 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-client/thunderbird/ChangeLog?r1=1.251&r2=1.252
17
18 Index: ChangeLog
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/mail-client/thunderbird/ChangeLog,v
21 retrieving revision 1.251
22 retrieving revision 1.252
23 diff -u -r1.251 -r1.252
24 --- ChangeLog 9 Nov 2013 15:20:56 -0000 1.251
25 +++ ChangeLog 21 Nov 2013 14:35:38 -0000 1.252
26 @@ -1,6 +1,12 @@
27 # ChangeLog for mail-client/thunderbird
28 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
29 -# $Header: /var/cvsroot/gentoo-x86/mail-client/thunderbird/ChangeLog,v 1.251 2013/11/09 15:20:56 axs Exp $
30 +# $Header: /var/cvsroot/gentoo-x86/mail-client/thunderbird/ChangeLog,v 1.252 2013/11/21 14:35:38 anarchy Exp $
31 +
32 +*thunderbird-24.1.1 (21 Nov 2013)
33 +
34 + 21 Nov 2013; Jory A. Pratt <anarchy@g.o> +thunderbird-24.1.1.ebuild,
35 + -thunderbird-24.1.0-r2.ebuild:
36 + Misc ui fixes, update nss/nspr deps for security
37
38 *thunderbird-24.1.0-r2 (09 Nov 2013)
39
40
41
42
43 1.1 mail-client/thunderbird/thunderbird-24.1.1.ebuild
44
45 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-client/thunderbird/thunderbird-24.1.1.ebuild?rev=1.1&view=markup
46 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-client/thunderbird/thunderbird-24.1.1.ebuild?rev=1.1&content-type=text/plain
47
48 Index: thunderbird-24.1.1.ebuild
49 ===================================================================
50 # Copyright 1999-2013 Gentoo Foundation
51 # Distributed under the terms of the GNU General Public License v2
52 # $Header: /var/cvsroot/gentoo-x86/mail-client/thunderbird/thunderbird-24.1.1.ebuild,v 1.1 2013/11/21 14:35:38 anarchy Exp $
53
54 EAPI="3"
55 WANT_AUTOCONF="2.1"
56 MOZ_ESR=""
57 MOZ_LIGHTNING_VER="2.6.2"
58
59 # This list can be updated using scripts/get_langs.sh from the mozilla overlay
60 MOZ_LANGS=(ar ast be bg bn-BD br ca cs da de el en en-GB en-US es-AR
61 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
62 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
63 zh-CN zh-TW )
64
65 # Convert the ebuild version to th firefox-24.0-patches-0.4.tar.xze upstream mozilla version, used by mozlinguas
66 MOZ_PV="${PV/_beta/b}"
67 # ESR releases have slightly version numbers
68 if [[ ${MOZ_ESR} == 1 ]]; then
69 MOZ_PV="${MOZ_PV}esr"
70 fi
71 MOZ_P="${PN}-${MOZ_PV}"
72
73 # Enigmail version
74 EMVER="1.6"
75 # Upstream ftp release URI that's used by mozlinguas.eclass
76 # We don't use the http mirror because it deletes old tarballs.
77 MOZ_FTP_URI="ftp://ftp.mozilla.org/pub/${PN}/releases/"
78 MOZ_HTTP_URI="http://ftp.mozilla.org/pub/${PN}/releases/"
79
80 inherit flag-o-matic toolchain-funcs mozconfig-3 makeedit multilib autotools pax-utils check-reqs nsplugins mozlinguas
81
82 DESCRIPTION="Thunderbird Mail Client"
83 HOMEPAGE="http://www.mozilla.com/en-US/thunderbird/"
84
85 KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
86 SLOT="0"
87 LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
88 IUSE="bindist crypt gstreamer +jit ldap +lightning +minimal mozdom pulseaudio selinux system-cairo system-icu system-jpeg system-sqlite"
89
90 PATCH="thunderbird-24.0-patches-0.1"
91 PATCHFF="firefox-24.0-patches-0.6"
92
93 SRC_URI="${SRC_URI}
94 ${MOZ_FTP_URI}${MOZ_PV}/source/${MOZ_P}.source.tar.bz2
95 ${MOZ_HTTP_URI}${MOZ_PV}/source/${MOZ_P}.source.tar.bz2
96 crypt? ( http://www.enigmail.net/download/source/enigmail-${EMVER}.tar.gz )
97 lightning? (
98 ${MOZ_HTTP_URI/${PN}/calendar/lightning}/${MOZ_LIGHTNING_VER}/linux/lightning.xpi -> lightning-${MOZ_LIGHTNING_VER}.xpi
99 ${MOZ_HTTP_URI/${PN}/calendar/lightning}/${MOZ_LIGHTNING_VER}/linux/gdata-provider.xpi -> gdata-provider-${MOZ_LIGHTNING_VER}.xpi
100 )
101 http://dev.gentoo.org/~anarchy/mozilla/patchsets/${PATCH}.tar.xz
102 http://dev.gentoo.org/~anarchy/mozilla/patchsets/${PATCHFF}.tar.xz
103 http://dev.gentoo.org/~polynomial-c/mozilla/patchsets/${PATCH}.tar.xz"
104
105 ASM_DEPEND=">=dev-lang/yasm-1.1"
106
107 RDEPEND="
108 >=dev-libs/nss-3.15.3
109 >=dev-libs/nspr-4.10.2
110 >=dev-libs/glib-2.26:2
111 >=media-libs/mesa-7.10
112 >=media-libs/libpng-1.5.13[apng]
113 virtual/libffi
114 gstreamer? ( media-plugins/gst-plugins-meta:0.10[ffmpeg] )
115 pulseaudio? ( media-sound/pulseaudio )
116 system-cairo? ( >=x11-libs/cairo-1.12[X] )
117 system-icu? ( >=dev-libs/icu-0.51.1 )
118 system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
119 system-sqlite? ( >=dev-db/sqlite-3.7.17:3[secure-delete,debug=] )
120 >=media-libs/libvpx-1.0.0
121 kernel_linux? ( media-libs/alsa-lib )
122 selinux? ( sec-policy/selinux-thunderbird )
123 !x11-plugins/enigmail
124 crypt? ( || (
125 ( >=app-crypt/gnupg-2.0
126 || (
127 app-crypt/pinentry[gtk]
128 app-crypt/pinentry[qt4]
129 )
130 )
131 =app-crypt/gnupg-1.4*
132 ) )"
133
134 DEPEND="${RDEPEND}
135 >=sys-devel/binutils-2.16.1
136 virtual/pkgconfig
137 amd64? ( ${ASM_DEPEND}
138 virtual/opengl )
139 x86? ( ${ASM_DEPEND}
140 virtual/opengl )"
141
142 if [[ ${PV} =~ beta ]]; then
143 S="${WORKDIR}/comm-beta"
144 else
145 S="${WORKDIR}/comm-esr${PV%%.*}"
146 fi
147
148 pkg_setup() {
149 moz_pkgsetup
150
151 export MOZILLA_DIR="${S}/mozilla"
152
153 if ! use bindist ; then
154 elog "You are enabling official branding. You may not redistribute this build"
155 elog "to any users on your network or the internet. Doing so puts yourself into"
156 elog "a legal problem with Mozilla Foundation"
157 elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag"
158 elog
159 fi
160
161 # Ensure we have enough disk space to compile
162 CHECKREQS_DISK_BUILD="4G"
163 check-reqs_pkg_setup
164 }
165
166 src_unpack() {
167 unpack ${A}
168
169 # Unpack language packs
170 mozlinguas_src_unpack
171
172 # Unpack lightning for calendar locales
173 if use lightning ; then
174 xpi_unpack lightning-${MOZ_LIGHTNING_VER}.xpi
175 xpi_unpack gdata-provider-${MOZ_LIGHTNING_VER}.xpi
176 fi
177 }
178
179 src_prepare() {
180 # Apply our Thunderbird patchset
181 EPATCH_SUFFIX="patch" \
182 EPATCH_FORCE="yes" \
183 epatch "${WORKDIR}/thunderbird"
184
185 # Apply our patchset from firefox to thunderbird as well
186 pushd "${S}"/mozilla &>/dev/null || die
187 EPATCH_EXCLUDE="8002_fix_versioning_bug_927073.patch" \
188 EPATCH_SUFFIX="patch" \
189 EPATCH_FORCE="yes" \
190 epatch "${WORKDIR}/firefox"
191 popd &>/dev/null || die
192
193 if use crypt ; then
194 mv "${WORKDIR}"/enigmail "${S}"/mailnews/extensions/enigmail
195 fi
196
197 # Ensure that are plugins dir is enabled as default
198 sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
199 "${S}"/mozilla/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 32bit!"
200 sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
201 "${S}"/mozilla/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 64bit!"
202
203 # Don't exit with error when some libs are missing which we have in
204 # system.
205 sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
206 -i "${S}"/mail/installer/Makefile.in || die
207
208 # Don't error out when there's no files to be removed:
209 sed 's@\(xargs rm\)$@\1 -f@' \
210 -i "${S}"/mozilla/toolkit/mozapps/installer/packager.mk || die
211
212 # Shell scripts sometimes contain DOS line endings; bug 391889
213 grep -rlZ --include="*.sh" $'\r$' . |
214 while read -r -d $'\0' file ; do
215 einfo edos2unix "${file}"
216 edos2unix "${file}"
217 done
218
219 # Confirm the version of lightning being grabbed for langpacks is the same
220 # as that used in thunderbird
221 local THIS_MOZ_LIGHTNING_VER=$(cat "${S}"/calendar/sunbird/config/version.txt)
222 if [[ ${MOZ_LIGHTNING_VER} != ${THIS_MOZ_LIGHTNING_VER} ]]; then
223 eqawarn "The version of lightning used for localization differs from the version"
224 eqawarn "in thunderbird. Please update MOZ_LIGHTNING_VER in the ebuild from ${MOZ_LIGHTNING_VER}"
225 eqawarn "to ${THIS_MOZ_LIGHTNING_VER}"
226 fi
227
228 # Allow user to apply any additional patches without modifing ebuild
229 epatch_user
230
231 eautoreconf
232 # Ensure we run eautoreconf in mozilla to regenerate configure
233 cd "${S}"/mozilla
234 eautoconf
235 }
236
237 src_configure() {
238 declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
239 MEXTENSIONS="default"
240
241 ####################################
242 #
243 # mozconfig, CFLAGS and CXXFLAGS setup
244 #
245 ####################################
246
247 mozconfig_init
248 mozconfig_config
249
250 # It doesn't compile on alpha without this LDFLAGS
251 use alpha && append-ldflags "-Wl,--no-relax"
252
253 # We must force enable jemalloc 3 threw .mozconfig
254 echo "export MOZ_JEMALLOC=1" >> ${S}/.mozconfig
255
256 mozconfig_annotate '' --enable-jemalloc
257 mozconfig_annotate '' --enable-replace-malloc
258 mozconfig_annotate '' --prefix="${EPREFIX}"/usr
259 mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
260 mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
261 mozconfig_annotate '' --disable-gconf
262 mozconfig_annotate '' --disable-mailnews
263 mozconfig_annotate '' --with-system-png
264 mozconfig_annotate '' --enable-system-ffi
265
266 # Other ff-specific settings
267 mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}
268 mozconfig_annotate '' --with-user-appdir=.thunderbird
269 mozconfig_annotate '' --target="${CTARGET:-${CHOST}}"
270 mozconfig_annotate '' --build="${CTARGET:-${CHOST}}"
271
272 # Use enable features
273 mozconfig_use_enable gstreamer
274 mozconfig_use_enable pulseaudio
275 mozconfig_use_enable system-cairo
276 mozconfig_use_enable system-sqlite
277 mozconfig_use_with system-jpeg
278 mozconfig_use_with system-icu
279 mozconfig_use_enable system-icu intl-api
280 mozconfig_use_enable lightning calendar
281 mozconfig_use_enable ldap
282 # Feature is know to cause problems on hardened
283 mozconfig_use_enable jit ion
284
285 # Bug #72667
286 if use mozdom; then
287 MEXTENSIONS="${MEXTENSIONS},inspector"
288 fi
289
290 # Use an objdir to keep things organized.
291 echo "mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/tbird" >> "${S}"/.mozconfig
292
293 # Finalize and report settings
294 mozconfig_final
295
296 ####################################
297 #
298 # Configure and build
299 #
300 ####################################
301
302 # Disable no-print-directory
303 MAKEOPTS=${MAKEOPTS/--no-print-directory/}
304
305 if [[ $(gcc-major-version) -lt 4 ]]; then
306 append-cxxflags -fno-stack-protector
307 elif [[ $(gcc-major-version) -gt 4 || $(gcc-minor-version) -gt 3 ]]; then
308 if use amd64 || use x86; then
309 append-flags -mno-avx
310 fi
311 fi
312 }
313
314 src_compile() {
315 CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
316 MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL}" \
317 emake -f client.mk || die "emake failed"
318
319 # Only build enigmail extension if crypt enabled.
320 if use crypt ; then
321 cd "${S}"/mailnews/extensions/enigmail || die
322 ./makemake -r 2&> /dev/null
323 cd "${S}"/tbird/mailnews/extensions/enigmail
324 emake || die "make enigmail failed"
325 emake xpi || die "make enigmail xpi failed"
326 fi
327 }
328
329 src_install() {
330 declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
331 DICTPATH="\"${EPREFIX}/usr/share/myspell\""
332
333 declare emid
334 local obj_dir="tbird"
335 cd "${S}/${obj_dir}"
336
337 # Copy our preference before omnijar is created.
338 cp "${FILESDIR}"/thunderbird-gentoo-default-prefs-1.js-1 \
339 "${S}/${obj_dir}/mozilla/dist/bin/defaults/pref/all-gentoo.js" || die
340
341 # Set default path to search for dictionaries.
342 echo "pref(\"spellchecker.dictionary_path\", ${DICTPATH});" \
343 >> "${S}/${obj_dir}/mozilla/dist/bin/defaults/pref/all-gentoo.js" || die
344
345 # Pax mark xpcshell for hardened support, only used for startupcache creation.
346 pax-mark m "${S}"/${obj_dir}/mozilla/dist/bin/xpcshell
347
348 MOZ_MAKE_FLAGS="${MAKEOPTS}" \
349 emake DESTDIR="${D}" install || die "emake install failed"
350
351 # Install language packs
352 mozlinguas_src_install
353
354 if ! use bindist; then
355 newicon "${S}"/other-licenses/branding/thunderbird/content/icon48.png thunderbird-icon.png
356 domenu "${FILESDIR}"/icon/${PN}.desktop
357 else
358 newicon "${S}"/mail/branding/aurora/content/icon48.png thunderbird-icon-unbranded.png
359 newmenu "${FILESDIR}"/icon/${PN}-unbranded.desktop \
360 ${PN}.desktop
361
362 sed -i -e "s:Mozilla\ Thunderbird:EarlyBird:g" \
363 "${ED}"/usr/share/applications/${PN}.desktop
364 fi
365
366 if use crypt ; then
367 cd "${T}" || die
368 unzip "${S}"/${obj_dir}/mozilla/dist/bin/enigmail*.xpi install.rdf || die
369 emid=$(sed -n '/<em:id>/!d; s/.*\({.*}\).*/\1/; p; q' install.rdf)
370
371 dodir ${MOZILLA_FIVE_HOME}/extensions/${emid} || die
372 cd "${D}"${MOZILLA_FIVE_HOME}/extensions/${emid} || die
373 unzip "${S}"/${obj_dir}/mozilla/dist/bin/enigmail*.xpi || die
374 fi
375
376 if use lightning ; then
377 local l c
378 mozlinguas_export
379
380 emid="{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}"
381 dodir ${MOZILLA_FIVE_HOME}/extensions/${emid}
382 cd "${ED}"${MOZILLA_FIVE_HOME}/extensions/${emid}
383 unzip "${S}"/${obj_dir}/mozilla/dist/xpi-stage/gdata-provider-*.xpi
384 # Install locales for gdata-provider -- each locale is a directory tree
385 insinto ${MOZILLA_FIVE_HOME}/extensions/${emid}/chrome
386 cd "${WORKDIR}"/gdata-provider-${MOZ_LIGHTNING_VER}/chrome
387 for l in "${mozlinguas[@]}"; do if [[ -d gdata-provider-${l} ]]; then
388 doins -r gdata-provider-${l}
389 echo "locale gdata-provider ${l} chrome/gdata-provider-${l}/locale/${l}/" \
390 >> "${ED}"/${MOZILLA_FIVE_HOME}/extensions/${emid}/chrome.manifest \
391 || die "Error adding gdata-provider-${l} to chrome.manifest"
392 else
393 ewarn "Sorry, but lightning gdata-provider in ${P} does not support the ${l} locale"
394 fi; done
395
396 emid="{e2fda1a4-762b-4020-b5ad-a41df1933103}"
397 dodir ${MOZILLA_FIVE_HOME}/extensions/${emid}
398 cd "${ED}"${MOZILLA_FIVE_HOME}/extensions/${emid}
399 unzip "${S}"/${obj_dir}/mozilla/dist/xpi-stage/lightning-*.xpi
400 # Install locales for lightning - each locale is a jar file
401 insinto ${MOZILLA_FIVE_HOME}/extensions/${emid}/chrome
402 cd "${WORKDIR}"/lightning-${MOZ_LIGHTNING_VER}/chrome
403 for l in "${mozlinguas[@]}"; do if [[ -e calendar-${l}.jar ]]; then
404 for c in calendar lightning; do
405 doins ${c}-${l}.jar
406 echo "locale ${c} $l jar:chrome/${c}-${l}.jar!/locale/${l}/${c}/" \
407 >> "${ED}"/${MOZILLA_FIVE_HOME}/extensions/${emid}/chrome.manifest \
408 || die "Error adding ${c}-${l} to chrome.manifest"
409 done
410 else
411 ewarn "Sorry, but lightning calendar in ${P} does not support the ${l} locale"
412 fi; done
413
414 # Fix mimetype so it shows up as a calendar application in GNOME 3
415 # This requires that the .desktop file was already installed earlier
416 sed -e "s:^\(MimeType=\):\1text/calendar;:" \
417 -e "s:^\(Categories=\):\1Calendar;:" \
418 -i "${ED}"/usr/share/applications/${PN}.desktop
419 fi
420
421 pax-mark m "${ED}"/${MOZILLA_FIVE_HOME}/{thunderbird-bin,thunderbird}
422
423 # Plugin-container needs to be pax-marked for hardened to ensure plugins such as flash
424 # continue to work as expected.
425 pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/plugin-container
426
427 if use minimal; then
428 rm -rf "${ED}"/usr/include "${ED}"${MOZILLA_FIVE_HOME}/{idl,include,lib,sdk} || \
429 die "Failed to remove sdk and headers"
430 fi
431 }
432
433 pkg_postinst() {
434 elog
435 elog "If you are experience problems with plugins please issue the"
436 elog "following command : rm \${HOME}/.thunderbird/*/extensions.sqlite ,"
437 elog "then restart thunderbird"
438 }