summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'www-client/seamonkey-bin/seamonkey-bin-2.6.ebuild')
-rw-r--r--www-client/seamonkey-bin/seamonkey-bin-2.6.ebuild159
1 files changed, 159 insertions, 0 deletions
diff --git a/www-client/seamonkey-bin/seamonkey-bin-2.6.ebuild b/www-client/seamonkey-bin/seamonkey-bin-2.6.ebuild
new file mode 100644
index 000000000000..21644603da32
--- /dev/null
+++ b/www-client/seamonkey-bin/seamonkey-bin-2.6.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-client/seamonkey-bin/seamonkey-bin-2.6.ebuild,v 1.1 2011/12/20 08:31:09 polynomial-c Exp $
+
+EAPI="4"
+
+inherit eutils mozilla-launcher multilib mozextension pax-utils nsplugins fdo-mime gnome2-utils
+
+LANGS=(be ca cs de en-GB en-US es-AR es-ES fi fr gl hu it
+ja lt nb-NO nl pl pt-PT ru sk sv-SE tr zh-CN)
+
+MY_PV="${PV/_alpha/a}"
+MY_P="${PN}-${MY_PV}"
+MY_PN="${PN/-bin}"
+
+DESCRIPTION="Mozilla Application Suite - web browser, email, HTML editor, IRC"
+FTP_URI="ftp://ftp.mozilla.org/pub/mozilla.org/${MY_PN}/releases/"
+SRC_URI="
+ amd64? ( ${FTP_URI}/${MY_PV}/contrib/seamonkey-${MY_PV}.en-US.linux-x86_64.tar.bz2 -> ${PN}_x86_64-${PV}.tar.bz2 )
+ x86? ( ${FTP_URI}/${MY_PV}/linux-i686/en-US/seamonkey-${MY_PV}.tar.bz2 -> ${PN}_i686-${PV}.tar.bz2 )"
+HOMEPAGE="http://www.seamonkey-project.org/"
+RESTRICT="strip"
+QA_EXECSTACK="opt/seamonkey/*"
+
+KEYWORDS="-* ~amd64 ~x86"
+SLOT="0"
+LICENSE="|| ( MPL-1.1 GPL-2 LGPL-2.1 )"
+IUSE="startup-notification"
+
+DEPEND="app-arch/unzip"
+RDEPEND="dev-libs/dbus-glib
+ >=media-libs/alsa-lib-1.0.16
+ >=x11-libs/gtk+-2.10:2
+ x11-libs/libXrender
+ x11-libs/libXt
+ x11-libs/libXmu
+ !<www-client/seamonkey-bin-2"
+
+S="${WORKDIR}/seamonkey"
+
+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}/langpack/seamonkey-${MY_PV}.${X}.langpack.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}/langpack/seamonkey-${MY_PV}.${X}.langpack.xpi -> ${P/-bin/}-${X}.xpi )"
+ IUSE="${IUSE} linguas_${X%%-*}"
+ fi
+done
+
+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/seamonkey
+
+ # Install seamonkey 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}"
+ 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/seamonkey-bin
+ dodir /usr/bin/
+ cat <<EOF >"${D}"/usr/bin/seamonkey-bin
+#!/bin/sh
+unset LD_PRELOAD
+exec /opt/seamonkey/seamonkey "\$@"
+EOF
+ fperms 0755 /usr/bin/seamonkey-bin
+
+ # Install icon and .desktop for menu entry
+ doicon "${FILESDIR}/icon/${PN}.png"
+ domenu "${FILESDIR}/icon/${PN}.desktop"
+
+ if use startup-notification; then
+ echo "StartupNotify=true" >> "${D}"/usr/share/applications/${PN}.desktop
+ fi
+
+ # revdep-rebuild entry
+ insinto /etc/revdep-rebuild
+ doins "${FILESDIR}"/10${PN} || die
+
+ # Handle plugins dir through nsplugins.eclass
+ share_plugins_dir
+
+ # Required in order to use plugins and even run seamonkey on hardened.
+ pax-mark m "${ED}"/${MOZILLA_FIVE_HOME}/{seamonkey,seamonkey-bin,plugin-container}
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ # Update mimedb for the new .desktop file
+ fdo-mime_desktop_database_update
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}