summaryrefslogtreecommitdiffstats
path: root/runtime/spell/th/main.aap
blob: e2ec6606d88986f2ba692ff608cff27547cc12c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# Aap recipe for Thai 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    = th.aff th.dic

all: $SPELLDIR/th.utf-8.spl ../README_th.txt

$SPELLDIR/th.utf-8.spl : $FILES
        :sys $VIM -u NONE -e -c "set enc=utf-8"
                -c "mkspell! $SPELLDIR/th th" -c q

../README_th.txt: README_th.txt
        :copy $source $target

#
# Fetching the files from http://sesrc.th.net
#
HTTPDIR = http://seasrc.th.net/dict
ZIPNAME = th_18057.zip
FNAME = TH_18057.TXT

:attr {fetch = $HTTPDIR/%file%} $ZIPNAME

# 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.
#
# We get a plain list of Thai words and make the .dic file from that.  The .aff
# file is made from scratch.
th.aff th.dic: {buildcheck=}
        :assertpkg unzip iconv
        :fetch $ZIPNAME
        :sys unzip $ZIPNAME
        :sys {force} iconv -c -f TIS-620 -t UTF-8 <$FNAME >th.dic
        :delete $ZIPNAME $FNAME

        :delete {force} th.aff
        :touch {force} th.aff
        @if not os.path.exists('th.orig.aff'):
            :touch {force} th.orig.aff
        @if not os.path.exists('th.orig.dic'):
            :copy th.dic th.orig.dic
        @if os.path.exists('th.diff'):
            :sys patch <th.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 -N -a -C 1 th.orig.aff th.aff >th.diff
        :sys {force} diff -a -C 1 th.orig.dic th.dic >>th.diff


# Check for updated spell files.  When there are changes the
# ".new.aff" and ".new.dic" files are left behind for manual inspection.

check:
        :print Sorry, not supported.