2012-09-03 19:02:25 -07:00
|
|
|
#!/bin/sh
|
|
|
|
#
|
|
|
|
# brew-aspell-dictionaries - update aspell formula to include latest dictionaries
|
|
|
|
# This script fetches the current index for the aspell dictionaries gnu server,
|
|
|
|
# it parses the html to retrieve the URL to the dictionary archive for each
|
|
|
|
# available language.
|
|
|
|
# The script then calculates the sha1 for each dictionary archive and
|
|
|
|
# generates a brew formula for each language.
|
|
|
|
# The result can then to be merged into the aspell formula, to update
|
|
|
|
# the available dictionary formulae.
|
|
|
|
|
2012-09-03 23:13:43 -05:00
|
|
|
dictionaries_url=http://ftpmirror.gnu.org/aspell/dict
|
|
|
|
dictionaries_mirror=http://ftp.gnu.org/gnu/aspell/dict
|
2012-09-03 19:02:25 -07:00
|
|
|
tmp_file=`mktemp -t brew_aspell_dictionaries`
|
|
|
|
brew_formulae_tmp_file=`mktemp -t brew_aspell_dictionaries_formulae`
|
|
|
|
|
|
|
|
echo "Downloading aspell dictionaries Index"
|
2012-09-03 23:13:43 -05:00
|
|
|
curl -sL ${dictionaries_url}/0index.html \
|
2012-09-03 19:02:25 -07:00
|
|
|
| egrep '^(<tr><td><a|</table)' \
|
|
|
|
| cut -d\" -f2,4 \
|
|
|
|
> $tmp_file
|
|
|
|
|
|
|
|
echo "# BEGIN generated with `basename $0`" > $brew_formulae_tmp_file
|
|
|
|
langs=""
|
|
|
|
for dict in `cat $tmp_file`; do
|
|
|
|
[ "${dict}" = "</table>" ] && break # only read the entries in the first table, which lists the dictionaries for aspell 0.60
|
|
|
|
lang=`echo $dict | awk -F\" '{ gsub("-", "_", $1); print $1 }'`
|
|
|
|
url="${dictionaries_url}/"`echo $dict | awk -F\" '{ print $2 }'`
|
2012-09-03 23:13:43 -05:00
|
|
|
mirror="${dictionaries_mirror}/"`echo $dict | awk -F\" '{ print $2 }'`
|
2012-09-03 19:02:25 -07:00
|
|
|
langs="${langs} ${lang}"
|
|
|
|
echo "Calculating sha1 for formula: ${lang}"
|
2012-09-03 23:13:43 -05:00
|
|
|
sha1=`curl -sL "${url}" | shasum | awk '{print $1}'`
|
2012-09-03 19:02:25 -07:00
|
|
|
cat <<EOF >> $brew_formulae_tmp_file
|
|
|
|
class Aspell_${lang} < AspellLang
|
|
|
|
url '${url}'
|
2012-09-03 23:13:43 -05:00
|
|
|
mirror '${mirror}'
|
2012-09-03 19:02:25 -07:00
|
|
|
sha1 '${sha1}'
|
|
|
|
end
|
|
|
|
EOF
|
|
|
|
done
|
|
|
|
|
|
|
|
cat <<EOF >> $brew_formulae_tmp_file
|
2013-04-21 10:44:24 +02:00
|
|
|
def aspell_available_languages
|
2012-09-03 19:02:25 -07:00
|
|
|
%w(${langs})
|
|
|
|
end
|
|
|
|
# END generated with `basename $0`
|
|
|
|
EOF
|
|
|
|
|
|
|
|
rm $tmp_file
|
|
|
|
|
|
|
|
echo "The formulae for the aspell dictionaries have been written to\n$brew_formulae_tmp_file"
|