Gentoo Archives: gentoo-commits

From: "Ian Stakenvicius (axs)" <axs@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in mail-client/thunderbird: thunderbird-24.1.0-r2.ebuild ChangeLog thunderbird-24.1.0-r1.ebuild
Date: Sat, 09 Nov 2013 15:21:15
Message-Id: 20131109152056.B311B2004B@flycatcher.gentoo.org
1 axs 13/11/09 15:20:56
2
3 Modified: ChangeLog
4 Added: thunderbird-24.1.0-r2.ebuild
5 Removed: thunderbird-24.1.0-r1.ebuild
6 Log:
7 Add locale support for lightning an gdata-provider, bug 333945
8
9 (Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key 2B6559ED)
10
11 Revision Changes Path
12 1.251 mail-client/thunderbird/ChangeLog
13
14 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-client/thunderbird/ChangeLog?rev=1.251&view=markup
15 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-client/thunderbird/ChangeLog?rev=1.251&content-type=text/plain
16 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-client/thunderbird/ChangeLog?r1=1.250&r2=1.251
17
18 Index: ChangeLog
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/mail-client/thunderbird/ChangeLog,v
21 retrieving revision 1.250
22 retrieving revision 1.251
23 diff -u -r1.250 -r1.251
24 --- ChangeLog 4 Nov 2013 13:41:14 -0000 1.250
25 +++ ChangeLog 9 Nov 2013 15:20:56 -0000 1.251
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.250 2013/11/04 13:41:14 anarchy Exp $
30 +# $Header: /var/cvsroot/gentoo-x86/mail-client/thunderbird/ChangeLog,v 1.251 2013/11/09 15:20:56 axs Exp $
31 +
32 +*thunderbird-24.1.0-r2 (09 Nov 2013)
33 +
34 + 09 Nov 2013; Ian Stakenvicius <axs@g.o> +thunderbird-24.1.0-r2.ebuild,
35 + -thunderbird-24.1.0-r1.ebuild:
36 + Add locale support for lightning an gdata-provider, bug 333945
37
38 *thunderbird-24.1.0-r1 (04 Nov 2013)
39
40
41
42
43 1.1 mail-client/thunderbird/thunderbird-24.1.0-r2.ebuild
44
45 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-client/thunderbird/thunderbird-24.1.0-r2.ebuild?rev=1.1&view=markup
46 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-client/thunderbird/thunderbird-24.1.0-r2.ebuild?rev=1.1&content-type=text/plain
47
48 Index: thunderbird-24.1.0-r2.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.0-r2.ebuild,v 1.1 2013/11/09 15:20:56 axs 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.1
109 >=dev-libs/nspr-4.10
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_SUFFIX="patch" \
188 EPATCH_FORCE="yes" \
189 epatch "${WORKDIR}/firefox"
190 popd &>/dev/null || die
191
192 if use crypt ; then
193 mv "${WORKDIR}"/enigmail "${S}"/mailnews/extensions/enigmail
194 fi
195
196 # Ensure that are plugins dir is enabled as default
197 sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
198 "${S}"/mozilla/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 32bit!"
199 sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
200 "${S}"/mozilla/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 64bit!"
201
202 # Don't exit with error when some libs are missing which we have in
203 # system.
204 sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
205 -i "${S}"/mail/installer/Makefile.in || die
206
207 # Don't error out when there's no files to be removed:
208 sed 's@\(xargs rm\)$@\1 -f@' \
209 -i "${S}"/mozilla/toolkit/mozapps/installer/packager.mk || die
210
211 # Shell scripts sometimes contain DOS line endings; bug 391889
212 grep -rlZ --include="*.sh" $'\r$' . |
213 while read -r -d $'\0' file ; do
214 einfo edos2unix "${file}"
215 edos2unix "${file}"
216 done
217
218 # Confirm the version of lightning being grabbed for langpacks is the same
219 # as that used in thunderbird
220 local THIS_MOZ_LIGHTNING_VER=$(cat "${S}"/calendar/sunbird/config/version.txt)
221 if [[ ${MOZ_LIGHTNING_VER} != ${THIS_MOZ_LIGHTNING_VER} ]]; then
222 eqawarn "The version of lightning used for localization differs from the version"
223 eqawarn "in thunderbird. Please update MOZ_LIGHTNING_VER in the ebuild from ${MOZ_LIGHTNING_VER}"
224 eqawarn "to ${THIS_MOZ_LIGHTNING_VER}"
225 fi
226
227 # Allow user to apply any additional patches without modifing ebuild
228 epatch_user
229
230 eautoreconf
231 # Ensure we run eautoreconf in mozilla to regenerate configure
232 cd "${S}"/mozilla
233 eautoconf
234 }
235
236 src_configure() {
237 declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
238 MEXTENSIONS="default"
239
240 ####################################
241 #
242 # mozconfig, CFLAGS and CXXFLAGS setup
243 #
244 ####################################
245
246 mozconfig_init
247 mozconfig_config
248
249 # It doesn't compile on alpha without this LDFLAGS
250 use alpha && append-ldflags "-Wl,--no-relax"
251
252 # We must force enable jemalloc 3 threw .mozconfig
253 echo "export MOZ_JEMALLOC=1" >> ${S}/.mozconfig
254
255 mozconfig_annotate '' --enable-jemalloc
256 mozconfig_annotate '' --enable-replace-malloc
257 mozconfig_annotate '' --prefix="${EPREFIX}"/usr
258 mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
259 mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
260 mozconfig_annotate '' --disable-gconf
261 mozconfig_annotate '' --disable-mailnews
262 mozconfig_annotate '' --with-system-png
263 mozconfig_annotate '' --enable-system-ffi
264
265 # Other ff-specific settings
266 mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}
267 mozconfig_annotate '' --with-user-appdir=.thunderbird
268 mozconfig_annotate '' --target="${CTARGET:-${CHOST}}"
269 mozconfig_annotate '' --build="${CTARGET:-${CHOST}}"
270
271 # Use enable features
272 mozconfig_use_enable gstreamer
273 mozconfig_use_enable pulseaudio
274 mozconfig_use_enable system-cairo
275 mozconfig_use_enable system-sqlite
276 mozconfig_use_with system-jpeg
277 mozconfig_use_with system-icu
278 mozconfig_use_enable system-icu intl-api
279 mozconfig_use_enable lightning calendar
280 mozconfig_use_enable ldap
281 # Feature is know to cause problems on hardened
282 mozconfig_use_enable jit ion
283
284 # Bug #72667
285 if use mozdom; then
286 MEXTENSIONS="${MEXTENSIONS},inspector"
287 fi
288
289 # Use an objdir to keep things organized.
290 echo "mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/tbird" >> "${S}"/.mozconfig
291
292 # Finalize and report settings
293 mozconfig_final
294
295 ####################################
296 #
297 # Configure and build
298 #
299 ####################################
300
301 # Disable no-print-directory
302 MAKEOPTS=${MAKEOPTS/--no-print-directory/}
303
304 if [[ $(gcc-major-version) -lt 4 ]]; then
305 append-cxxflags -fno-stack-protector
306 elif [[ $(gcc-major-version) -gt 4 || $(gcc-minor-version) -gt 3 ]]; then
307 if use amd64 || use x86; then
308 append-flags -mno-avx
309 fi
310 fi
311 }
312
313 src_compile() {
314 CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
315 MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL}" \
316 emake -f client.mk || die "emake failed"
317
318 # Only build enigmail extension if crypt enabled.
319 if use crypt ; then
320 cd "${S}"/mailnews/extensions/enigmail || die
321 ./makemake -r 2&> /dev/null
322 cd "${S}"/tbird/mailnews/extensions/enigmail
323 emake || die "make enigmail failed"
324 emake xpi || die "make enigmail xpi failed"
325 fi
326 }
327
328 src_install() {
329 declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
330 DICTPATH="\"${EPREFIX}/usr/share/myspell\""
331
332 declare emid
333 local obj_dir="tbird"
334 cd "${S}/${obj_dir}"
335
336 # Copy our preference before omnijar is created.
337 cp "${FILESDIR}"/thunderbird-gentoo-default-prefs-1.js-1 \
338 "${S}/${obj_dir}/mozilla/dist/bin/defaults/pref/all-gentoo.js" || die
339
340 # Set default path to search for dictionaries.
341 echo "pref(\"spellchecker.dictionary_path\", ${DICTPATH});" \
342 >> "${S}/${obj_dir}/mozilla/dist/bin/defaults/pref/all-gentoo.js" || die
343
344 # Pax mark xpcshell for hardened support, only used for startupcache creation.
345 pax-mark m "${S}"/${obj_dir}/mozilla/dist/bin/xpcshell
346
347 MOZ_MAKE_FLAGS="${MAKEOPTS}" \
348 emake DESTDIR="${D}" install || die "emake install failed"
349
350 # Install language packs
351 mozlinguas_src_install
352
353 if ! use bindist; then
354 newicon "${S}"/other-licenses/branding/thunderbird/content/icon48.png thunderbird-icon.png
355 domenu "${FILESDIR}"/icon/${PN}.desktop
356 else
357 newicon "${S}"/mail/branding/aurora/content/icon48.png thunderbird-icon-unbranded.png
358 newmenu "${FILESDIR}"/icon/${PN}-unbranded.desktop \
359 ${PN}.desktop
360
361 sed -i -e "s:Mozilla\ Thunderbird:EarlyBird:g" \
362 "${ED}"/usr/share/applications/${PN}.desktop
363 fi
364
365 if use crypt ; then
366 cd "${T}" || die
367 unzip "${S}"/${obj_dir}/mozilla/dist/bin/enigmail*.xpi install.rdf || die
368 emid=$(sed -n '/<em:id>/!d; s/.*\({.*}\).*/\1/; p; q' install.rdf)
369
370 dodir ${MOZILLA_FIVE_HOME}/extensions/${emid} || die
371 cd "${D}"${MOZILLA_FIVE_HOME}/extensions/${emid} || die
372 unzip "${S}"/${obj_dir}/mozilla/dist/bin/enigmail*.xpi || die
373 fi
374
375 if use lightning ; then
376 local l c
377 mozlinguas_export
378
379 emid="{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}"
380 dodir ${MOZILLA_FIVE_HOME}/extensions/${emid}
381 cd "${ED}"${MOZILLA_FIVE_HOME}/extensions/${emid}
382 unzip "${S}"/${obj_dir}/mozilla/dist/xpi-stage/gdata-provider-*.xpi
383 # Install locales for gdata-provider -- each locale is a directory tree
384 insinto ${MOZILLA_FIVE_HOME}/extensions/${emid}/chrome
385 cd "${WORKDIR}"/gdata-provider-${MOZ_LIGHTNING_VER}/chrome
386 for l in "${mozlinguas[@]}"; do if [[ -d gdata-provider-${l} ]]; then
387 doins -r gdata-provider-${l}
388 echo "locale gdata-provider ${l} chrome/gdata-provider-${l}/locale/${l}/" \
389 >> "${ED}"/${MOZILLA_FIVE_HOME}/extensions/${emid}/chrome.manifest \
390 || die "Error adding gdata-provider-${l} to chrome.manifest"
391 else
392 ewarn "Sorry, but lightning gdata-provider in ${P} does not support the ${l} locale"
393 fi; done
394
395 emid="{e2fda1a4-762b-4020-b5ad-a41df1933103}"
396 dodir ${MOZILLA_FIVE_HOME}/extensions/${emid}
397 cd "${ED}"${MOZILLA_FIVE_HOME}/extensions/${emid}
398 unzip "${S}"/${obj_dir}/mozilla/dist/xpi-stage/lightning-*.xpi
399 # Install locales for lightning - each locale is a jar file
400 insinto ${MOZILLA_FIVE_HOME}/extensions/${emid}/chrome
401 cd "${WORKDIR}"/lightning-${MOZ_LIGHTNING_VER}/chrome
402 for l in "${mozlinguas[@]}"; do if [[ -e calendar-${l}.jar ]]; then
403 for c in calendar lightning; do
404 doins ${c}-${l}.jar
405 echo "locale ${c} $l jar:chrome/${c}-${l}.jar!/locale/${l}/${c}/" \
406 >> "${ED}"/${MOZILLA_FIVE_HOME}/extensions/${emid}/chrome.manifest \
407 || die "Error adding ${c}-${l} to chrome.manifest"
408 done
409 else
410 ewarn "Sorry, but lightning calendar in ${P} does not support the ${l} locale"
411 fi; done
412
413 # Fix mimetype so it shows up as a calendar application in GNOME 3
414 # This requires that the .desktop file was already installed earlier
415 sed -e "s:^\(MimeType=\):\1text/calendar;:" \
416 -e "s:^\(Categories=\):\1Calendar;:" \
417 -i "${ED}"/usr/share/applications/${PN}.desktop
418 fi
419
420 pax-mark m "${ED}"/${MOZILLA_FIVE_HOME}/{thunderbird-bin,thunderbird}
421
422 # Plugin-container needs to be pax-marked for hardened to ensure plugins such as flash
423 # continue to work as expected.
424 pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/plugin-container
425
426 if use minimal; then
427 rm -rf "${ED}"/usr/include "${ED}"${MOZILLA_FIVE_HOME}/{idl,include,lib,sdk} || \
428 die "Failed to remove sdk and headers"
429 fi
430 }
431
432 pkg_postinst() {
433 elog
434 elog "If you are experience problems with plugins please issue the"
435 elog "following command : rm \${HOME}/.thunderbird/*/extensions.sqlite ,"
436 elog "then restart thunderbird"
437 }