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