Gentoo Archives: gentoo-commits

From: "Ian Stakenvicius (axs)" <axs@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in www-client/firefox: firefox-31.4.0.ebuild firefox-31.5.0.ebuild firefox-36.0.ebuild firefox-24.3.0.ebuild metadata.xml firefox-31.3.0.ebuild ChangeLog firefox-24.8.0.ebuild firefox-35.0.ebuild firefox-10.0.11.ebuild
Date: Thu, 26 Feb 2015 21:54:28
Message-Id: 20150226215423.B09BF129EB@oystercatcher.gentoo.org
1 axs 15/02/26 21:54:23
2
3 Modified: firefox-31.4.0.ebuild firefox-24.3.0.ebuild
4 metadata.xml firefox-31.3.0.ebuild ChangeLog
5 Added: firefox-31.5.0.ebuild firefox-36.0.ebuild
6 Removed: firefox-24.8.0.ebuild firefox-35.0.ebuild
7 firefox-10.0.11.ebuild
8 Log:
9 version bump; removed old; fixed bug 541418
10
11 (Portage version: 2.2.14/cvs/Linux x86_64, signed Manifest commit with key 2B6559ED)
12
13 Revision Changes Path
14 1.8 www-client/firefox/firefox-31.4.0.ebuild
15
16 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-31.4.0.ebuild?rev=1.8&view=markup
17 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-31.4.0.ebuild?rev=1.8&content-type=text/plain
18 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-31.4.0.ebuild?r1=1.7&r2=1.8
19
20 Index: firefox-31.4.0.ebuild
21 ===================================================================
22 RCS file: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-31.4.0.ebuild,v
23 retrieving revision 1.7
24 retrieving revision 1.8
25 diff -u -r1.7 -r1.8
26 --- firefox-31.4.0.ebuild 23 Feb 2015 11:37:17 -0000 1.7
27 +++ firefox-31.4.0.ebuild 26 Feb 2015 21:54:23 -0000 1.8
28 @@ -1,6 +1,6 @@
29 # Copyright 1999-2015 Gentoo Foundation
30 # Distributed under the terms of the GNU General Public License v2
31 -# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-31.4.0.ebuild,v 1.7 2015/02/23 11:37:17 ago Exp $
32 +# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-31.4.0.ebuild,v 1.8 2015/02/26 21:54:23 axs Exp $
33
34 EAPI="5"
35 VIRTUALX_REQUIRED="pgo"
36 @@ -43,6 +43,7 @@
37 SLOT="0"
38 LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
39 IUSE="bindist hardened +minimal pgo selinux test"
40 +RESTRICT="!bindist? ( bindist )"
41
42 # More URIs appended below...
43 SRC_URI="${SRC_URI}
44
45
46
47 1.10 www-client/firefox/firefox-24.3.0.ebuild
48
49 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-24.3.0.ebuild?rev=1.10&view=markup
50 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-24.3.0.ebuild?rev=1.10&content-type=text/plain
51 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-24.3.0.ebuild?r1=1.9&r2=1.10
52
53 Index: firefox-24.3.0.ebuild
54 ===================================================================
55 RCS file: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-24.3.0.ebuild,v
56 retrieving revision 1.9
57 retrieving revision 1.10
58 diff -u -r1.9 -r1.10
59 --- firefox-24.3.0.ebuild 20 Mar 2014 16:07:20 -0000 1.9
60 +++ firefox-24.3.0.ebuild 26 Feb 2015 21:54:23 -0000 1.10
61 @@ -1,6 +1,6 @@
62 -# Copyright 1999-2014 Gentoo Foundation
63 +# Copyright 1999-2015 Gentoo Foundation
64 # Distributed under the terms of the GNU General Public License v2
65 -# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-24.3.0.ebuild,v 1.9 2014/03/20 16:07:20 polynomial-c Exp $
66 +# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-24.3.0.ebuild,v 1.10 2015/02/26 21:54:23 axs Exp $
67
68 EAPI="3"
69 VIRTUALX_REQUIRED="pgo"
70 @@ -40,6 +40,7 @@
71 SLOT="0"
72 LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
73 IUSE="bindist gstreamer +jit +minimal pgo pulseaudio selinux system-cairo system-icu system-jpeg system-sqlite"
74 +RESTRICT="!bindist? ( bindist )"
75
76 # More URIs appended below...
77 SRC_URI="${SRC_URI}
78
79
80
81 1.17 www-client/firefox/metadata.xml
82
83 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/metadata.xml?rev=1.17&view=markup
84 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/metadata.xml?rev=1.17&content-type=text/plain
85 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/metadata.xml?r1=1.16&r2=1.17
86
87 Index: metadata.xml
88 ===================================================================
89 RCS file: /var/cvsroot/gentoo-x86/www-client/firefox/metadata.xml,v
90 retrieving revision 1.16
91 retrieving revision 1.17
92 diff -u -r1.16 -r1.17
93 --- metadata.xml 4 Dec 2014 03:30:18 -0000 1.16
94 +++ metadata.xml 26 Feb 2015 21:54:23 -0000 1.17
95 @@ -9,8 +9,6 @@
96 optimizations (-Os, -O0, -O1, -O2, -O3)</flag>
97 <flag name="gmp-autoupdate">Allow Gecko Media Plugins (binary blobs) to be automatically
98 downloaded and kept up-to-date in user profiles</flag>
99 - <flag name="ipc">Use inter-process communication between tabs and plugins.
100 - Allows for greater stability in case of plugin crashes</flag>
101 <flag name="minimal"> Prevent sdk and headers from being installed</flag>
102 <flag name="pgo">Add support for profile-guided optimization using gcc-4.5,
103 for faster binaries. This option will double the compile time.</flag>
104 @@ -24,6 +22,5 @@
105 instead of bundled.</flag>
106 <flag name="system-sqlite">Use the system-wide <pkg>dev-db/sqlite</pkg>
107 installation with secure-delete enabled</flag>
108 - <flag name="webm">Support HTML5 WebM with <pkg>media-libs/libvpx</pkg> on firefox-10.</flag>
109 </use>
110 </pkgmetadata>
111
112
113
114 1.10 www-client/firefox/firefox-31.3.0.ebuild
115
116 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-31.3.0.ebuild?rev=1.10&view=markup
117 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-31.3.0.ebuild?rev=1.10&content-type=text/plain
118 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-31.3.0.ebuild?r1=1.9&r2=1.10
119
120 Index: firefox-31.3.0.ebuild
121 ===================================================================
122 RCS file: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-31.3.0.ebuild,v
123 retrieving revision 1.9
124 retrieving revision 1.10
125 diff -u -r1.9 -r1.10
126 --- firefox-31.3.0.ebuild 23 Feb 2015 11:35:43 -0000 1.9
127 +++ firefox-31.3.0.ebuild 26 Feb 2015 21:54:23 -0000 1.10
128 @@ -1,6 +1,6 @@
129 # Copyright 1999-2015 Gentoo Foundation
130 # Distributed under the terms of the GNU General Public License v2
131 -# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-31.3.0.ebuild,v 1.9 2015/02/23 11:35:43 ago Exp $
132 +# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-31.3.0.ebuild,v 1.10 2015/02/26 21:54:23 axs Exp $
133
134 EAPI="5"
135 VIRTUALX_REQUIRED="pgo"
136 @@ -43,6 +43,7 @@
137 SLOT="0"
138 LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
139 IUSE="bindist hardened +minimal pgo selinux test"
140 +RESTRICT="!bindist? ( bindist )"
141
142 # More URIs appended below...
143 SRC_URI="${SRC_URI}
144
145
146
147 1.386 www-client/firefox/ChangeLog
148
149 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/ChangeLog?rev=1.386&view=markup
150 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/ChangeLog?rev=1.386&content-type=text/plain
151 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/ChangeLog?r1=1.385&r2=1.386
152
153 Index: ChangeLog
154 ===================================================================
155 RCS file: /var/cvsroot/gentoo-x86/www-client/firefox/ChangeLog,v
156 retrieving revision 1.385
157 retrieving revision 1.386
158 diff -u -r1.385 -r1.386
159 --- ChangeLog 23 Feb 2015 11:37:17 -0000 1.385
160 +++ ChangeLog 26 Feb 2015 21:54:23 -0000 1.386
161 @@ -1,6 +1,15 @@
162 # ChangeLog for www-client/firefox
163 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
164 -# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/ChangeLog,v 1.385 2015/02/23 11:37:17 ago Exp $
165 +# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/ChangeLog,v 1.386 2015/02/26 21:54:23 axs Exp $
166 +
167 +*firefox-31.5.0 (26 Feb 2015)
168 +*firefox-36.0 (26 Feb 2015)
169 +
170 + 26 Feb 2015; Ian Stakenvicius (_AxS_) <axs@g.o> +firefox-31.5.0.ebuild,
171 + +firefox-36.0.ebuild, -firefox-10.0.11.ebuild, -firefox-24.8.0.ebuild,
172 + -firefox-35.0.ebuild, firefox-24.3.0.ebuild, firefox-31.3.0.ebuild,
173 + firefox-31.4.0.ebuild, metadata.xml:
174 + version bump; removed old; fixed bug 541418
175
176 23 Feb 2015; Agostino Sarubbo <ago@g.o> firefox-31.4.0.ebuild:
177 Stable for ia64, wrt bug #536564
178
179
180
181 1.1 www-client/firefox/firefox-31.5.0.ebuild
182
183 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-31.5.0.ebuild?rev=1.1&view=markup
184 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-31.5.0.ebuild?rev=1.1&content-type=text/plain
185
186 Index: firefox-31.5.0.ebuild
187 ===================================================================
188 # Copyright 1999-2015 Gentoo Foundation
189 # Distributed under the terms of the GNU General Public License v2
190 # $Header: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-31.5.0.ebuild,v 1.1 2015/02/26 21:54:23 axs Exp $
191
192 EAPI="5"
193 VIRTUALX_REQUIRED="pgo"
194 WANT_AUTOCONF="2.1"
195 MOZ_ESR="1"
196
197 # This list can be updated with scripts/get_langs.sh from the mozilla overlay
198 MOZ_LANGS=( af ar as ast be bg bn-BD bn-IN br bs ca cs csb cy da de el en
199 en-GB en-US en-ZA eo es-AR es-CL es-ES es-MX et eu fa fi fr fy-NL ga-IE gd
200 gl gu-IN he hi-IN hr hu hy-AM id is it ja kk km kn ko ku lt lv mai mk ml mr
201 nb-NO nl nn-NO or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv-SE ta te
202 th tr uk vi xh zh-CN zh-TW zu )
203
204 # Convert the ebuild version to the upstream mozilla version, used by mozlinguas
205 MOZ_PV="${PV/_alpha/a}" # Handle alpha for SRC_URI
206 MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
207 MOZ_PV="${MOZ_PV/_rc/rc}" # Handle rc for SRC_URI
208
209 if [[ ${MOZ_ESR} == 1 ]]; then
210 # ESR releases have slightly version numbers
211 MOZ_PV="${MOZ_PV}esr"
212 fi
213
214 # Patch version
215 PATCH="${PN}-31.0-patches-0.2"
216 # Upstream ftp release URI that's used by mozlinguas.eclass
217 # We don't use the http mirror because it deletes old tarballs.
218 MOZ_FTP_URI="ftp://ftp.mozilla.org/pub/${PN}/releases/"
219 MOZ_HTTP_URI="http://ftp.mozilla.org/pub/${PN}/releases/"
220
221 MOZCONFIG_OPTIONAL_WIFI=1
222 MOZCONFIG_OPTIONAL_JIT="enabled"
223
224 inherit check-reqs flag-o-matic toolchain-funcs eutils gnome2-utils mozconfig-v5.31 multilib pax-utils fdo-mime autotools virtualx mozlinguas
225
226 DESCRIPTION="Firefox Web Browser"
227 HOMEPAGE="http://www.mozilla.com/firefox"
228
229 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
230 SLOT="0"
231 LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
232 IUSE="bindist hardened +minimal pgo selinux test"
233 RESTRICT="!bindist? ( bindist )"
234
235 # More URIs appended below...
236 SRC_URI="${SRC_URI}
237 http://dev.gentoo.org/~anarchy/mozilla/patchsets/${PATCH}.tar.xz
238 http://dev.gentoo.org/~axs/distfiles/${PATCH}.tar.xz"
239
240 ASM_DEPEND=">=dev-lang/yasm-1.1"
241
242 CDEPEND="
243 >=dev-libs/nss-3.17.1
244 >=dev-libs/nspr-4.10.6
245 "
246
247 DEPEND="${CDEPEND}
248 pgo? (
249 >=sys-devel/gcc-4.5 )
250 amd64? ( ${ASM_DEPEND}
251 virtual/opengl )
252 x86? ( ${ASM_DEPEND}
253 virtual/opengl )"
254
255 RDEPEND="${CDEPEND}
256 selinux? ( sec-policy/selinux-mozilla )
257 "
258
259 # No source releases for alpha|beta
260 if [[ ${PV} =~ alpha ]]; then
261 CHANGESET="8a3042764de7"
262 SRC_URI="${SRC_URI}
263 http://dev.gentoo.org/~nirbheek/mozilla/firefox/firefox-${MOZ_PV}_${CHANGESET}.source.tar.bz2"
264 S="${WORKDIR}/mozilla-aurora-${CHANGESET}"
265 elif [[ ${PV} =~ beta ]]; then
266 S="${WORKDIR}/mozilla-beta"
267 SRC_URI="${SRC_URI}
268 ${MOZ_FTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.bz2
269 ${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.bz2"
270 else
271 SRC_URI="${SRC_URI}
272 ${MOZ_FTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.bz2
273 ${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.bz2"
274 if [[ ${MOZ_ESR} == 1 ]]; then
275 S="${WORKDIR}/mozilla-esr${PV%%.*}"
276 else
277 S="${WORKDIR}/mozilla-release"
278 fi
279 fi
280
281 QA_PRESTRIPPED="usr/$(get_libdir)/${PN}/firefox"
282
283 pkg_setup() {
284 moz_pkgsetup
285
286 # Avoid PGO profiling problems due to enviroment leakage
287 # These should *always* be cleaned up anyway
288 unset DBUS_SESSION_BUS_ADDRESS \
289 DISPLAY \
290 ORBIT_SOCKETDIR \
291 SESSION_MANAGER \
292 XDG_SESSION_COOKIE \
293 XAUTHORITY
294
295 if ! use bindist; then
296 einfo
297 elog "You are enabling official branding. You may not redistribute this build"
298 elog "to any users on your network or the internet. Doing so puts yourself into"
299 elog "a legal problem with Mozilla Foundation"
300 elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag"
301 fi
302
303 if use pgo; then
304 einfo
305 ewarn "You will do a double build for profile guided optimization."
306 ewarn "This will result in your build taking at least twice as long as before."
307 fi
308 }
309
310 pkg_pretend() {
311 # Ensure we have enough disk space to compile
312 if use pgo || use debug || use test ; then
313 CHECKREQS_DISK_BUILD="8G"
314 else
315 CHECKREQS_DISK_BUILD="4G"
316 fi
317 check-reqs_pkg_setup
318
319 if use jit && [[ -n ${PROFILE_IS_HARDENED} ]]; then
320 ewarn "You are emerging this package on a hardened profile with USE=jit enabled."
321 ewarn "This is horribly insecure as it disables all PAGEEXEC restrictions."
322 ewarn "Please ensure you know what you are doing. If you don't, please consider"
323 ewarn "emerging the package with USE=-jit"
324 fi
325 }
326
327 src_unpack() {
328 unpack ${A}
329
330 # Unpack language packs
331 mozlinguas_src_unpack
332 }
333
334 src_prepare() {
335 # Apply our patches
336 EPATCH_SUFFIX="patch" \
337 EPATCH_FORCE="yes" \
338 epatch "${WORKDIR}/firefox"
339
340 epatch "${FILESDIR}"/${PN}-32.0-hppa-js-configure.patch # bug 524556
341
342 # Allow user to apply any additional patches without modifing ebuild
343 epatch_user
344
345 # Enable gnomebreakpad
346 if use debug ; then
347 sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
348 "${S}"/build/unix/run-mozilla.sh || die "sed failed!"
349 fi
350
351 # Ensure that our plugins dir is enabled as default
352 sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
353 "${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 32bit!"
354 sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
355 "${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 64bit!"
356
357 # Fix sandbox violations during make clean, bug 372817
358 sed -e "s:\(/no-such-file\):${T}\1:g" \
359 -i "${S}"/config/rules.mk \
360 -i "${S}"/nsprpub/configure{.in,} \
361 || die
362
363 # Don't exit with error when some libs are missing which we have in
364 # system.
365 sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
366 -i "${S}"/browser/installer/Makefile.in || die
367
368 # Don't error out when there's no files to be removed:
369 sed 's@\(xargs rm\)$@\1 -f@' \
370 -i "${S}"/toolkit/mozapps/installer/packager.mk || die
371
372 eautoreconf
373
374 # Must run autoconf in js/src
375 cd "${S}"/js/src || die
376 eautoconf
377 }
378
379 src_configure() {
380 MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
381 MEXTENSIONS="default"
382 # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
383 # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
384 # get your own set of keys.
385 _google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
386
387 ####################################
388 #
389 # mozconfig, CFLAGS and CXXFLAGS setup
390 #
391 ####################################
392
393 mozconfig_init
394 mozconfig_config
395
396 # It doesn't compile on alpha without this LDFLAGS
397 use alpha && append-ldflags "-Wl,--no-relax"
398
399 # Add full relro support for hardened
400 use hardened && append-ldflags "-Wl,-z,relro,-z,now"
401
402 # Setup api key for location services
403 echo -n "${_google_api_key}" > "${S}"/google-api-key
404 mozconfig_annotate '' --with-google-api-keyfile="${S}/google-api-key"
405
406 mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
407 mozconfig_annotate '' --disable-mailnews
408
409 # Other ff-specific settings
410 mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}
411
412 # Allow for a proper pgo build
413 if use pgo; then
414 echo "mk_add_options PROFILE_GEN_SCRIPT='\$(PYTHON) \$(OBJDIR)/_profile/pgo/profileserver.py'" >> "${S}"/.mozconfig
415 fi
416
417 # Finalize and report settings
418 mozconfig_final
419
420 if [[ $(gcc-major-version) -lt 4 ]]; then
421 append-cxxflags -fno-stack-protector
422 elif [[ $(gcc-major-version) -gt 4 || $(gcc-minor-version) -gt 3 ]]; then
423 if use amd64 || use x86; then
424 append-flags -mno-avx
425 fi
426 fi
427 }
428
429 src_compile() {
430 if use pgo; then
431 addpredict /root
432 addpredict /etc/gconf
433 # Reset and cleanup environment variables used by GNOME/XDG
434 gnome2_environment_reset
435
436 # Firefox tries to use dri stuff when it's run, see bug 380283
437 shopt -s nullglob
438 cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
439 if test -z "${cards}"; then
440 cards=$(echo -n /dev/ati/card* /dev/nvidiactl* | sed 's/ /:/g')
441 if test -n "${cards}"; then
442 # Binary drivers seem to cause access violations anyway, so
443 # let's use indirect rendering so that the device files aren't
444 # touched at all. See bug 394715.
445 export LIBGL_ALWAYS_INDIRECT=1
446 fi
447 fi
448 shopt -u nullglob
449 addpredict "${cards}"
450
451 CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
452 MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL}" \
453 Xemake -f client.mk profiledbuild || die "Xemake failed"
454 else
455 CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
456 MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL}" \
457 emake -f client.mk
458 fi
459
460 }
461
462 src_install() {
463 MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
464 DICTPATH="\"${EPREFIX}/usr/share/myspell\""
465
466 # MOZ_BUILD_ROOT, and hence OBJ_DIR change depending on arch, compiler, pgo, etc.
467 local obj_dir="$(echo */config.log)"
468 obj_dir="${obj_dir%/*}"
469 cd "${S}/${obj_dir}" || die
470
471 # Pax mark xpcshell for hardened support, only used for startupcache creation.
472 pax-mark m "${S}/${obj_dir}"/dist/bin/xpcshell
473
474 # Add our default prefs for firefox
475 cp "${FILESDIR}"/gentoo-default-prefs.js-1 \
476 "${S}/${obj_dir}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
477 || die
478
479 # Set default path to search for dictionaries.
480 echo "pref(\"spellchecker.dictionary_path\", ${DICTPATH});" \
481 >> "${S}/${obj_dir}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
482 || die
483
484 echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
485 "${S}/${obj_dir}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
486 || die
487
488 MOZ_MAKE_FLAGS="${MAKEOPTS}" \
489 emake DESTDIR="${D}" install
490
491 # Install language packs
492 mozlinguas_src_install
493
494 local size sizes icon_path icon name
495 if use bindist; then
496 sizes="16 32 48"
497 icon_path="${S}/browser/branding/aurora"
498 # Firefox's new rapid release cycle means no more codenames
499 # Let's just stick with this one...
500 icon="aurora"
501 name="Aurora"
502 else
503 sizes="16 22 24 32 256"
504 icon_path="${S}/browser/branding/official"
505 icon="${PN}"
506 name="Mozilla Firefox"
507 fi
508
509 # Install icons and .desktop for menu entry
510 for size in ${sizes}; do
511 insinto "/usr/share/icons/hicolor/${size}x${size}/apps"
512 newins "${icon_path}/default${size}.png" "${icon}.png"
513 done
514 # The 128x128 icon has a different name
515 insinto "/usr/share/icons/hicolor/128x128/apps"
516 newins "${icon_path}/mozicon128.png" "${icon}.png"
517 # Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
518 newicon "${icon_path}/content/icon48.png" "${icon}.png"
519 newmenu "${FILESDIR}/icon/${PN}.desktop" "${PN}.desktop"
520 sed -i -e "s:@NAME@:${name}:" -e "s:@ICON@:${icon}:" \
521 "${ED}/usr/share/applications/${PN}.desktop" || die
522
523 # Add StartupNotify=true bug 237317
524 if use startup-notification ; then
525 echo "StartupNotify=true"\
526 >> "${ED}/usr/share/applications/${PN}.desktop" \
527 || die
528 fi
529
530 # Required in order to use plugins and even run firefox on hardened.
531 pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/plugin-container
532 # Required in order for jit to work on hardened, as of firefox-31
533 use jit && pax-mark pm "${ED}"${MOZILLA_FIVE_HOME}/{firefox,firefox-bin}
534
535 if use minimal; then
536 rm -r "${ED}"/usr/include "${ED}${MOZILLA_FIVE_HOME}"/{idl,include,lib,sdk} \
537 || die "Failed to remove sdk and headers"
538 fi
539
540 # very ugly hack to make firefox not sigbus on sparc
541 # FIXME: is this still needed??
542 use sparc && { sed -e 's/Firefox/FirefoxGentoo/g' \
543 -i "${ED}/${MOZILLA_FIVE_HOME}/application.ini" \
544 || die "sparc sed failed"; }
545
546 # revdep-rebuild entry
547 insinto /etc/revdep-rebuild
548 echo "SEARCH_DIRS_MASK=${MOZILLA_FIVE_HOME}" >> ${T}/10firefox
549 doins "${T}"/10${PN} || die
550 }
551
552 pkg_preinst() {
553 gnome2_icon_savelist
554 }
555
556 pkg_postinst() {
557 # Update mimedb for the new .desktop file
558 fdo-mime_desktop_database_update
559 gnome2_icon_cache_update
560 }
561
562 pkg_postrm() {
563 gnome2_icon_cache_update
564 }
565
566
567
568 1.1 www-client/firefox/firefox-36.0.ebuild
569
570 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-36.0.ebuild?rev=1.1&view=markup
571 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-36.0.ebuild?rev=1.1&content-type=text/plain
572
573 Index: firefox-36.0.ebuild
574 ===================================================================
575 # Copyright 1999-2015 Gentoo Foundation
576 # Distributed under the terms of the GNU General Public License v2
577 # $Header: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-36.0.ebuild,v 1.1 2015/02/26 21:54:23 axs Exp $
578
579 EAPI="5"
580 VIRTUALX_REQUIRED="pgo"
581 WANT_AUTOCONF="2.1"
582 MOZ_ESR=""
583
584 # This list can be updated with scripts/get_langs.sh from the mozilla overlay
585 # No official support as of fetch time
586 # csb
587 MOZ_LANGS=( af ar as ast be bg bn-BD bn-IN br bs ca cs cy da de el en
588 en-GB en-US en-ZA eo es-AR es-CL es-ES es-MX et eu fa fi fr fy-NL ga-IE gd
589 gl gu-IN he hi-IN hr hu hy-AM id is it ja kk km kn ko lt lv mai mk ml mr
590 nb-NO nl nn-NO or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv-SE ta te
591 th tr uk vi xh zh-CN zh-TW )
592
593 # Convert the ebuild version to the upstream mozilla version, used by mozlinguas
594 MOZ_PV="${PV/_alpha/a}" # Handle alpha for SRC_URI
595 MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
596 MOZ_PV="${MOZ_PV/_rc/rc}" # Handle rc for SRC_URI
597
598 if [[ ${MOZ_ESR} == 1 ]]; then
599 # ESR releases have slightly version numbers
600 MOZ_PV="${MOZ_PV}esr"
601 fi
602
603 # Patch version
604 PATCH="${PN}-36.0-patches-0.1"
605 # Upstream ftp release URI that's used by mozlinguas.eclass
606 # We don't use the http mirror because it deletes old tarballs.
607 MOZ_FTP_URI="ftp://ftp.mozilla.org/pub/${PN}/releases/"
608 MOZ_HTTP_URI="http://ftp.mozilla.org/pub/${PN}/releases/"
609
610 MOZCONFIG_OPTIONAL_WIFI=1
611 MOZCONFIG_OPTIONAL_JIT="enabled"
612
613 inherit check-reqs flag-o-matic toolchain-funcs eutils gnome2-utils mozconfig-v5.36 multilib pax-utils fdo-mime autotools virtualx mozlinguas
614
615 DESCRIPTION="Firefox Web Browser"
616 HOMEPAGE="http://www.mozilla.com/firefox"
617
618 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
619 SLOT="0"
620 LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
621 IUSE="bindist hardened +minimal pgo selinux +gmp-autoupdate test"
622 RESTRICT="!bindist? ( bindist )"
623
624 # More URIs appended below...
625 SRC_URI="${SRC_URI}
626 http://dev.gentoo.org/~anarchy/mozilla/patchsets/${PATCH}.tar.xz
627 http://dev.gentoo.org/~axs/distfiles/${PATCH}.tar.xz"
628
629 ASM_DEPEND=">=dev-lang/yasm-1.1"
630
631 # Mesa 7.10 needed for WebGL + bugfixes
632 RDEPEND="
633 >=dev-libs/nss-3.17.4
634 >=dev-libs/nspr-4.10.7
635 selinux? ( sec-policy/selinux-mozilla )"
636
637 DEPEND="${RDEPEND}
638 pgo? (
639 >=sys-devel/gcc-4.5 )
640 amd64? ( ${ASM_DEPEND}
641 virtual/opengl )
642 x86? ( ${ASM_DEPEND}
643 virtual/opengl )"
644
645 # No source releases for alpha|beta
646 if [[ ${PV} =~ alpha ]]; then
647 CHANGESET="8a3042764de7"
648 SRC_URI="${SRC_URI}
649 http://dev.gentoo.org/~nirbheek/mozilla/firefox/firefox-${MOZ_PV}_${CHANGESET}.source.tar.bz2"
650 S="${WORKDIR}/mozilla-aurora-${CHANGESET}"
651 elif [[ ${PV} =~ beta ]]; then
652 S="${WORKDIR}/mozilla-beta"
653 SRC_URI="${SRC_URI}
654 ${MOZ_FTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.bz2
655 ${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.bz2"
656 else
657 SRC_URI="${SRC_URI}
658 ${MOZ_FTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.bz2
659 ${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.bz2"
660 if [[ ${MOZ_ESR} == 1 ]]; then
661 S="${WORKDIR}/mozilla-esr${PV%%.*}"
662 else
663 S="${WORKDIR}/mozilla-release"
664 fi
665 fi
666
667 QA_PRESTRIPPED="usr/$(get_libdir)/${PN}/firefox"
668
669 BUILD_OBJ_DIR="${S}/ff"
670
671 pkg_setup() {
672 moz_pkgsetup
673
674 # Avoid PGO profiling problems due to enviroment leakage
675 # These should *always* be cleaned up anyway
676 unset DBUS_SESSION_BUS_ADDRESS \
677 DISPLAY \
678 ORBIT_SOCKETDIR \
679 SESSION_MANAGER \
680 XDG_SESSION_COOKIE \
681 XAUTHORITY
682
683 if ! use bindist; then
684 einfo
685 elog "You are enabling official branding. You may not redistribute this build"
686 elog "to any users on your network or the internet. Doing so puts yourself into"
687 elog "a legal problem with Mozilla Foundation"
688 elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag"
689 fi
690
691 if use pgo; then
692 einfo
693 ewarn "You will do a double build for profile guided optimization."
694 ewarn "This will result in your build taking at least twice as long as before."
695 fi
696 }
697
698 pkg_pretend() {
699 # Ensure we have enough disk space to compile
700 if use pgo || use debug || use test ; then
701 CHECKREQS_DISK_BUILD="8G"
702 else
703 CHECKREQS_DISK_BUILD="4G"
704 fi
705 check-reqs_pkg_setup
706
707 if use jit && [[ -n ${PROFILE_IS_HARDENED} ]]; then
708 ewarn "You are emerging this package on a hardened profile with USE=jit enabled."
709 ewarn "This is horribly insecure as it disables all PAGEEXEC restrictions."
710 ewarn "Please ensure you know what you are doing. If you don't, please consider"
711 ewarn "emerging the package with USE=-jit"
712 fi
713 }
714
715 src_unpack() {
716 unpack ${A}
717
718 # Unpack language packs
719 mozlinguas_src_unpack
720 }
721
722 src_prepare() {
723 # Apply our patches
724 EPATCH_SUFFIX="patch" \
725 EPATCH_FORCE="yes" \
726 epatch "${WORKDIR}/firefox"
727
728 epatch "${FILESDIR}"/${PN}-35.0-gmp-clearkey-sprintf.patch
729
730 # Allow user to apply any additional patches without modifing ebuild
731 epatch_user
732
733 # Enable gnomebreakpad
734 if use debug ; then
735 sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
736 "${S}"/build/unix/run-mozilla.sh || die "sed failed!"
737 fi
738
739 # Ensure that our plugins dir is enabled as default
740 sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
741 "${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 32bit!"
742 sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
743 "${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 64bit!"
744
745 # Fix sandbox violations during make clean, bug 372817
746 sed -e "s:\(/no-such-file\):${T}\1:g" \
747 -i "${S}"/config/rules.mk \
748 -i "${S}"/nsprpub/configure{.in,} \
749 || die
750
751 # Don't exit with error when some libs are missing which we have in
752 # system.
753 sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
754 -i "${S}"/browser/installer/Makefile.in || die
755
756 # Don't error out when there's no files to be removed:
757 sed 's@\(xargs rm\)$@\1 -f@' \
758 -i "${S}"/toolkit/mozapps/installer/packager.mk || die
759
760 eautoreconf
761
762 # Must run autoconf in js/src
763 cd "${S}"/js/src || die
764 eautoconf
765
766 # Need to update jemalloc's configure
767 cd "${S}"/memory/jemalloc/src || die
768 WANT_AUTOCONF= eautoconf
769 }
770
771 src_configure() {
772 MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
773 MEXTENSIONS="default"
774 # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
775 # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
776 # get your own set of keys.
777 _google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
778
779 ####################################
780 #
781 # mozconfig, CFLAGS and CXXFLAGS setup
782 #
783 ####################################
784
785 mozconfig_init
786 mozconfig_config
787
788 # It doesn't compile on alpha without this LDFLAGS
789 use alpha && append-ldflags "-Wl,--no-relax"
790
791 # Add full relro support for hardened
792 use hardened && append-ldflags "-Wl,-z,relro,-z,now"
793
794 # Setup api key for location services
795 echo -n "${_google_api_key}" > "${S}"/google-api-key
796 mozconfig_annotate '' --with-google-api-keyfile="${S}/google-api-key"
797
798 mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
799 mozconfig_annotate '' --disable-mailnews
800
801 # Other ff-specific settings
802 mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}
803
804 # Allow for a proper pgo build
805 if use pgo; then
806 echo "mk_add_options PROFILE_GEN_SCRIPT='\$(PYTHON) \$(OBJDIR)/_profile/pgo/profileserver.py'" >> "${S}"/.mozconfig
807 fi
808
809 echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
810
811 # Finalize and report settings
812 mozconfig_final
813
814 if [[ $(gcc-major-version) -lt 4 ]]; then
815 append-cxxflags -fno-stack-protector
816 elif [[ $(gcc-major-version) -gt 4 || $(gcc-minor-version) -gt 3 ]]; then
817 if use amd64 || use x86; then
818 append-flags -mno-avx
819 fi
820 fi
821 }
822
823 src_compile() {
824 if use pgo; then
825 addpredict /root
826 addpredict /etc/gconf
827 # Reset and cleanup environment variables used by GNOME/XDG
828 gnome2_environment_reset
829
830 # Firefox tries to use dri stuff when it's run, see bug 380283
831 shopt -s nullglob
832 cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
833 if test -z "${cards}"; then
834 cards=$(echo -n /dev/ati/card* /dev/nvidiactl* | sed 's/ /:/g')
835 if test -n "${cards}"; then
836 # Binary drivers seem to cause access violations anyway, so
837 # let's use indirect rendering so that the device files aren't
838 # touched at all. See bug 394715.
839 export LIBGL_ALWAYS_INDIRECT=1
840 fi
841 fi
842 shopt -u nullglob
843 addpredict "${cards}"
844
845 CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
846 MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL}" \
847 Xemake -f client.mk profiledbuild || die "Xemake failed"
848 else
849 CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
850 MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL}" \
851 emake -f client.mk
852 fi
853
854 }
855
856 src_install() {
857 MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
858 DICTPATH="\"${EPREFIX}/usr/share/myspell\""
859
860 cd "${BUILD_OBJ_DIR}" || die
861
862 # Pax mark xpcshell for hardened support, only used for startupcache creation.
863 pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
864
865 # Add our default prefs for firefox
866 cp "${FILESDIR}"/gentoo-default-prefs.js-1 \
867 "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
868 || die
869
870 # Set default path to search for dictionaries.
871 echo "pref(\"spellchecker.dictionary_path\", ${DICTPATH});" \
872 >> "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
873 || die
874
875 echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
876 "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
877 || die
878
879 local plugin
880 use gmp-autoupdate || for plugin in \
881 gmp-gmpopenh264 ; do
882 echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
883 "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
884 || die
885 done
886
887 MOZ_MAKE_FLAGS="${MAKEOPTS}" \
888 emake DESTDIR="${D}" install
889
890 # Install language packs
891 mozlinguas_src_install
892
893 local size sizes icon_path icon name
894 if use bindist; then
895 sizes="16 32 48"
896 icon_path="${S}/browser/branding/aurora"
897 # Firefox's new rapid release cycle means no more codenames
898 # Let's just stick with this one...
899 icon="aurora"
900 name="Aurora"
901 else
902 sizes="16 22 24 32 256"
903 icon_path="${S}/browser/branding/official"
904 icon="${PN}"
905 name="Mozilla Firefox"
906 fi
907
908 # Install icons and .desktop for menu entry
909 for size in ${sizes}; do
910 insinto "/usr/share/icons/hicolor/${size}x${size}/apps"
911 newins "${icon_path}/default${size}.png" "${icon}.png"
912 done
913 # The 128x128 icon has a different name
914 insinto "/usr/share/icons/hicolor/128x128/apps"
915 newins "${icon_path}/mozicon128.png" "${icon}.png"
916 # Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
917 newicon "${icon_path}/content/icon48.png" "${icon}.png"
918 newmenu "${FILESDIR}/icon/${PN}.desktop" "${PN}.desktop"
919 sed -i -e "s:@NAME@:${name}:" -e "s:@ICON@:${icon}:" \
920 "${ED}/usr/share/applications/${PN}.desktop" || die
921
922 # Add StartupNotify=true bug 237317
923 if use startup-notification ; then
924 echo "StartupNotify=true"\
925 >> "${ED}/usr/share/applications/${PN}.desktop" \
926 || die
927 fi
928
929 # Required in order to use plugins and even run firefox on hardened.
930 if use jit; then
931 pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/{firefox,firefox-bin,plugin-container}
932 else
933 pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/plugin-container
934 fi
935
936 if use minimal; then
937 rm -r "${ED}"/usr/include "${ED}${MOZILLA_FIVE_HOME}"/{idl,include,lib,sdk} \
938 || die "Failed to remove sdk and headers"
939 fi
940
941 # very ugly hack to make firefox not sigbus on sparc
942 # FIXME: is this still needed??
943 use sparc && { sed -e 's/Firefox/FirefoxGentoo/g' \
944 -i "${ED}/${MOZILLA_FIVE_HOME}/application.ini" \
945 || die "sparc sed failed"; }
946
947 # revdep-rebuild entry
948 insinto /etc/revdep-rebuild
949 echo "SEARCH_DIRS_MASK=${MOZILLA_FIVE_HOME}" >> ${T}/10firefox
950 doins "${T}"/10${PN} || die
951 }
952
953 pkg_preinst() {
954 gnome2_icon_savelist
955 }
956
957 pkg_postinst() {
958 # Update mimedb for the new .desktop file
959 fdo-mime_desktop_database_update
960 gnome2_icon_cache_update
961 }
962
963 pkg_postrm() {
964 gnome2_icon_cache_update
965 }