# Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/www-client/mozilla-firefox-bin/mozilla-firefox-bin-1.5.0.9.ebuild,v 1.7 2007/02/14 18:58:51 armin76 Exp $ inherit eutils mozilla-launcher multilib mozextension LANGS="ar bg ca cs da de el en-GB es-AR es-ES eu fi fr fy-NL ga-IE gu-IN he hu it ja ko lt mk nb-NO nl pa-IN pl pt-BR ro ru sk sl sv-SE tr zh-CN zh-TW" SHORTLANGS="es-ES ga-IE nb-NO sv-SE" DESCRIPTION="Firefox Web Browser" SRC_URI="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${PV}/linux-i686/en-US/firefox-${PV}.tar.gz" HOMEPAGE="http://www.mozilla.org/projects/firefox" RESTRICT="nostrip" KEYWORDS="-* amd64 x86" SLOT="0" LICENSE="MPL-1.1 GPL-2 LGPL-2.1" IUSE="" for X in ${LANGS} ; do SRC_URI="${SRC_URI} linguas_${X/-/_}? ( http://dev.gentooexperimental.org/~anarchy/${P/-bin/}-xpi/${P/-bin/}-${X}.xpi )" IUSE="${IUSE} linguas_${X/-/_}" done for X in ${SHORTLANGS} ; do SRC_URI="${SRC_URI} linguas_${X%%-*}? ( http://dev.gentooexperimental.org/~anarchy/${P/-bin/}-xpi/${P/-bin/}-${X}.xpi )" IUSE="${IUSE} linguas_${X%%-*}" done DEPEND="app-arch/unzip" RDEPEND="x11-libs/libXrender x11-libs/libXt x11-libs/libXmu x86? ( >=x11-libs/gtk+-2.2 =virtual/libstdc++-3.3 ) amd64? ( >=app-emulation/emul-linux-x86-baselibs-1.0 >=app-emulation/emul-linux-x86-gtklibs-1.0 app-emulation/emul-linux-x86-compat ) >=www-client/mozilla-launcher-1.41" S=${WORKDIR}/firefox pkg_setup() { # This is a binary x86 package => ABI=x86 # Please keep this in future versions # Danny van Dyk 2005/03/26 has_multilib_profile && ABI="x86" } linguas() { linguas= local LANG for LANG in ${LINGUAS}; do if hasq ${LANG} ${LANGS//-/_} en; then hasq ${LANG//_/-} ${linguas} || \ linguas="${linguas:+"${linguas} "}${LANG//_/-}" continue else local SLANG for SLANG in ${SHORTLANGS}; do if [[ ${LANG} == ${SLANG%%-*} ]]; then hasq ${SLANG} ${linguas} || \ linguas="${linguas:+"${linguas} "}${SLANG}" continue 2 fi done fi ewarn "Sorry, but mozilla-firefox does not support the ${LANG} LINGUA" done } src_unpack() { unpack firefox-${PV}.tar.gz linguas for X in ${linguas}; do [[ ${X} != en ]] && xpi_unpack ${P/-bin/}-${X}.xpi done } src_install() { declare MOZILLA_FIVE_HOME=/opt/firefox # Install firefox in /opt dodir ${MOZILLA_FIVE_HOME%/*} touch ${S}/extensions/talkback@mozilla.org/chrome.manifest mv ${S} ${D}${MOZILLA_FIVE_HOME} linguas for X in ${linguas}; do [[ ${X} != en ]] && xpi_install ${WORKDIR}/${P/-bin/}-${X} done local LANG=${linguas%% *} if [[ ${LANG} != "" && ${LANG} != "en" ]]; then ebegin "Setting default locale to ${LANG}" sed -i "s:pref(\"general.useragent.locale\", \"en-US\"):pref(\"general.useragent.locale\", \"${LANG}\"):" \ ${D}${MOZILLA_FIVE_HOME}/defaults/pref/firefox.js \ ${D}${MOZILLA_FIVE_HOME}/defaults/pref/firefox-l10n.js eend $? || die "sed failed to change locale" fi # Create /usr/bin/firefox-bin install_mozilla_launcher_stub firefox-bin ${MOZILLA_FIVE_HOME} # Install icon and .desktop for menu entry insinto /usr/share/pixmaps doins ${FILESDIR}/icon/${PN}-icon.png insinto /usr/share/applications doins ${FILESDIR}/icon/${PN}.desktop # revdep-rebuild entry insinto /etc/revdep-rebuild doins ${FILESDIR}/10firefox-bin # install ldpath env.d insinto /etc/env.d doins ${FILESDIR}/71firefox-bin } pkg_preinst() { declare MOZILLA_FIVE_HOME=/opt/firefox # Remove entire installed instance to prevent all kinds of # problems... see bug 44772 for example rm -rf ${ROOT}${MOZILLA_FIVE_HOME} } pkg_postinst() { if use amd64; then echo einfo "NB: You just installed a 32-bit firefox" fi update_mozilla_launcher_symlinks } pkg_postrm() { update_mozilla_launcher_symlinks }