summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@gentoo.org>2011-07-06 05:14:18 +0000
committerNirbheek Chauhan <nirbheek@gentoo.org>2011-07-06 05:14:18 +0000
commitcecc24404e1eb725a6f3b23eb8820de40a6812a0 (patch)
treed1a1a28a52f3b0d53fbb4badba300d6e05b8731c /www-client
parentDrop all keywords on 1.9.2.12 except 'sparc'. This version is vulnerable (diff)
downloadgentoo-2-cecc24404e1eb725a6f3b23eb8820de40a6812a0.tar.gz
gentoo-2-cecc24404e1eb725a6f3b23eb8820de40a6812a0.tar.bz2
gentoo-2-cecc24404e1eb725a6f3b23eb8820de40a6812a0.zip
Always disable gconf, bug 360307, bug 373605 comment 15; add mesa dep for webgl, bug 373245; update the list of locales, bug 364659; add a use-flag to disable JIT, bug 367111. Refactor LINGUAS code to use bash arrays, remove unused patches, drop all keywords on vulnerable 3.6.12 except 'sparc'.
(Portage version: 2.2.0_alpha39_p14/cvs/Linux x86_64)
Diffstat (limited to 'www-client')
-rw-r--r--www-client/firefox/ChangeLog15
-rw-r--r--www-client/firefox/files/137-bz460917_reload_new_plugins-gentoo-update-3.6.4.patch60
-rw-r--r--www-client/firefox/files/801-enable-x86_64-tracemonkey.patch25
-rw-r--r--www-client/firefox/files/firefox-3.0-solaris64.patch14
-rw-r--r--www-client/firefox/files/fix_blocklist_support.patch92
-rw-r--r--www-client/firefox/files/xulrunner-1.9.2-arm-fixes.patch35
-rw-r--r--www-client/firefox/firefox-3.6.12.ebuild4
-rw-r--r--www-client/firefox/firefox-5.0-r2.ebuild (renamed from www-client/firefox/firefox-5.0-r1.ebuild)108
-rw-r--r--www-client/firefox/metadata.xml9
9 files changed, 79 insertions, 283 deletions
diff --git a/www-client/firefox/ChangeLog b/www-client/firefox/ChangeLog
index c4d639a0aca6..a945ddb2a467 100644
--- a/www-client/firefox/ChangeLog
+++ b/www-client/firefox/ChangeLog
@@ -1,6 +1,19 @@
# ChangeLog for www-client/firefox
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/ChangeLog,v 1.78 2011/06/27 00:42:11 anarchy Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/ChangeLog,v 1.79 2011/07/06 05:14:18 nirbheek Exp $
+
+*firefox-5.0-r2 (06 Jul 2011)
+
+ 06 Jul 2011; Nirbheek Chauhan <nirbheek@gentoo.org>
+ -files/xulrunner-1.9.2-arm-fixes.patch, -files/firefox-3.0-solaris64.patch,
+ -files/137-bz460917_reload_new_plugins-gentoo-update-3.6.4.patch,
+ firefox-3.6.12.ebuild, -firefox-5.0-r1.ebuild, +firefox-5.0-r2.ebuild,
+ -files/801-enable-x86_64-tracemonkey.patch,
+ -files/fix_blocklist_support.patch, metadata.xml:
+ Always disable gconf, bug 360307, bug 373605 comment 15; add mesa dep for
+ webgl, bug 373245; update the list of locales, bug 364659; add a use-flag to
+ disable JIT, bug 367111. Refactor LINGUAS code to use bash arrays, remove
+ unused patches, drop all keywords on vulnerable 3.6.12 except 'sparc'.
*firefox-5.0-r1 (27 Jun 2011)
diff --git a/www-client/firefox/files/137-bz460917_reload_new_plugins-gentoo-update-3.6.4.patch b/www-client/firefox/files/137-bz460917_reload_new_plugins-gentoo-update-3.6.4.patch
deleted file mode 100644
index 5d0c93c3dea0..000000000000
--- a/www-client/firefox/files/137-bz460917_reload_new_plugins-gentoo-update-3.6.4.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-This patch has been ported to 3.6.4, may not be entirely correct.
-
-Original patch was from bmo 460917, att 350845
-
----
---- browser/base/content/browser.js
-+++ browser/base/content/browser.js
-@@ -6009,9 +6009,18 @@
- var pluginInfo = getPluginInfo(aEvent.target);
- missingPluginsArray[pluginInfo.mimetype] = pluginInfo;
-
-+
-+ gBrowser.selectedBrowser.addEventListener("NewPluginInstalled",
-+ gMissingPluginInstaller.refreshBrowser,
-+ false);
-+
- openDialog("chrome://mozapps/content/plugins/pluginInstallerWizard.xul",
- "PFSWindow", "chrome,centerscreen,resizable=yes",
- {plugins: missingPluginsArray, browser: gBrowser.selectedBrowser});
-+
-+ gBrowser.selectedBrowser.removeEventListener("NewPluginInstalled",
-+ gMissingPluginInstaller.refreshBrowser,
-+ false);
- },
-
- // Callback for user clicking on a disabled plugin
-@@ -6107,11 +6116,19 @@
- function showPluginsMissing() {
- // get the urls of missing plugins
- var missingPluginsArray = gBrowser.selectedBrowser.missingPlugins;
-+
-+ gBrowser.selectedBrowser.addEventListener("NewPluginInstalled",
-+ gMissingPluginInstaller.refreshBrowser,
-+ false);
-+
- if (missingPluginsArray) {
- window.openDialog("chrome://mozapps/content/plugins/pluginInstallerWizard.xul",
- "PFSWindow", "chrome,centerscreen,resizable=yes",
- {plugins: missingPluginsArray, browser: gBrowser.selectedBrowser});
- }
-+ gBrowser.selectedBrowser.removeEventListener("NewPluginInstalled",
-+ gMissingPluginInstaller.refreshBrowser,
-+ false);
- }
-
- if (aEvent.type == "PluginBlocklisted") {
-@@ -6442,6 +6459,13 @@
- notificationBox.removeNotification(notification);
- }
- // reload the browser to make the new plugin show.
-+
-+ // reload plugins
-+ var pm = Components.classes["@mozilla.org/plugin/manager;1"]
-+ .getService(Components.interfaces.nsIPluginManager);
-+ pm.reloadPlugins(false);
-+
-+ // ... and reload the browser to activate new plugins available
- browser.reload();
- }
- };
diff --git a/www-client/firefox/files/801-enable-x86_64-tracemonkey.patch b/www-client/firefox/files/801-enable-x86_64-tracemonkey.patch
deleted file mode 100644
index b72ad76b450e..000000000000
--- a/www-client/firefox/files/801-enable-x86_64-tracemonkey.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- js/src/configure.in.old 2009-11-08 19:50:54.299642792 -0500
-+++ js/src/configure.in 2009-11-08 19:57:49.235621814 -0500
-@@ -2465,6 +2465,10 @@
- ENABLE_JIT=1
- NANOJIT_ARCH=i386
- ;;
-+x86_64*-*)
-+ ENABLE_JIT=1
-+ NANOJIT_ARCH=X64
-+ ;;
- arm*-*)
- ENABLE_JIT=1
- NANOJIT_ARCH=ARM
-@@ -2488,7 +2492,10 @@
- i?86-*)
- AC_DEFINE(AVMPLUS_IA32)
- ;;
--
-+x86_64*-*)
-+ AC_DEFINE(AVMPLUS_AMD64)
-+ AC_DEFINE(AVMPLUS_64BIT)
-+ ;;
- arm*-*)
- AC_DEFINE(AVMPLUS_ARM)
- ;;
diff --git a/www-client/firefox/files/firefox-3.0-solaris64.patch b/www-client/firefox/files/firefox-3.0-solaris64.patch
deleted file mode 100644
index 988b280f67ca..000000000000
--- a/www-client/firefox/files/firefox-3.0-solaris64.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Don't use -G, it results in a relocation error against _DYNAMIC on
-amd64, use -shared instead per the manpage, and as it works as well.
-
---- configure.in
-+++ configure.in
-@@ -2481,7 +2481,7 @@
- AC_LANG_RESTORE
- else
- ASFLAGS="$ASFLAGS -fPIC"
-- DSO_LDOPTS='-G'
-+ DSO_LDOPTS='-shared'
- _WARNINGS_CFLAGS=''
- _WARNINGS_CXXFLAGS=''
- if test "$OS_RELEASE" = "5.3"; then
diff --git a/www-client/firefox/files/fix_blocklist_support.patch b/www-client/firefox/files/fix_blocklist_support.patch
deleted file mode 100644
index a6d1bb196b75..000000000000
--- a/www-client/firefox/files/fix_blocklist_support.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff --git a/browser/app/blocklist.xml b/browser/app/blocklist.xml
---- a/browser/app/blocklist.xml
-+++ b/browser/app/blocklist.xml
-@@ -1,4 +1,4 @@
--<?xml version="1.0" encoding="UTF-8"?>
-+<?xml version="1.0"?>
- <blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist">
- <emItems>
- <emItem id="fdm_ffext@freedownloadmanager.org">
-@@ -11,16 +11,38 @@
- <emItem id="langpack-vi-VN@firefox.mozilla.org">
- <versionRange minVersion="2.0" maxVersion="2.0"/>
- </emItem>
-+ <emItem id="masterfiler@gmail.com">
-+ <versionRange severity="3"/>
-+ </emItem>
- <emItem id="mozilla_cc@internetdownloadmanager.com">
-+ <versionRange minVersion=" " maxVersion="6.9.8">
-+ <targetApplication id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}">
-+ <versionRange minVersion="3.7a1pre" maxVersion="*"/>
-+ </targetApplication>
-+ </versionRange>
- <versionRange minVersion="2.1" maxVersion="3.3">
- <targetApplication id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}">
- <versionRange minVersion="3.0a1" maxVersion="*"/>
- </targetApplication>
- </versionRange>
- </emItem>
-+ <emItem id="personas@christopher.beard">
-+ <versionRange minVersion="1.6" maxVersion="1.6">
-+ <targetApplication id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}">
-+ <versionRange minVersion="3.6" maxVersion="3.6.*"/>
-+ </targetApplication>
-+ </versionRange>
-+ </emItem>
- <emItem id="support@daemon-tools.cc">
- <versionRange minVersion=" " maxVersion="1.0.0.5"/>
- </emItem>
-+ <emItem id="yslow@yahoo-inc.com">
-+ <versionRange minVersion="2.0.5" maxVersion="2.0.5">
-+ <targetApplication id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}">
-+ <versionRange minVersion="3.5.7" maxVersion="*"/>
-+ </targetApplication>
-+ </versionRange>
-+ </emItem>
- <emItem id="{2224e955-00e9-4613-a844-ce69fccaae91}"/>
- <emItem id="{3f963a5b-e555-4543-90e2-c3908898db71}">
- <versionRange minVersion=" " maxVersion="8.5"/>
-@@ -32,9 +54,11 @@
- </targetApplication>
- </versionRange>
- </emItem>
-+ <emItem id="{8CE11043-9A15-4207-A565-0C94C42D590D}"/>
- <emItem id="{B13721C7-F507-4982-B2E5-502A71474FED}">
- <versionRange minVersion=" " maxVersion="3.3.0.3970" severity="1"/>
- </emItem>
-+ <emItem id="{E8E88AB0-7182-11DF-904E-6045E0D72085}"/>
- </emItems>
- <pluginItems>
- <pluginItem>
-@@ -61,5 +85,24 @@
- <versionRange>
- </versionRange>
- </pluginItem>
-+ <pluginItem>
-+ <match name="filename" exp="NPMySrch.dll"/>
-+ <versionRange>
-+ </versionRange>
-+ </pluginItem>
-+ <pluginItem>
-+ <match name="filename" exp="npViewpoint.dll"/>
-+ <versionRange>
-+ <targetApplication id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}">
-+ <versionRange minVersion="3.0" maxVersion="*"/>
-+ </targetApplication>
-+ </versionRange>
-+ </pluginItem>
-+ <pluginItem>
-+ <match name="name" exp="[0-6]\.0\.[01]\d{2}\.\d+"/>
-+ <match name="filename" exp="npdeploytk.dll"/>
-+ <versionRange severity="1">
-+ </versionRange>
-+ </pluginItem>
- </pluginItems>
--</blocklist>
-\ No newline at end of file
-+</blocklist>
-
-
-
-
-
diff --git a/www-client/firefox/files/xulrunner-1.9.2-arm-fixes.patch b/www-client/firefox/files/xulrunner-1.9.2-arm-fixes.patch
deleted file mode 100644
index a726209e6373..000000000000
--- a/www-client/firefox/files/xulrunner-1.9.2-arm-fixes.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Fix arm OS detection
-
-https://bugs.gentoo.org/327783
-https://bugzilla.mozilla.org/show_bug.cgi?id=577319
----
---- configure.in
-+++ configure.in
-@@ -1424,9 +1424,11 @@
- CPU_ARCH="$OS_TEST"
- ;;
-
--arm)
-+arm*)
- if test "$OS_TARGET" = "WINCE"; then
- CPU_ARCH="$OS_TEST"
-+ else
-+ CPU_ARCH="arm"
- fi
- ;;
- esac
---- js/src/configure.in
-+++ js/src/configure.in
-@@ -1162,9 +1162,11 @@
- CPU_ARCH="$OS_TEST"
- ;;
-
--arm)
-+arm*)
- if test "$OS_TARGET" = "WINCE"; then
- CPU_ARCH="$OS_TEST"
-+ else
-+ CPU_ARCH="arm"
- fi
- ;;
- esac
diff --git a/www-client/firefox/firefox-3.6.12.ebuild b/www-client/firefox/firefox-3.6.12.ebuild
index 4bbe7c85c78f..9089a78c8ce5 100644
--- a/www-client/firefox/firefox-3.6.12.ebuild
+++ b/www-client/firefox/firefox-3.6.12.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-3.6.12.ebuild,v 1.10 2011/06/21 12:33:50 nirbheek Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-3.6.12.ebuild,v 1.11 2011/07/06 05:14:18 nirbheek Exp $
EAPI="3"
WANT_AUTOCONF="2.1"
@@ -22,7 +22,7 @@ PATCH="${PN}-3.6-patches-0.2"
DESCRIPTION="Firefox Web Browser"
HOMEPAGE="http://www.mozilla.com/firefox"
-KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~amd64-linux ~ia64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="sparc"
SLOT="0"
LICENSE="|| ( MPL-1.1 GPL-2 LGPL-2.1 )"
IUSE="+alsa bindist gnome +ipc java libnotify system-sqlite wifi"
diff --git a/www-client/firefox/firefox-5.0-r1.ebuild b/www-client/firefox/firefox-5.0-r2.ebuild
index 6b3d50feecf2..181aece5a1f5 100644
--- a/www-client/firefox/firefox-5.0-r1.ebuild
+++ b/www-client/firefox/firefox-5.0-r2.ebuild
@@ -1,21 +1,19 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-5.0-r1.ebuild,v 1.1 2011/06/27 00:42:11 anarchy Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-5.0-r2.ebuild,v 1.1 2011/07/06 05:14:18 nirbheek Exp $
EAPI="3"
VIRTUALX_REQUIRED="pgo"
WANT_AUTOCONF="2.1"
-inherit flag-o-matic toolchain-funcs eutils gnome2-utils mozconfig-3 makeedit multilib pax-utils fdo-mime autotools mozextension versionator python virtualx
+inherit flag-o-matic toolchain-funcs eutils gnome2-utils mozconfig-3 multilib pax-utils fdo-mime autotools mozextension versionator python virtualx
-MAJ_XUL_PV="5.0"
MAJ_FF_PV="$(get_version_component_range 1-2)" # 3.5, 3.6, 4.0, etc.
-XUL_PV="${MAJ_XUL_PV}${PV/${MAJ_FF_PV}/}" # 1.9.3_alpha6, 1.9.2.3, etc.
FF_PV="${PV/_alpha/a}" # Handle alpha for SRC_URI
FF_PV="${FF_PV/_beta/b}" # Handle beta for SRC_URI
FF_PV="${FF_PV/_rc/rc}" # Handle rc for SRC_URI
CHANGESET="e56ecd8b3a68"
-PATCH="${PN}-5.0-patches-0.5"
+PATCH="${PN}-5.0-patches-0.6"
DESCRIPTION="Firefox Web Browser"
HOMEPAGE="http://www.mozilla.com/firefox"
@@ -23,7 +21,7 @@ HOMEPAGE="http://www.mozilla.com/firefox"
KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
SLOT="0"
LICENSE="|| ( MPL-1.1 GPL-2 LGPL-2.1 )"
-IUSE="bindist gconf hardened +ipc pgo system-sqlite +webm"
+IUSE="bindist +methodjit +ipc pgo system-sqlite +webm"
REL_URI="http://releases.mozilla.org/pub/mozilla.org/firefox/releases"
FTP_URI="ftp://ftp.mozilla.org/pub/firefox/releases/"
@@ -32,12 +30,13 @@ SRC_URI="http://dev.gentoo.org/~anarchy/mozilla/patchsets/${PATCH}.tar.bz2"
ASM_DEPEND=">=dev-lang/yasm-1.1"
+# Mesa 7.10 needed for WebGL + bugfixes
RDEPEND="
>=sys-devel/binutils-2.16.1
>=dev-libs/nss-3.12.9
>=dev-libs/nspr-4.8.7
- gconf? ( >=gnome-base/gconf-1.2.1:2 )
>=dev-libs/glib-2.26
+ >=media-libs/mesa-7.10
media-libs/libpng[apng]
dev-libs/libffi
system-sqlite? ( >=dev-db/sqlite-3.7.4[fts3,secure-delete,unlock-notify,debug=] )
@@ -70,25 +69,24 @@ fi
# No language packs for alphas
if ! [[ ${PV} =~ alpha|beta ]]; then
# This list can be updated with scripts/get_langs.sh from mozilla overlay
- LANGS="af ak ar ast be bg bn-BD bn-IN br bs ca cs cy da de
- el en eo es-ES et eu fa fi fr fy-NL ga-IE gd gl gu-IN
- he hi-IN hr hu hy-AM id is it ja kk kn ko ku lg lt lv mai mk
- ml mr nb-NO nl nn-NO nso or pa-IN pl pt-PT rm ro ru si sk sl
- son sq sr sv-SE ta ta-LK te th tr uk vi zu"
- NOSHORTLANGS="en-GB en-ZA es-AR es-CL es-MX pt-BR zh-CN zh-TW"
-
- for X in ${LANGS} ; do
- if [ "${X}" != "en" ] && [ "${X}" != "en-US" ]; then
+ LANGS=(af ak ar ast be bg bn-BD bn-IN br bs ca cs cy da de el en 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 gl gu-IN he
+ hi-IN hr hu hy-AM id is it ja kk kn ko ku lg lt lv mai mk ml mr nb-NO nl
+ nn-NO nso or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv-SE ta ta-LK
+ te th tr uk vi zh-CN zh-TW zu)
+
+ for X in "${LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${X} != en ]] && [[ ${X} != en-US ]]; then
SRC_URI="${SRC_URI}
linguas_${X/-/_}? ( ${REL_URI}/${FF_PV}/linux-i686/xpi/${X}.xpi -> ${P}-${X}.xpi )"
fi
IUSE="${IUSE} linguas_${X/-/_}"
- # english is handled internally
- if [ "${#X}" == 5 ] && ! has ${X} ${NOSHORTLANGS}; then
- if [ "${X}" != "en-US" ]; then
- SRC_URI="${SRC_URI}
- linguas_${X%%-*}? ( ${REL_URI}/${FF_PV}/linux-i686/xpi/${X}.xpi -> ${P}-${X}.xpi )"
- fi
+ # Install all the specific locale xpis if there's no generic locale xpi
+ # Example: there's no pt.xpi, so install all pt-*.xpi
+ if ! has ${X%%-*} "${LANGS[@]}"; then
+ SRC_URI="${SRC_URI}
+ linguas_${X%%-*}? ( ${REL_URI}/${FF_PV}/linux-i686/xpi/${X}.xpi -> ${P}-${X}.xpi )"
IUSE="${IUSE} linguas_${X%%-*}"
fi
done
@@ -96,25 +94,31 @@ fi
QA_PRESTRIPPED="usr/$(get_libdir)/${PN}/firefox"
+# TODO: Move all the linguas crap to an eclass
linguas() {
- local LANG SLANG
- for LANG in ${LINGUAS}; do
- if has ${LANG} en en_US; then
- has en ${linguas} || linguas="${linguas:+"${linguas} "}en"
+ # Generate the list of language packs called "linguas"
+ # This list is used to install the xpi language packs
+ local LINGUA
+ for LINGUA in ${LINGUAS}; do
+ if has ${LINGUA} en en_US; then
+ # For mozilla products, en and en_US are handled internally
continue
- elif has ${LANG} ${LANGS//-/_}; then
- has ${LANG//_/-} ${linguas} || linguas="${linguas:+"${linguas} "}${LANG//_/-}"
+ # If this language is supported by ${P},
+ elif has ${LINGUA} "${LANGS[@]//-/_}"; then
+ # Add the language to linguas, if it isn't already there
+ has ${LINGUA//_/-} "${linguas[@]}" || linguas+=(${LINGUA//_/-})
continue
- elif [[ " ${LANGS} " == *" ${LANG}-"* ]]; then
- for X in ${LANGS}; do
- if [[ "${X}" == "${LANG}-"* ]] && \
- [[ " ${NOSHORTLANGS} " != *" ${X} "* ]]; then
- has ${X} ${linguas} || linguas="${linguas:+"${linguas} "}${X}"
+ # For each short LINGUA that isn't in LANGS,
+ # add *all* long LANGS to the linguas list
+ elif ! has ${LINGUA%%-*} "${LANGS[@]}"; then
+ for LANG in "${LANGS[@]}"; do
+ if [[ ${LANG} == ${LINGUA}-* ]]; then
+ has ${LANG} "${linguas[@]}" || linguas+=(${LANG})
continue 2
fi
done
fi
- ewarn "Sorry, but ${P} does not support the ${LANG} LINGUA"
+ ewarn "Sorry, but ${P} does not support the ${LINGUA} locale"
done
}
@@ -130,7 +134,7 @@ pkg_setup() {
XDG_SESSION_COOKIE \
XAUTHORITY
- if ! use bindist ; then
+ if ! use bindist; then
einfo
elog "You are enabling official branding. You may not redistribute this build"
elog "to any users on your network or the internet. Doing so puts yourself into"
@@ -138,10 +142,16 @@ pkg_setup() {
elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag"
fi
- if ! use hardened && use pgo; then
+ if ! use methodjit; then
einfo
- ewarn "You will do a double build for profile guided optimization. This will result in your"
- ewarn "build taking at least twice as long as before."
+ ewarn "You are disabling the method-based JIT in JägerMonkey."
+ ewarn "This will greatly slowdown JavaScript in ${PN}!"
+ fi
+
+ if use pgo; then
+ einfo
+ ewarn "You will do a double build for profile guided optimization."
+ ewarn "This will result in your build taking at least twice as long as before."
fi
}
@@ -149,9 +159,9 @@ src_unpack() {
unpack ${A}
linguas
- for X in ${linguas}; do
+ for X in "${linguas[@]}"; do
# FIXME: Add support for unpacking xpis to portage
- [[ ${X} != "en" ]] && xpi_unpack "${P}-${X}.xpi"
+ xpi_unpack "${P}-${X}.xpi"
done
}
@@ -212,20 +222,20 @@ src_configure() {
mozconfig_annotate '' --prefix=/usr
mozconfig_annotate '' --libdir=/usr/$(get_libdir)
mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
+ mozconfig_annotate '' --disable-gconf
mozconfig_annotate '' --disable-mailnews
mozconfig_annotate '' --enable-canvas
mozconfig_annotate '' --enable-safe-browsing
mozconfig_annotate '' --with-system-png
- use hardened && mozconfig_annotate 'hardened' --disable-methodjit
# Other ff-specific settings
mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}
mozconfig_use_enable system-sqlite
- mozconfig_use_enable gconf
+ mozconfig_use_enable methodjit
# Allow for a proper pgo build
- if ! use hardened && use pgo; then
+ if use pgo; then
echo "mk_add_options PROFILE_GEN_SCRIPT='\$(PYTHON) \$(OBJDIR)/_profile/pgo/profileserver.py'" >> "${S}"/.mozconfig
fi
@@ -242,7 +252,7 @@ src_configure() {
}
src_compile() {
- if ! use hardened && use pgo; then
+ if use pgo; then
CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
MOZ_MAKE_FLAGS="${MAKEOPTS}" \
Xemake -f client.mk profiledbuild || die "Xemake failed"
@@ -270,8 +280,8 @@ src_install() {
emake DESTDIR="${D}" install || die "emake install failed"
linguas
- for X in ${linguas}; do
- [[ ${X} != "en" ]] && xpi_install "${WORKDIR}/${P}-${X}"
+ for X in "${linguas[@]}"; do
+ xpi_install "${WORKDIR}/${P}-${X}"
done
local size sizes icon_path icon name
@@ -308,10 +318,8 @@ src_install() {
echo "StartupNotify=true" >> "${ED}/usr/share/applications/${PN}.desktop"
fi
- if use hardened; then
- pax-mark m "${ED}"/${MOZILLA_FIVE_HOME}/firefox-bin
- pax-mark m "${ED}"/${MOZILLA_FIVE_HOME}/plugin-container
- fi
+ pax-mark m "${ED}"/${MOZILLA_FIVE_HOME}/firefox-bin
+ pax-mark m "${ED}"/${MOZILLA_FIVE_HOME}/plugin-container
# Plugins dir
dosym ../nsbrowser/plugins "${MOZILLA_FIVE_HOME}"/plugins \
diff --git a/www-client/firefox/metadata.xml b/www-client/firefox/metadata.xml
index 463738be4eef..ca68072a9582 100644
--- a/www-client/firefox/metadata.xml
+++ b/www-client/firefox/metadata.xml
@@ -3,15 +3,16 @@
<pkgmetadata>
<herd>mozilla</herd>
<use>
- <flag name='custom-optimization'>Fine-tune custom compiler
+ <flag name="custom-optimization">Fine-tune custom compiler
optimizations, setting this is not recommended.</flag>
- <flag name="gconf">Add support for setting of default browser using
- <pkg>gnome-base/gconf</pkg>. Useful only for GNOME 2 users.</flag>
<flag name="ipc">Use inter-process communication between tabs and plugins.
Allows for greater stability in case of plugin crashes</flag>
+ <flag name="methodjit">Enable JIT for JavaScript using MethodJIT for faster
+ JS performance. Hardened users can disable this USE-flag to use MPROTECT
+ on grsecurity kernels.</flag>
<flag name="pgo">Add support for profile-guided optimization using gcc-4.5,
for faster binaries. This option will double the compile time.</flag>
- <flag name='system-sqlite'>Use the system-wide <pkg>dev-db/sqlite</pkg>
+ <flag name="system-sqlite">Use the system-wide <pkg>dev-db/sqlite</pkg>
installation with secure-delete enabled</flag>
<flag name="webm">Use system <pkg>media-libs/libvpx</pkg> for HTML5 WebM
video support.</flag>