Gentoo Archives: gentoo-commits

From: "Lars Wendler (polynomial-c)" <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in www-client/seamonkey: ChangeLog seamonkey-2.22.ebuild
Date: Sat, 02 Nov 2013 15:25:51
Message-Id: 20131102152545.C85A82004B@flycatcher.gentoo.org
1 polynomial-c 13/11/02 15:25:45
2
3 Modified: ChangeLog
4 Added: seamonkey-2.22.ebuild
5 Log:
6 Security bump (bug #489796)
7
8 (Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key 0x981CA6FC)
9
10 Revision Changes Path
11 1.466 www-client/seamonkey/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/seamonkey/ChangeLog?rev=1.466&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/seamonkey/ChangeLog?rev=1.466&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/seamonkey/ChangeLog?r1=1.465&r2=1.466
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/www-client/seamonkey/ChangeLog,v
20 retrieving revision 1.465
21 retrieving revision 1.466
22 diff -u -r1.465 -r1.466
23 --- ChangeLog 28 Oct 2013 07:51:57 -0000 1.465
24 +++ ChangeLog 2 Nov 2013 15:25:45 -0000 1.466
25 @@ -1,6 +1,11 @@
26 # ChangeLog for www-client/seamonkey
27 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/www-client/seamonkey/ChangeLog,v 1.465 2013/10/28 07:51:57 polynomial-c Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/www-client/seamonkey/ChangeLog,v 1.466 2013/11/02 15:25:45 polynomial-c Exp $
30 +
31 +*seamonkey-2.22 (02 Nov 2013)
32 +
33 + 02 Nov 2013; Lars Wendler <polynomial-c@g.o> +seamonkey-2.22.ebuild:
34 + Security bump (bug #489796).
35
36 28 Oct 2013; Lars Wendler <polynomial-c@g.o> seamonkey-2.21.ebuild,
37 seamonkey-2.21-r1.ebuild:
38
39
40
41 1.1 www-client/seamonkey/seamonkey-2.22.ebuild
42
43 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/seamonkey/seamonkey-2.22.ebuild?rev=1.1&view=markup
44 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/seamonkey/seamonkey-2.22.ebuild?rev=1.1&content-type=text/plain
45
46 Index: seamonkey-2.22.ebuild
47 ===================================================================
48 # Copyright 1999-2013 Gentoo Foundation
49 # Distributed under the terms of the GNU General Public License v2
50 # $Header: /var/cvsroot/gentoo-x86/www-client/seamonkey/seamonkey-2.22.ebuild,v 1.1 2013/11/02 15:25:45 polynomial-c Exp $
51
52 EAPI="3"
53 WANT_AUTOCONF="2.1"
54
55 # This list can be updated with scripts/get_langs.sh from the mozilla overlay
56 MOZ_LANGS=(be ca cs de en en-GB en-US es-AR es-ES fi fr gl hu it ja lt nb-NO nl
57 pl pt-PT ru sk sv-SE tr uk zh-CN zh-TW)
58
59 MOZ_PV="${PV/_pre*}"
60 MOZ_PV="${MOZ_PV/_alpha/a}"
61 MOZ_PV="${MOZ_PV/_beta/b}"
62 MOZ_PV="${MOZ_PV/_rc/rc}"
63 MOZ_P="${P}"
64 MY_MOZ_P="${PN}-${MOZ_PV}"
65
66 if [[ ${PV} == *_pre* ]] ; then
67 MOZ_FTP_URI="ftp://ftp.mozilla.org/pub/${PN}/candidates/${MOZ_PV}-candidates/build${PV##*_pre}"
68 MOZ_LANGPACK_PREFIX="linux-i686/xpi/"
69 # And the langpack stuff stays at eclass defaults
70 else
71 MOZ_FTP_URI="ftp://ftp.mozilla.org/pub/${PN}/releases/${MOZ_PV}"
72 MOZ_LANGPACK_PREFIX="langpack/${MY_MOZ_P}."
73 MOZ_LANGPACK_SUFFIX=".langpack.xpi"
74 fi
75
76 inherit check-reqs flag-o-matic toolchain-funcs eutils mozconfig-3 multilib pax-utils fdo-mime autotools mozextension nsplugins mozlinguas
77
78 PATCHFF="firefox-25.0-patches-0.3"
79 PATCH="${PN}-2.14-patches-01"
80 EMVER="1.6"
81
82 DESCRIPTION="Seamonkey Web Browser"
83 HOMEPAGE="http://www.seamonkey-project.org"
84
85 if [[ ${PV} == *_pre* ]] ; then
86 # pre-releases. No need for arch teams to change KEYWORDS here.
87
88 KEYWORDS=""
89 else
90 # This is where arch teams should change the KEYWORDS.
91
92 KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
93 fi
94
95 SLOT="0"
96 LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
97 IUSE="+chatzilla +crypt gstreamer +ipc +jit minimal pulseaudio +roaming selinux system-cairo system-icu system-jpeg system-sqlite"
98
99 SRC_URI="${SRC_URI}
100 ${MOZ_FTP_URI}/source/${MY_MOZ_P}.source.tar.bz2 -> ${P}.source.tar.bz2
101 http://dev.gentoo.org/~anarchy/mozilla/patchsets/${PATCHFF}.tar.xz
102 http://dev.gentoo.org/~polynomial-c/mozilla/patchsets/${PATCH}.tar.xz
103 crypt? ( http://www.enigmail.net/download/source/enigmail-${EMVER}.tar.gz )"
104
105 ASM_DEPEND=">=dev-lang/yasm-1.1"
106
107 # Mesa 7.10 needed for WebGL + bugfixes
108 RDEPEND=">=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 >=x11-libs/pango-1.14.0
114 >=x11-libs/gtk+-2.14:2
115 virtual/libffi
116 gstreamer? ( media-plugins/gst-plugins-meta:0.10[ffmpeg] )
117 system-cairo? ( >=x11-libs/cairo-1.12[X] )
118 system-icu? ( >=dev-libs/icu-0.51.1 )
119 system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
120 system-sqlite? ( >=dev-db/sqlite-3.7.16.1:3[secure-delete,debug=] )
121 >=media-libs/libvpx-1.0.0
122 crypt? ( >=app-crypt/gnupg-1.4 )
123 kernel_linux? ( media-libs/alsa-lib )
124 pulseaudio? ( media-sound/pulseaudio )
125 selinux? ( sec-policy/selinux-mozilla )"
126
127 DEPEND="${RDEPEND}
128 !elibc_glibc? ( dev-libs/libexecinfo )
129 >=sys-devel/binutils-2.16.1
130 virtual/pkgconfig
131 amd64? ( ${ASM_DEPEND}
132 virtual/opengl )
133 x86? ( ${ASM_DEPEND}
134 virtual/opengl )"
135
136 if [[ ${PV} == *beta* ]] ; then
137 S="${WORKDIR}/comm-beta"
138 else
139 S="${WORKDIR}/comm-release"
140 fi
141
142 pkg_setup() {
143 if [[ ${PV} == *_pre* ]] ; then
144 ewarn "You're using an unofficial release of ${PN}. Don't file any bug in"
145 ewarn "Gentoo's Bugtracker against this package in case it breaks for you."
146 ewarn "Those belong to upstream: https://bugzilla.mozilla.org"
147 fi
148
149 moz_pkgsetup
150
151 # Ensure we have enough disk space to compile
152 if use debug || use test ; then
153 CHECKREQS_DISK_BUILD="8G"
154 else
155 CHECKREQS_DISK_BUILD="4G"
156 fi
157 check-reqs_pkg_setup
158 }
159
160 src_unpack() {
161 unpack ${A}
162
163 # Unpack language packs
164 mozlinguas_src_unpack
165 }
166
167 src_prepare() {
168 # Apply our patches
169 EPATCH_SUFFIX="patch" \
170 EPATCH_FORCE="yes" \
171 epatch "${WORKDIR}/seamonkey"
172
173 # browser patches go here
174 pushd "${S}"/mozilla &>/dev/null || die
175 EPATCH_EXCLUDE="2000-firefox_gentoo_install_dirs.patch" \
176 EPATCH_SUFFIX="patch" \
177 EPATCH_FORCE="yes" \
178 epatch "${WORKDIR}/firefox"
179 popd &>/dev/null || die
180 # drop -Wl,--build-id from LDFLAGS, bug #465466
181
182 # Shell scripts sometimes contain DOS line endings; bug 391889
183 grep -rlZ --include="*.sh" $'\r$' . |
184 while read -r -d $'\0' file ; do
185 einfo edos2unix "${file}"
186 edos2unix "${file}" || die
187 done
188
189 if use crypt ; then
190 mv "${WORKDIR}"/enigmail "${S}"/mailnews/extensions/enigmail
191 #pushd "${S}"/mailnews/extensions/enigmail &>/dev/null || die
192
193 #popd &>/dev/null || die
194 fi
195
196 # Allow user to apply any additional patches without modifing ebuild
197 epatch_user
198
199 local ms="${S}/mozilla"
200
201 # Enable gnomebreakpad
202 if use debug ; then
203 sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
204 "${ms}"/build/unix/run-mozilla.sh || die "sed failed!"
205 fi
206
207 # Ensure that are plugins dir is enabled as default
208 sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
209 "${ms}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 32bit!"
210 sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
211 "${ms}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 64bit!"
212
213 # Don't exit with error when some libs are missing which we have in
214 # system.
215 sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
216 -i "${S}"/suite/installer/Makefile.in || die
217 # Don't error out when there's no files to be removed:
218 sed 's@\(xargs rm\)$@\1 -f@' \
219 -i "${ms}"/toolkit/mozapps/installer/packager.mk || die
220
221 eautoreconf
222 cd "${S}"/mozilla || die
223 eautoconf
224 cd js/src || die
225 eautoconf
226 }
227
228 src_configure() {
229 MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
230 MEXTENSIONS="default"
231
232 ####################################
233 #
234 # mozconfig, CFLAGS and CXXFLAGS setup
235 #
236 ####################################
237
238 mozconfig_init
239 mozconfig_config
240
241 # It doesn't compile on alpha without this LDFLAGS
242 use alpha && append-ldflags "-Wl,--no-relax"
243
244 if use chatzilla ; then
245 MEXTENSIONS+=",irc"
246 else
247 MEXTENSIONS+=",-irc"
248 fi
249 if ! use roaming ; then
250 MEXTENSIONS+=",-sroaming"
251 fi
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 '' --enable-jsd
263 mozconfig_annotate '' --enable-canvas
264 mozconfig_annotate '' --with-system-png
265 mozconfig_annotate '' --enable-system-ffi
266
267 # Other sm-specific settings
268 mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}
269
270 mozconfig_annotate '' --target="${CTARGET:-${CHOST}}"
271 mozconfig_annotate '' --build="${CTARGET:-${CHOST}}"
272 mozconfig_annotate '' --enable-safe-browsing
273
274 mozconfig_use_enable gstreamer
275 mozconfig_use_enable pulseaudio
276 mozconfig_use_enable system-cairo
277 mozconfig_use_enable system-sqlite
278 mozconfig_use_with system-jpeg
279 mozconfig_use_with system-icu
280 mozconfig_use_enable system-icu intl-api
281 # Feature is know to cause problems on hardened
282 mozconfig_use_enable jit ion
283
284 # Use an objdir to keep things organized.
285 echo "mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/seamonk" \
286 >> "${S}"/.mozconfig
287
288 # Finalize and report settings
289 mozconfig_final
290
291 # Work around breakage in makeopts with --no-print-directory
292 MAKEOPTS="${MAKEOPTS/--no-print-directory/}"
293
294 if [[ $(gcc-major-version) -lt 4 ]] ; then
295 append-cxxflags -fno-stack-protector
296 elif [[ $(gcc-major-version) -gt 4 || $(gcc-minor-version) -gt 3 ]] ; then
297 if use amd64 || use x86 ; then
298 append-flags -mno-avx
299 fi
300 fi
301 }
302
303 src_compile() {
304 CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
305 MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL}" \
306 emake -f client.mk || die
307
308 # Only build enigmail extension if conditions are met.
309 if use crypt ; then
310 cd "${S}"/mailnews/extensions/enigmail || die
311 ./makemake -r 2&> /dev/null
312 cd "${S}"/seamonk/mailnews/extensions/enigmail
313 emake || die "make enigmail failed"
314 emake xpi || die "make enigmail xpi failed"
315 fi
316 }
317
318 src_install() {
319 MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
320 DICTPATH="\"${EPREFIX}/usr/share/myspell\""
321
322 local emid obj_dir="seamonk"
323 cd "${S}/${obj_dir}"
324
325 # Pax mark xpcshell for hardened support, only used for startupcache creation.
326 pax-mark m "${S}/${obj_dir}/mozilla/dist/bin/xpcshell"
327
328 # Copy our preference before omnijar is created.
329 sed "s|SEAMONKEY_PVR|${PVR}|" "${FILESDIR}"/all-gentoo-1.js > \
330 "${S}/${obj_dir}/mozilla/dist/bin/defaults/pref/all-gentoo.js" \
331 || die
332
333 # Set default path to search for dictionaries.
334 echo "pref(\"spellchecker.dictionary_path\", ${DICTPATH});" \
335 >> "${S}/${obj_dir}/mozilla/dist/bin/defaults/pref/all-gentoo.js" \
336 || die
337
338 if ! use libnotify ; then
339 echo 'pref("browser.download.manager.showAlertOnComplete", false);' \
340 >> "${S}/${obj_dir}/mozilla/dist/bin/defaults/pref/all-gentoo.js" \
341 || die
342 fi
343
344 echo 'pref("extensions.autoDisableScopes", 3);' >> \
345 "${S}/${obj_dir}/mozilla/dist/bin/defaults/pref/all-gentoo.js" \
346 || die
347
348 MOZ_MAKE_FLAGS="${MAKEOPTS}" \
349 emake DESTDIR="${D}" install || die "emake install failed"
350 cp -f "${FILESDIR}"/icon/${PN}.desktop "${T}" || die
351
352 if use crypt ; then
353 cd "${T}" || die
354 unzip "${S}"/${obj_dir}/mozilla/dist/bin/enigmail*.xpi install.rdf || die
355 emid=$(sed -n '/<em:id>/!d; s/.*\({.*}\).*/\1/; p; q' install.rdf)
356
357 dodir ${MOZILLA_FIVE_HOME}/extensions/${emid} || die
358 cd "${D}"${MOZILLA_FIVE_HOME}/extensions/${emid} || die
359 unzip "${S}"/${obj_dir}/mozilla/dist/bin/enigmail*.xpi || die
360
361 cd "${S}" || die
362 fi
363
364 sed 's|^\(MimeType=.*\)$|\1text/x-vcard;text/directory;application/mbox;message/rfc822;x-scheme-handler/mailto;|' \
365 -i "${T}"/${PN}.desktop || die
366 sed 's|^\(Categories=.*\)$|\1Email;|' -i "${T}"/${PN}.desktop \
367 || die
368
369 # Install language packs
370 mozlinguas_src_install
371
372 # Add StartupNotify=true bug 290401
373 if use startup-notification ; then
374 echo "StartupNotify=true" >> "${T}"/${PN}.desktop
375 fi
376
377 # Install icon and .desktop for menu entry
378 newicon "${S}"/suite/branding/nightly/content/icon64.png ${PN}.png \
379 || die
380 domenu "${T}"/${PN}.desktop || die
381
382 # Required in order to use plugins and even run seamonkey on hardened.
383 pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/{seamonkey,seamonkey-bin,plugin-container}
384
385 if use minimal ; then
386 rm -rf "${ED}"/usr/include "${ED}${MOZILLA_FIVE_HOME}"/{idl,include,lib,sdk}
387 fi
388
389 # Handle plugins dir through nsplugins.eclass
390 share_plugins_dir
391
392 doman "${S}"/${obj_dir}/suite/app/${PN}.1 || die
393 }
394
395 pkg_preinst() {
396 MOZILLA_FIVE_HOME="${ROOT}/usr/$(get_libdir)/${PN}"
397
398 if [ -d ${MOZILLA_FIVE_HOME}/plugins ] ; then
399 rm ${MOZILLA_FIVE_HOME}/plugins -rf
400 fi
401 }
402
403 pkg_postinst() {
404 MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
405
406 # Update mimedb for the new .desktop file
407 fdo-mime_desktop_database_update
408
409 if use chatzilla ; then
410 elog "chatzilla is now an extension which can be en-/disabled and configured via"
411 elog "the Add-on manager."
412 fi
413 }