175 lines
4.9 KiB
Bash
175 lines
4.9 KiB
Bash
# Copyright 1999-2009 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-3.5_rc3.ebuild,v 1.1 2009/06/26 14:02:19 armin76 Exp $
|
|
EAPI="2"
|
|
|
|
inherit eutils mozilla-launcher multilib mozextension
|
|
|
|
LANGS="af ar be bg bn-IN ca cs cy da de el en-GB en-US eo es-AR es-ES et eu fa fi fr fy-NL ga-IE gl gu-IN he hi-IN hu id is it ja ka kk kn ko ku lt lv mk mr nb-NO nl nn-NO oc pa-IN pl pt-BR pt-PT ro ru si sk sl sq sr sv-SE ta te th uk vi zh-CN zh-TW"
|
|
NOSHORTLANGS="en-GB es-AR pt-BR zh-CN"
|
|
|
|
MY_PV="${PV/_rc/rc}"
|
|
MY_P="${PN/-bin/}-${MY_PV}"
|
|
|
|
DESCRIPTION="Firefox Web Browser"
|
|
REL_URI="http://releases.mozilla.org/pub/mozilla.org/firefox/releases/"
|
|
SRC_URI="${REL_URI}/${MY_PV}/linux-i686/en-US/firefox-${MY_PV}.tar.bz2"
|
|
HOMEPAGE="http://www.mozilla.com/firefox"
|
|
RESTRICT="strip"
|
|
|
|
KEYWORDS="-* ~amd64 ~x86"
|
|
SLOT="0"
|
|
LICENSE="|| ( MPL-1.1 GPL-2 LGPL-2.1 )"
|
|
IUSE="restrict-javascript"
|
|
|
|
for X in ${LANGS} ; do
|
|
if [ "${X}" != "en" ] && [ "${X}" != "en-US" ]; then
|
|
SRC_URI="${SRC_URI}
|
|
linguas_${X/-/_}? ( ${REL_URI}/${MY_PV}/linux-i686/xpi/${X}.xpi -> ${P/-bin/}-${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}/${MY_PV}/linux-i686/xpi/${X}.xpi -> ${P/-bin/}-${X}.xpi )"
|
|
fi
|
|
IUSE="${IUSE} linguas_${X%%-*}"
|
|
fi
|
|
done
|
|
|
|
DEPEND="app-arch/unzip"
|
|
RDEPEND="dev-libs/dbus-glib
|
|
x11-libs/libXrender
|
|
x11-libs/libXt
|
|
x11-libs/libXmu
|
|
x86? (
|
|
>=x11-libs/gtk+-2.2
|
|
>=media-libs/alsa-lib-1.0.16
|
|
)
|
|
amd64? (
|
|
>=app-emulation/emul-linux-x86-baselibs-1.0
|
|
>=app-emulation/emul-linux-x86-gtklibs-1.0
|
|
>=app-emulation/emul-linux-x86-soundlibs-20080418
|
|
app-emulation/emul-linux-x86-compat
|
|
)"
|
|
|
|
PDEPEND="restrict-javascript? ( x11-plugins/noscript )"
|
|
|
|
S="${WORKDIR}/firefox"
|
|
|
|
pkg_setup() {
|
|
# This is a binary x86 package => ABI=x86
|
|
# Please keep this in future versions
|
|
# Danny van Dyk <kugelfang@gentoo.org> 2005/03/26
|
|
has_multilib_profile && ABI="x86"
|
|
}
|
|
|
|
linguas() {
|
|
local LANG SLANG
|
|
for LANG in ${LINGUAS}; do
|
|
if has ${LANG} en en_US; then
|
|
has en ${linguas} || linguas="${linguas:+"${linguas} "}en"
|
|
continue
|
|
elif has ${LANG} ${LANGS//-/_}; then
|
|
has ${LANG//_/-} ${linguas} || linguas="${linguas:+"${linguas} "}${LANG//_/-}"
|
|
continue
|
|
elif [[ " ${LANGS} " == *" ${LANG}-"* ]]; then
|
|
for X in ${LANGS}; do
|
|
if [[ "${X}" == "${LANG}-"* ]] && \
|
|
[[ " ${NOSHORTLANGS} " != *" ${X} "* ]]; then
|
|
has ${X} ${linguas} || linguas="${linguas:+"${linguas} "}${X}"
|
|
continue 2
|
|
fi
|
|
done
|
|
fi
|
|
ewarn "Sorry, but ${PN} does not support the ${LANG} LINGUA"
|
|
done
|
|
}
|
|
|
|
src_unpack() {
|
|
unpack firefox-${MY_PV}.tar.bz2
|
|
|
|
linguas
|
|
for X in ${linguas}; do
|
|
[[ ${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/firefox
|
|
|
|
# Install icon and .desktop for menu entry
|
|
newicon "${S}"/chrome/icons/default/default48.png ${PN}-icon.png
|
|
domenu "${FILESDIR}"/icon/${PN}.desktop
|
|
|
|
# Install firefox in /opt
|
|
dodir ${MOZILLA_FIVE_HOME%/*}
|
|
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 [[ -n ${LANG} && ${LANG} != "en" ]]; then
|
|
elog "Setting default locale to ${LANG}"
|
|
dosed -e "s:general.useragent.locale\", \"en-US\":general.useragent.locale\", \"${LANG}\":" \
|
|
"${MOZILLA_FIVE_HOME}"/defaults/pref/firefox.js \
|
|
"${MOZILLA_FIVE_HOME}"/defaults/pref/firefox-l10n.js || \
|
|
die "sed failed to change locale"
|
|
fi
|
|
|
|
# Create /usr/bin/firefox-bin
|
|
dodir /usr/bin/
|
|
cat <<EOF >"${D}"/usr/bin/firefox-bin
|
|
#!/bin/sh
|
|
unset LD_PRELOAD
|
|
exec /opt/firefox/firefox "\$@"
|
|
EOF
|
|
fperms 0755 /usr/bin/firefox-bin
|
|
|
|
# revdep-rebuild entry
|
|
insinto /etc/revdep-rebuild
|
|
doins "${FILESDIR}"/10firefox-bin
|
|
|
|
# install ldpath env.d
|
|
doenvd "${FILESDIR}"/71firefox-bin
|
|
|
|
rm -rf "${D}"${MOZILLA_FIVE_HOME}/plugins
|
|
dosym /usr/"$(get_libdir)"/nsbrowser/plugins ${MOZILLA_FIVE_HOME}/plugins
|
|
}
|
|
|
|
pkg_postinst() {
|
|
if use x86; then
|
|
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' && built_with_use --missing \
|
|
true '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
|
|
else
|
|
einfo
|
|
einfo "NB: You just installed a 32-bit firefox"
|
|
einfo
|
|
einfo "Crashreporter won't work on amd64"
|
|
einfo
|
|
fi
|
|
update_mozilla_launcher_symlinks
|
|
}
|
|
|
|
pkg_postrm() {
|
|
update_mozilla_launcher_symlinks
|
|
}
|