diff options
Diffstat (limited to 'Library')
| -rwxr-xr-x | Library/Contributions/cmd/brew-aspell-dictionaries | 53 | ||||
| -rwxr-xr-x | Library/Contributions/cmd/brew-aspell-dictionaries.rb | 36 |
2 files changed, 36 insertions, 53 deletions
diff --git a/Library/Contributions/cmd/brew-aspell-dictionaries b/Library/Contributions/cmd/brew-aspell-dictionaries deleted file mode 100755 index 86ce14904..000000000 --- a/Library/Contributions/cmd/brew-aspell-dictionaries +++ /dev/null @@ -1,53 +0,0 @@ -#!/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://ftpmirror.gnu.org/aspell/dict -dictionaries_mirror=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 -sL ${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 }'` - mirror="${dictionaries_mirror}/"`echo $dict | awk -F\" '{ print $2 }'` - langs="${langs} ${lang}" - echo "Calculating sha1 for formula: ${lang}" - sha1=`curl -sL "${url}" | shasum | awk '{print $1}'` - cat <<EOF >> $brew_formulae_tmp_file -class Aspell_${lang} < AspellLang - url '${url}' - mirror '${mirror}' - sha1 '${sha1}' -end -EOF -done - -cat <<EOF >> $brew_formulae_tmp_file -class Aspell < Formula - def self.available_languages - %w(${langs}) - end -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" diff --git a/Library/Contributions/cmd/brew-aspell-dictionaries.rb b/Library/Contributions/cmd/brew-aspell-dictionaries.rb new file mode 100755 index 000000000..4816f7239 --- /dev/null +++ b/Library/Contributions/cmd/brew-aspell-dictionaries.rb @@ -0,0 +1,36 @@ +require 'open-uri' +require 'resource' +require 'formula' + +dict_url = "http://ftpmirror.gnu.org/aspell/dict" +dict_mirror = "http://ftp.gnu.org/gnu/aspell/dict" + +resources = {} + +open("#{dict_url}/0index.html") do |content| + content.each_line do |line| + break if %r{^</table} === line + next unless /^<tr><td><a/ === line + + fields = line.split('"') + lang, path = fields[1], fields[3] + lang.gsub!("-", "_") + resources[lang] = path + end +end + +resources.each_pair do |lang, path| + r = Resource.new(lang, "#{dict_url}/#{path}") + r.owner = Formula.factory('aspell') + + nostdout { r.fetch } + + puts <<-EOS + resource '#{lang}' do + url '#{dict_url}/#{path}' + mirror '#{dict_mirror}/#{path}' + sha1 '#{r.cached_download.sha1}' + end + +EOS +end |
