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