summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'www-client')
-rw-r--r--www-client/firefox-bin/ChangeLog7
-rw-r--r--www-client/firefox-bin/firefox-bin-10.0.ebuild183
2 files changed, 189 insertions, 1 deletions
diff --git a/www-client/firefox-bin/ChangeLog b/www-client/firefox-bin/ChangeLog
index 43fb1973cd1b..c3dd2ab7e155 100644
--- a/www-client/firefox-bin/ChangeLog
+++ b/www-client/firefox-bin/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for www-client/firefox-bin
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-client/firefox-bin/ChangeLog,v 1.81 2012/01/26 15:24:40 nirbheek Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-client/firefox-bin/ChangeLog,v 1.82 2012/01/31 18:09:40 jdhore Exp $
+
+*firefox-bin-10.0 (31 Jan 2012)
+
+ 31 Jan 2012; Jeff Horelick <jdhore@gentoo.org> +firefox-bin-10.0.ebuild:
+ Version bump to 10.0
26 Jan 2012; Nirbheek Chauhan <nirbheek@gentoo.org> firefox-bin-8.0.ebuild,
firefox-bin-9.0.1.ebuild:
diff --git a/www-client/firefox-bin/firefox-bin-10.0.ebuild b/www-client/firefox-bin/firefox-bin-10.0.ebuild
new file mode 100644
index 000000000000..5a398b708ffe
--- /dev/null
+++ b/www-client/firefox-bin/firefox-bin-10.0.ebuild
@@ -0,0 +1,183 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-client/firefox-bin/firefox-bin-10.0.ebuild,v 1.1 2012/01/31 18:09:40 jdhore Exp $
+
+EAPI="3"
+
+inherit eutils multilib mozextension pax-utils fdo-mime gnome2-utils nsplugins
+
+# Can be updated using 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 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)
+
+MY_PV="${PV/_rc/rc}"
+MY_PN="${PN/-bin}"
+MY_P="${MY_PN}-${MY_PV}"
+
+DESCRIPTION="Firefox Web Browser"
+FTP_URI="ftp://ftp.mozilla.org/pub/mozilla.org/${MY_PN}/releases"
+SRC_URI="
+ amd64? ( ${FTP_URI}/${MY_PV}/linux-x86_64/en-US/${MY_P}.tar.bz2 -> ${PN}_x86_64-${PV}.tar.bz2 )
+ x86? ( ${FTP_URI}/${MY_PV}/linux-i686/en-US/${MY_P}.tar.bz2 -> ${PN}_i686-${PV}.tar.bz2 )"
+HOMEPAGE="http://www.mozilla.com/firefox"
+RESTRICT="strip mirror"
+
+KEYWORDS="-* ~amd64 ~x86"
+SLOT="0"
+LICENSE="|| ( MPL-1.1 GPL-2 LGPL-2.1 )"
+IUSE="startup-notification"
+
+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/-/_}? ( ${FTP_URI}/${MY_PV}/linux-i686/xpi/${X}.xpi -> ${P/-bin/}-${X}.xpi )"
+ fi
+ IUSE="${IUSE} linguas_${X/-/_}"
+ # 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%%-*}? ( ${FTP_URI}/${MY_PV}/linux-i686/xpi/${X}.xpi -> ${P/-bin/}-${X}.xpi )"
+ IUSE="${IUSE} linguas_${X%%-*}"
+ fi
+done
+
+DEPEND="app-arch/unzip"
+RDEPEND="dev-libs/dbus-glib
+ x11-libs/libXrender
+ x11-libs/libXt
+ x11-libs/libXmu
+
+ >=x11-libs/gtk+-2.2:2
+ >=media-libs/alsa-lib-1.0.16
+"
+
+S="${WORKDIR}/${MY_PN}"
+
+# TODO: Move all the linguas crap to an eclass
+linguas() {
+ # 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
+ # 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
+ # 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 ${LINGUA} locale"
+ done
+}
+
+src_unpack() {
+ unpack ${A}
+
+ linguas
+ for X in "${linguas[@]}"; do
+ # FIXME: Add support for unpacking xpis to portage
+ [[ ${X} != "en" ]] && xpi_unpack "${P/-bin/}-${X}.xpi"
+ done
+ if [[ "${linguas[*]}" != "" && "${linguas[*]}" != "en" ]]; then
+ einfo "Selected language packs (first will be default): ${linguas[*]}"
+ fi
+}
+
+src_install() {
+ declare MOZILLA_FIVE_HOME=/opt/${MY_PN}
+
+ # Install icon and .desktop for menu entry
+ newicon "${S}"/chrome/icons/default/default48.png ${PN}-icon.png
+ domenu "${FILESDIR}"/${PN}.desktop
+
+ # Add StartupNotify=true bug 237317
+ if use startup-notification; then
+ echo "StartupNotify=true" >> "${D}"/usr/share/applications/${PN}.desktop
+ fi
+
+ # Install firefox in /opt
+ dodir ${MOZILLA_FIVE_HOME%/*}
+ mv "${S}" "${D}"${MOZILLA_FIVE_HOME} || die
+
+ # Fix prefs that make no sense for a system-wide install
+ insinto ${MOZILLA_FIVE_HOME}/defaults/pref/
+ doins "${FILESDIR}"/${PN}-prefs.js || die
+
+ linguas
+ for X in "${linguas[@]}"; do
+ [[ ${X} != "en" ]] && xpi_install "${WORKDIR}"/"${P/-bin/}-${X}"
+ done
+
+ local LANG=${linguas%% *}
+ if [[ -n ${LANG} && ${LANG} != "en" ]]; then
+ elog "Setting default locale to ${LANG}"
+ echo "pref(\"general.useragent.locale\", \"${LANG}\");" \
+ >> "${D}${MOZILLA_FIVE_HOME}"/defaults/pref/${PN}-prefs.js || \
+ die "sed failed to change locale"
+ fi
+
+ # Create /usr/bin/firefox-bin
+ dodir /usr/bin/
+ cat <<-EOF >"${D}"/usr/bin/${PN}
+ #!/bin/sh
+ unset LD_PRELOAD
+ LD_LIBRARY_PATH="/opt/firefox/"
+ GTK_PATH=/usr/lib/gtk-2.0/
+ exec /opt/${MY_PN}/${MY_PN} "\$@"
+ EOF
+ fperms 0755 /usr/bin/${PN}
+
+ # revdep-rebuild entry
+ insinto /etc/revdep-rebuild
+ doins "${FILESDIR}"/10${PN} || die
+
+ # Plugins dir
+ share_plugins_dir
+
+ # Required in order to use plugins and even run firefox on hardened.
+ pax-mark m "${ED}"/${MOZILLA_FIVE_HOME}/{firefox,firefox-bin,plugin-container}
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ if ! has_version 'gnome-base/gconf' || ! has_version 'gnome-base/orbit' \
+ || ! has_version 'net-misc/curl'; then
+ einfo
+ einfo "For using the crashreporter, you need gnome-base/gconf,"
+ einfo "gnome-base/orbit and net-misc/curl emerged."
+ einfo
+ fi
+ if has_version 'net-misc/curl[nss]'; then
+ einfo
+ einfo "Crashreporter won't be able to send reports"
+ einfo "if you have curl emerged with the nss USE-flag"
+ einfo
+ fi
+
+ # Update mimedb for the new .desktop file
+ fdo-mime_desktop_database_update
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}