diff --git a/runtime/spell/lt/lt_LT.diff b/runtime/spell/lt/lt_LT.diff
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/runtime/spell/lt/lt_LT.diff
diff --git a/runtime/spell/lt/main.aap b/runtime/spell/lt/main.aap
new file mode 100644
index 0000000..92edad2
--- /dev/null
+++ b/runtime/spell/lt/main.aap
@@ -0,0 +1,78 @@
+# Aap recipe for Lithuanian 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    = lt_LT.aff lt_LT.dic
+
+all: $SPELLDIR/lt.iso-8859-13.spl $SPELLDIR/lt.utf-8.spl \
+         ../README_lt.txt
+
+$SPELLDIR/lt.iso-8859-13.spl : $FILES
+        :sys env LANG=lt_LT.ISO8859-13 $VIM -u NONE -e -c "mkspell! $SPELLDIR/lt lt_LT" -c q
+
+$SPELLDIR/lt.utf-8.spl : $FILES
+        :sys env LANG=lt_LT.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/lt lt_LT" -c q
+
+../README_lt.txt: README_lt_LT.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%} lt_LT.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.
+# This is a bit tricky, since the file name includes the date.
+lt_LT.aff lt_LT.dic: {buildcheck=}
+        :assertpkg unzip patch
+        :fetch lt_LT.zip
+        :sys $UNZIP lt_LT.zip
+        :delete lt_LT.zip
+        @if not os.path.exists('lt_LT.orig.aff'):
+            :copy lt_LT.aff lt_LT.orig.aff
+        @if not os.path.exists('lt_LT.orig.dic'):
+            :copy lt_LT.dic lt_LT.orig.dic
+        @if os.path.exists('lt_LT.diff'):
+            :sys patch <lt_LT.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 lt_LT.orig.aff lt_LT.aff >lt_LT.diff
+        :sys {force} diff -a -C 1 lt_LT.orig.dic lt_LT.dic >>lt_LT.diff
+
+
+# Check for updated spell files.  When there are changes the
+# ".new.aff" and ".new.dic" files are left behind for manual inspection.
+
+check:
+        :assertpkg unzip diff
+        :fetch lt_LT.zip
+        :mkdir tmp
+        :cd tmp
+        @try:
+            @import stat
+            :sys $UNZIP ../lt_LT.zip
+            :sys {force} diff ../lt_LT.orig.aff lt_LT.aff >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy lt_LT.aff ../lt_LT.new.aff
+            :sys {force} diff ../lt_LT.orig.dic lt_LT.dic >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy lt_LT.dic ../lt_LT.new.dic
+        @finally:
+            :cd ..
+            :delete {r}{f}{q} tmp
+            :delete lt_LT.zip
+
+
+# vim: set sts=4 sw=4 :
