brew-aspell-dictionaries - generate aspell formulae
This script fetches the current list of aspell dictionaries from the gnu server and generates formulae that can then be included into the aspell formula. This makes updating current dictionaries and adding new ones easier. Tweaked by Mike to generate SHA1s instead of MD5s. Closes Homebrew/homebrew#12180. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
This commit is contained in:
parent
ffd6e7f340
commit
1deb3c0214
49
Library/Contributions/cmds/brew-aspell-dictionaries
Executable file
49
Library/Contributions/cmds/brew-aspell-dictionaries
Executable file
@ -0,0 +1,49 @@
|
|||||||
|
#!/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.
|
||||||
|
|
||||||
|
dictionaries_url=http://ftp.gnu.org/gnu/aspell/dict
|
||||||
|
tmp_file=`mktemp -t brew_aspell_dictionaries`
|
||||||
|
brew_formulae_tmp_file=`mktemp -t brew_aspell_dictionaries_formulae`
|
||||||
|
|
||||||
|
echo "Downloading aspell dictionaries Index"
|
||||||
|
curl -s ${dictionaries_url}/0index.html \
|
||||||
|
| 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 }'`
|
||||||
|
langs="${langs} ${lang}"
|
||||||
|
echo "Calculating sha1 for formula: ${lang}"
|
||||||
|
sha1=`curl -s "${url}" | shasum | awk '{print $1}'`
|
||||||
|
cat <<EOF >> $brew_formulae_tmp_file
|
||||||
|
class Aspell_${lang} < AspellLang
|
||||||
|
url '${url}'
|
||||||
|
sha1 '${sha1}'
|
||||||
|
end
|
||||||
|
EOF
|
||||||
|
done
|
||||||
|
|
||||||
|
cat <<EOF >> $brew_formulae_tmp_file
|
||||||
|
def available_languages
|
||||||
|
%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"
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user