Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

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.
  • Loading branch information...
commit b1887338530d4e48ee9a3407afab7a275ea8dee0 1 parent 47baff9
@afh authored
Showing with 49 additions and 0 deletions.
  1. +49 −0 Library/Contributions/examples/brew-aspell-dictionaries
View
49 Library/Contributions/examples/brew-aspell-dictionaries
@@ -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 md5 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 md5 for formula: ${lang}"
+ md5=`curl -s "${url}" | md5`
+ cat <<EOF >> $brew_formulae_tmp_file
+class Aspell_${lang} <AspellLang
+ url '${url}'
+ md5 '${md5}'
+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"
+
Please sign in to comment.
Something went wrong with that request. Please try again.