diff --git a/runtime/spell/gl/main.aap b/runtime/spell/gl/main.aap
new file mode 100644
index 0000000..2fc012a
--- /dev/null
+++ b/runtime/spell/gl/main.aap
@@ -0,0 +1,78 @@
+# Aap recipe for Galician (Spain) Vim spell files.
+
+# Use a freshly compiled Vim if it exists.
+@if os.path.exists('../../../src/vim'):
+    VIM = ../../../src/vim
+@else:
+    :progsearch VIM vim
+
+SPELLDIR = ..
+FILES    = gl_ES.aff gl_ES.dic
+
+all: $SPELLDIR/gl.latin1.spl $SPELLDIR/gl.utf-8.spl ../README_gl.txt
+
+$SPELLDIR/gl.latin1.spl : $FILES
+        :sys env LANG=gl_ES.ISO8859-1
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/gl gl_ES" -c q
+
+$SPELLDIR/gl.utf-8.spl : $FILES
+        :sys env LANG=gl_ES.UTF-8
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/gl gl_ES" -c q
+
+../README_gl.txt : README_gl_ES.txt
+        :copy $source $target
+
+#
+# Fetching the files from OpenOffice.org.
+#
+OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries
+:attr {fetch = $OODIR/%file%} gl_ES.zip
+
+# The files don't depend on the .zip file so that we can delete it.
+# Only download the zip file if the targets don't exist.
+gl_ES.aff gl_ES.dic: {buildcheck=}
+        :assertpkg unzip patch
+        :fetch gl_ES.zip
+        :sys $UNZIP gl_ES.zip
+        :delete gl_ES.zip
+        @if not os.path.exists('gl_ES.orig.aff'):
+            :copy gl_ES.aff gl_ES.orig.aff
+        @if not os.path.exists('gl_ES.orig.dic'):
+            :copy gl_ES.dic gl_ES.orig.dic
+        @if os.path.exists('gl_ES.diff'):
+            :sys patch <gl_ES.diff
+
+
+# Generate diff files, so that others can get the OpenOffice files and apply
+# the diffs to get the Vim versions.
+
+diff:
+        :assertpkg diff
+        :sys {force} diff -a -C 1 gl_ES.orig.aff gl_ES.aff >gl_ES.diff
+        :sys {force} diff -a -C 1 gl_ES.orig.dic gl_ES.dic >>gl_ES.diff
+
+
+# Check for updated OpenOffice spell files.  When there are changes the
+# ".new.aff" and ".new.dic" files are left behind for manual inspection.
+
+check:
+        :assertpkg unzip diff
+        :fetch gl_ES.zip
+        :mkdir tmp
+        :cd tmp
+        @try:
+            @import stat
+            :sys $UNZIP ../gl_ES.zip
+            :sys {force} diff ../gl_ES.orig.aff gl_ES.aff >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy gl_ES.aff ../gl_ES.new.aff
+            :sys {force} diff ../gl_ES.orig.dic gl_ES.dic >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy gl_ES.dic ../gl_ES.new.dic
+        @finally:
+            :cd ..
+            :delete {r}{f}{q} tmp
+            :delete gl_ES.zip
+
+
+# vim: set sts=4 sw=4 :
