Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=5348f31133b25037668f2d99d8ab035662f57576

commit 5348f31133b25037668f2d99d8ab035662f57576
Author: Michel Hermier <herm...@frugalware.org>
Date:   Fri Dec 18 23:21:47 2009 +0100

mozilla-i18n.sh

* Add a new utility include, to help to generate/maintain mozilla
translated projects.

diff --git a/source/include/mozilla-i18n.sh b/source/include/mozilla-i18n.sh
new file mode 100755
index 0000000..209e7f2
--- /dev/null
+++ b/source/include/mozilla-i18n.sh
@@ -0,0 +1,121 @@
+#! /bin/bash
+
+###
+# = mozilla-i18n.sh(3)
+# Michel Hermier <herm...@frugalware.org>
+#
+# == NAME
+# mozilla-i18n.sh - for Frugalware
+#
+# == SYNOPSIS
+# Common schema for Mozilla language packages.
+#
+# == EXAMPLE
+# --------------------------------------------------
+# _F_mozilla_i18n_name=thunderbird
+# pkgver=3.0
+# pkgrel=1
+# Finclude mozilla-i18n
+# --------------------------------------------------
+#
+# == OPTIONS
+# * _F_mozilla_i18n_name (required): The name of the Mozilla project.
+# * _F_mozilla_i18n_mirror (optional): The name of the mirror to use.
+###
+
+if [ -z "$_F_mozilla_i18n_mirror" ]; then
+       _F_mozilla_i18n_mirror=ftp://ftp.mozilla.org/pub/mozilla.org
+fi
+
+###
+# == OVERWRITTEN VARIABLES
+# * pkgname (if not set, defaults to $_F_mozilla_i18n_name-i18n)
+# * up2date
+# * url
+# * options()
+# * depends()
+# * makedepends()
+# * groups()
+# * archs()
+###
+if [ -z "$pkgname" ]; then
+       pkgname=$_F_mozilla_i18n_name-i18n
+fi
+if [ -z "$pkdesc" ]; then
+       pkgdesc="Language support for ${_F_mozilla_i18n_name^}"
+fi
+up2date="eval \"_F_archive_name=$_F_mozilla_i18n_name; Flastarchive 
$_F_mozilla_i18n_mirror/$_F_mozilla_i18n_name/releases/latest/source 
'\.source\.tar\.bz2'\""
+url="http://www.mozilla.org/projects/l10n/mlp.html";
+options=('noversrc')
+rodepends=("$_F_mozilla_i18n_name>=$pkgver" "${subpacka...@]}")
+makedepends=('unzip')
+groups=('locale-extra')
+archs=('i686' 'x86_64' 'ppc')
+
+###
+# == PROVIDED FUNCTIONS
+###
+mozilla_i18n_foreach_lang() {
+       local lang
+       for lang in `ls *.xpi 2>/dev/null | sed s/\.xpi// | sort`; do
+               $1 $lang
+       done
+}
+
+mozilla_i18n_lang_add() {
+       source=("${sour...@]}" 
"$_F_mozilla_i18n_mirror/$_F_mozilla_i18n_name/releases/$pkgver/linux-i686/xpi/$1.xpi")
+       subpkgs=("${subpk...@]}" "$_F_mozilla_i18n_name-${1,,}")
+       subdescs=("${subdes...@]}" "${1} language support for 
${_F_mozilla_i18n_name^}") # Requires a locale to name function.
+       subrodepends=("${subrodepen...@]}" "$_F_mozilla_i18n_name>=$pkgver")
+       subgroups=("${subgrou...@]}" "${groups[*]}")
+       subarchs=("${subarc...@]}" "$archs")
+       sha1sums=("${sha1su...@]}" "$2")
+}
+
+mozilla_i18n_lang_fini() {
+       rodepends=("${rodepen...@]}" "${subpk...@]}")
+}
+
+mozilla_i18n_lang_install()
+{
+       unzip -qqo $1.xpi
+       sed -i 's|chrome/||' chrome.manifest
+       Ffilerel chrome.manifest 
/usr/lib/$_F_mozilla_i18n_name/chrome/$1.manifest
+       Ffilerel chrome/$1.jar /usr/lib/$_F_mozilla_i18n_name/chrome/$1.jar
+
+       Fdirschmod  /usr/lib/$_F_mozilla_i18n_name 755
+       Ffileschmod /usr/lib/$_F_mozilla_i18n_name 644
+       Fsplit $_F_mozilla_i18n_name-${1,,} /usr/lib/$_F_mozilla_i18n_name
+}
+
+###
+# * build()
+###
+build() {
+       mozilla_i18n_foreach_lang mozilla_i18n_lang_install
+}
+
+###
+# == UTILITY FUNCTIONS
+###
+mozilla_i18n_lang_describe()
+{
+       echo "mozilla_i18n_lang_add \"$1\" '$(sha1sum $lang.xpi | awk '{print 
$1}')'"
+}
+
+if [ "$1" = "regen" ]; then
+       Finclude() { false; } # Make FrugalBuild sourcing silent
+       source ./FrugalBuild
+
+       if [ -z "$_F_mozilla_i18n_name" -o -z "$pkgver" ]; then
+               echo "_F_mozilla_i18n_name and pkgver must be defined in your 
FrugalBuid"
+               exit 1;
+       fi
+
+       rm -rf *.xpi
+       wget -r -nd 
$_F_mozilla_i18n_mirror/$_F_mozilla_i18n_name/releases/$pkgver/linux-i686/xpi/
+
+sed -i -r "/^mozilla_i18n_lang_(add|fini)/d" FrugalBuild
+       mozilla_i18n_foreach_lang mozilla_i18n_lang_describe >> FrugalBuild
+       echo "mozilla_i18n_lang_fini" >> FrugalBuild
+fi
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to