All pastes #285267 Raw Edit

Stuff

public text v1 · immutable
#285267 ·published 2006-12-19 18:54 UTC
rendered paste body
--- mozilla-thunderbird-bin-1.5.0.8.ebuild	2006-11-11 06:38:06.000000000 -0600
+++ mozilla-thunderbird-bin-1.5.0.9.ebuild	2006-12-19 12:54:18.660751432 -0600
@@ -4,6 +4,9 @@
 
 inherit eutils mozilla-launcher multilib
 
+LANGS="bg ca cs da de el en-GB es-AR es-ES eu fi fr ga-IE gu-IN he hu it ja ko lt mk nb-NO nl pa-IN pl pt-BR ru sk sl sv-SE tr zh-CN"
+SHORTLANGS="es-ES ga-IE nb-NO sv-SE"
+
 DESCRIPTION="The Mozilla Thunderbird Mail & News Reader"
 SRC_URI="http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/${PV}/linux-i686/en-US/thunderbird-${PV}.tar.gz"
 HOMEPAGE="http://www.mozilla.org/projects/thunderbird"
@@ -14,6 +17,16 @@
 LICENSE="MPL-1.1 NPL-1.1"
 IUSE=""
 
+for X in ${LANGS} ; do
+	SRC_URI="${SRC_URI} linguas_${X/-/_}? ( http://dev.gentooexperimental.org/~anarchy/${P}-xpi/${P}-${X}.xpi )"
+ 	IUSE="${IUSE} linguas_${X/-/_}"
+ done
+ 
+ for X in ${SHORTLANGS} ; do
+	SRC_URI="${SRC_URI} linguas_${X%%-*}? ( http://dev.gentooexperimental.org/~anarchy/${P}-xpi//${P}-${X}.xpi )"
+ 	IUSE="${IUSE} linguas_${X%%-*}"
+ done
+
 DEPEND="virtual/libc"
 RDEPEND="|| ( (	x11-libs/libXrender
 		x11-libs/libXt
@@ -34,6 +47,32 @@
 
 S=${WORKDIR}/thunderbird
 
+linguas() {
+	linguas=
+	local LANG
+	for LANG in ${LINGUAS}; do
+		if hasq ${LANG} en en_US; then
+			hasq en ${linguas} || \
+				linguas="${linguas:+"${linguas} "}en"
+			continue
+		elif hasq ${LANG} ${LANGS//-/_}; 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-thunderbird does not support the ${LANG} LINGUA"
+	done
+}
+
 pkg_setup() {
 	# This is a binary x86 package => ABI=x86
 	# Please keep this in future versions
@@ -41,6 +80,15 @@
 	has_multilib_profile && ABI="x86"
 }
 
+src_unpack() {
+	unpack ${A}
+
+	linguas
+	for X in ${linguas}; do
+		[[ ${X} != en ]] && xpi_unpack ${P}-${X}.xpi
+	done
+}
+
 src_install() {
 	declare MOZILLA_FIVE_HOME=/opt/thunderbird
 
@@ -48,6 +96,20 @@
 	dodir ${MOZILLA_FIVE_HOME%/*}
 	mv ${S} ${D}${MOZILLA_FIVE_HOME}
 
+	linguas
+	for X in ${linguas}; do
+		[[ ${X} != en ]] && xpi_install ${WORKDIR}/${P}-${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/all-thunderbird.js \
+			${D}${MOZILLA_FIVE_HOME}/defaults/pref/all-l10n.js
+		eend $? || die "sed failed to change locale"
+	fi
+
 	# Install /usr/bin/thunderbird-bin
 	install_mozilla_launcher_stub thunderbird-bin ${MOZILLA_FIVE_HOME}