diff --git a/runtime/spell/el/main.aap b/runtime/spell/el/main.aap
new file mode 100644
index 0000000..51fa0d3
--- /dev/null
+++ b/runtime/spell/el/main.aap
@@ -0,0 +1,78 @@
+# Aap recipe for Greek 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    = el_GR.aff el_GR.dic
+
+all: $SPELLDIR/el.iso-8859-7.spl $SPELLDIR/el.utf-8.spl ../README_el.txt
+
+$SPELLDIR/el.iso-8859-7.spl : $FILES
+        :sys env LANG=el_GR.ISO8859-7
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/el el_GR" -c q
+
+$SPELLDIR/el.utf-8.spl : $FILES
+        :sys env LANG=el_GR.UTF-8
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/el el_GR" -c q
+
+../README_el.txt : README_el_GR.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%} el_GR.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.
+el_GR.aff el_GR.dic: {buildcheck=}
+        :assertpkg unzip patch
+        :fetch el_GR.zip
+        :sys $UNZIP el_GR.zip
+        :delete el_GR.zip
+        @if not os.path.exists('el_GR.orig.aff'):
+            :copy el_GR.aff el_GR.orig.aff
+        @if not os.path.exists('el_GR.orig.dic'):
+            :copy el_GR.dic el_GR.orig.dic
+        @if os.path.exists('el_GR.diff'):
+            :sys patch <el_GR.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 el_GR.orig.aff el_GR.aff >el_GR.diff
+        :sys {force} diff -a -C 1 el_GR.orig.dic el_GR.dic >>el_GR.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 el_GR.zip
+        :mkdir tmp
+        :cd tmp
+        @try:
+            @import stat
+            :sys $UNZIP ../el_GR.zip
+            :sys {force} diff ../el_GR.orig.aff el_GR.aff >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy el_GR.aff ../el_GR.new.aff
+            :sys {force} diff ../el_GR.orig.dic el_GR.dic >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy el_GR.dic ../el_GR.new.dic
+        @finally:
+            :cd ..
+            :delete {r}{f}{q} tmp
+            :delete el_GR.zip
+
+
+# vim: set sts=4 sw=4 :
