446
|
1 # Aap recipe for German Vim spell files.
|
481
|
2 #
|
|
3 # Since there is a big discussion about whether to use the old or the new
|
|
4 # spelling rules, both have been included.
|
|
5 # "de": all possible words allowed
|
|
6 # "de_de": old and new German spelling
|
|
7 # "de_19": old German spelling
|
|
8 # "de_20": new German spelling
|
|
9 # "de_AT": Austrian spelling
|
|
10 # "de_CH": Swiss spelling
|
388
|
11
|
|
12 # Use a freshly compiled Vim if it exists.
|
|
13 @if os.path.exists('../../../src/vim'):
|
|
14 VIM = ../../../src/vim
|
|
15 @else:
|
456
|
16 :progsearch VIM vim
|
388
|
17
|
481
|
18 REGIONS = DE 19 20 AT CH
|
|
19 DE_REGIONS = de_$*REGIONS
|
|
20
|
|
21 SPELLDIR = ..
|
|
22 FILES = de_$*(REGIONS).aff de_$*(REGIONS).dic
|
388
|
23
|
481
|
24 ZIPFILE_DE = de_DE_comb.zip
|
499
|
25 ZIPFILE_19 = de_OLDSPELL.zip
|
481
|
26 ZIPFILE_20 = de_DE_neu.zip
|
499
|
27 ZIPFILE_AT = de_DE.zip
|
481
|
28 ZIPFILE_CH = de_CH.zip
|
|
29 ZIPFILES = $ZIPFILE_DE $ZIPFILE_19 $ZIPFILE_20 $ZIPFILE_AT $ZIPFILE_CH
|
388
|
30
|
481
|
31 READMES = README_de_$*(REGIONS).txt
|
|
32
|
|
33 all: $SPELLDIR/de.latin1.spl $SPELLDIR/de.utf-8.spl ../README_de.txt
|
|
34
|
482
|
35 $SPELLDIR/de.latin1.spl : $FILES
|
388
|
36 :sys env LANG=de_DE.ISO8859-1
|
481
|
37 $VIM -u NONE -e -c "mkspell! $SPELLDIR/de $DE_REGIONS" -c q
|
388
|
38
|
482
|
39 $SPELLDIR/de.utf-8.spl : $FILES
|
388
|
40 :sys env LANG=de_DE.UTF-8
|
481
|
41 $VIM -u NONE -e -c "mkspell! $SPELLDIR/de $DE_REGIONS" -c q
|
388
|
42
|
481
|
43 ../README_de.txt: $READMES
|
|
44 :print de_DE (combined) >! $target
|
|
45 :cat README_de_DE.txt >> $target
|
|
46 :print =================================================== >>$target
|
|
47 :print de_19 (old) >> $target
|
|
48 :cat README_de_19.txt >> $target
|
|
49 :print =================================================== >>$target
|
|
50 :print de_20 (new) >> $target
|
|
51 :cat README_de_20.txt >> $target
|
|
52 :print =================================================== >>$target
|
|
53 :print de_AT (Austria) >> $target
|
|
54 :cat README_de_AT.txt >> $target
|
|
55 :print =================================================== >>$target
|
|
56 :print de_CH (Swiss) >> $target
|
|
57 :cat README_de_CH.txt >> $target
|
388
|
58
|
|
59 #
|
499
|
60 # Fetching the files from the OpenOffice.org site.
|
|
61 # The OLDSPELL file comes from elsewhere
|
388
|
62 #
|
|
63 OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries
|
499
|
64 DEDIR = http://www.j3e.de/myspell
|
481
|
65 :attr {fetch = $OODIR/%file%} $ZIPFILES
|
499
|
66 :attr {fetch = $DEDIR/%file%} $ZIPFILE_19
|
388
|
67
|
|
68 # The files don't depend on the .zip file so that we can delete it.
|
|
69 # Only download the zip file if the targets don't exist.
|
|
70 de_DE.aff de_DE.dic: {buildcheck=}
|
|
71 :assertpkg unzip patch
|
481
|
72 :fetch $ZIPFILE_DE
|
|
73 :sys $UNZIP $ZIPFILE_DE
|
|
74 :delete $ZIPFILE_DE
|
388
|
75 :move de_DE_comb.aff de_DE.aff
|
|
76 :move de_DE_comb.dic de_DE.dic
|
481
|
77 :move README_de_DE_comb.txt README_de_DE.txt
|
388
|
78 @if not os.path.exists('de_DE.orig.aff'):
|
481
|
79 :copy de_DE.aff de_DE.orig.aff
|
388
|
80 @if not os.path.exists('de_DE.orig.dic'):
|
481
|
81 :copy de_DE.dic de_DE.orig.dic
|
456
|
82 @if os.path.exists('de_DE.diff'):
|
|
83 :sys patch <de_DE.diff
|
388
|
84
|
481
|
85 de_19.aff de_19.dic: {buildcheck=}
|
|
86 :assertpkg unzip patch
|
|
87 :fetch $ZIPFILE_19
|
|
88 :sys $UNZIP $ZIPFILE_19
|
|
89 :delete $ZIPFILE_19
|
499
|
90 :move de_OLDSPELL.aff de_19.aff
|
|
91 :move de_OLDSPELL.dic de_19.dic
|
|
92 # there is no README file
|
|
93 :print There is no README file for the old spelling >!README_de_19.txt
|
481
|
94 @if not os.path.exists('de_19.orig.aff'):
|
|
95 :copy de_19.aff de_19.orig.aff
|
|
96 @if not os.path.exists('de_19.orig.dic'):
|
|
97 :copy de_19.dic de_19.orig.dic
|
|
98 @if os.path.exists('de_19.diff'):
|
|
99 :sys patch <de_19.diff
|
|
100
|
|
101 de_20.aff de_20.dic: {buildcheck=}
|
|
102 :assertpkg unzip patch
|
|
103 :fetch $ZIPFILE_20
|
|
104 :sys $UNZIP $ZIPFILE_20
|
|
105 :delete $ZIPFILE_20
|
|
106 :move de_DE_neu.aff de_20.aff
|
|
107 :move de_DE_neu.dic de_20.dic
|
|
108 :move README_de_DE_neu.txt README_de_20.txt
|
|
109 @if not os.path.exists('de_20.orig.aff'):
|
|
110 :copy de_20.aff de_20.orig.aff
|
|
111 @if not os.path.exists('de_20.orig.dic'):
|
|
112 :copy de_20.dic de_20.orig.dic
|
|
113 @if os.path.exists('de_20.diff'):
|
|
114 :sys patch <de_20.diff
|
|
115
|
499
|
116 # The de_AT.dic is included in de_DE.zip. We rename the files and concatenate
|
|
117 # them. Complication is that de_AT.dic is missing a newline at the end.
|
|
118 # And the de_DE.dic file is used for something else.
|
|
119 de_AT.aff de_AT.dic: {buildcheck=}
|
481
|
120 :assertpkg unzip patch
|
499
|
121
|
|
122 # Move de_DE files out of the way.
|
|
123 @if os.path.exists('de_DE.aff'):
|
|
124 :move de_DE.aff de_DE.temp.aff
|
|
125 @if os.path.exists('de_DE.dic'):
|
|
126 :move de_DE.dic de_DE.temp.dic
|
|
127 @if os.path.exists('README_de_DE.txt'):
|
|
128 :move README_de_DE.txt README_de_DE.temp.txt
|
|
129
|
481
|
130 :fetch $ZIPFILE_AT
|
|
131 :sys $UNZIP $ZIPFILE_AT
|
|
132 :delete $ZIPFILE_AT
|
499
|
133
|
481
|
134 :print >>de_AT.dic
|
565
|
135 # delete the first line, the word count
|
2152
|
136 :sys $VIM -u NONE de_DE.dic -e -c 1delete -c wq
|
499
|
137 :cat de_DE.dic >>de_AT.dic
|
|
138 :delete de_DE.dic
|
|
139 :move de_DE.aff de_AT.aff
|
|
140 :move README_de_DE.txt README_de_AT.txt
|
|
141
|
|
142 @if os.path.exists('de_DE.temp.aff'):
|
|
143 :move de_DE.temp.aff de_DE.aff
|
|
144 @if os.path.exists('de_DE.temp.dic'):
|
|
145 :move de_DE.temp.dic de_DE.dic
|
|
146 @if os.path.exists('README_de_DE.temp.txt'):
|
|
147 :move README_de_DE.temp.txt README_de_DE.txt
|
|
148
|
481
|
149 @if not os.path.exists('de_AT.orig.aff'):
|
|
150 :copy de_AT.aff de_AT.orig.aff
|
|
151 @if not os.path.exists('de_AT.orig.dic'):
|
|
152 :copy de_AT.dic de_AT.orig.dic
|
|
153 @if os.path.exists('de_AT.diff'):
|
|
154 :sys patch <de_AT.diff
|
|
155
|
|
156 de_CH.aff de_CH.dic: {buildcheck=}
|
|
157 :assertpkg unzip patch
|
|
158 :fetch $ZIPFILE_CH
|
|
159 :sys $UNZIP $ZIPFILE_CH
|
|
160 :delete $ZIPFILE_CH
|
|
161 @if not os.path.exists('de_CH.orig.aff'):
|
|
162 :copy de_CH.aff de_CH.orig.aff
|
|
163 @if not os.path.exists('de_CH.orig.dic'):
|
|
164 :copy de_CH.dic de_CH.orig.dic
|
|
165 @if os.path.exists('de_CH.diff'):
|
|
166 :sys patch <de_CH.diff
|
|
167
|
388
|
168
|
|
169 # Generate diff files, so that others can get the OpenOffice files and apply
|
|
170 # the diffs to get the Vim versions.
|
|
171 diff:
|
|
172 :assertpkg diff
|
|
173 :sys {force} diff -a -C 1 de_DE.orig.aff de_DE.aff >de_DE.diff
|
|
174 :sys {force} diff -a -C 1 de_DE.orig.dic de_DE.dic >>de_DE.diff
|
481
|
175 :sys {force} diff -a -C 1 de_19.orig.aff de_19.aff >de_19.diff
|
|
176 :sys {force} diff -a -C 1 de_19.orig.dic de_19.dic >>de_19.diff
|
|
177 :sys {force} diff -a -C 1 de_20.orig.aff de_20.aff >de_20.diff
|
|
178 :sys {force} diff -a -C 1 de_20.orig.dic de_20.dic >>de_20.diff
|
|
179 :sys {force} diff -a -C 1 de_AT.orig.aff de_AT.aff >de_AT.diff
|
|
180 :sys {force} diff -a -C 1 de_AT.orig.dic de_AT.dic >>de_AT.diff
|
|
181 :sys {force} diff -a -C 1 de_CH.orig.aff de_CH.aff >de_CH.diff
|
|
182 :sys {force} diff -a -C 1 de_CH.orig.dic de_CH.dic >>de_CH.diff
|
388
|
183
|
|
184
|
|
185 # Check for updated OpenOffice spell files. When there are changes the
|
|
186 # ".new.aff" and ".new.dic" files are left behind for manual inspection.
|
|
187
|
|
188 check:
|
565
|
189 :assertpkg unzip patch
|
|
190 :fetch $ZIPFILES
|
|
191 :mkdir tmp
|
|
192 :cd tmp
|
|
193 @try:
|
|
194 # Do the _AT one first, it overwrites the _DE files.
|
|
195 :sys $UNZIP ../$ZIPFILE_AT
|
|
196 :print >>de_AT.dic
|
|
197 # delete the first line, the word count
|
2152
|
198 :sys ../$VIM -u NONE de_DE.dic -e -c 1delete -c wq
|
565
|
199 :cat de_DE.dic >>de_AT.dic
|
|
200 :delete de_DE.dic
|
|
201 :move de_DE.aff de_AT.aff
|
|
202 :move README_de_DE.txt README_de_AT.txt
|
|
203
|
|
204 :sys $UNZIP ../$ZIPFILE_DE
|
|
205 :move de_DE_comb.aff de_DE.aff
|
|
206 :move de_DE_comb.dic de_DE.dic
|
|
207 :move README_de_DE_comb.txt README_de_DE.txt
|
|
208
|
|
209 :sys $UNZIP ../$ZIPFILE_19
|
|
210 :move de_OLDSPELL.aff de_19.aff
|
|
211 :move de_OLDSPELL.dic de_19.dic
|
|
212 # there is no README file
|
|
213 :print There is no README file for the old spelling >!README_de_19.txt
|
|
214 :sys $UNZIP ../$ZIPFILE_20
|
|
215 :move de_DE_neu.aff de_20.aff
|
|
216 :move de_DE_neu.dic de_20.dic
|
|
217 :move README_de_DE_neu.txt README_de_20.txt
|
|
218
|
|
219 :sys $UNZIP ../$ZIPFILE_CH
|
|
220
|
|
221 @import stat
|
|
222 @for nm in ['de_DE', 'de_19', 'de_20', 'de_AT', 'de_CH']:
|
|
223 @for ext in ['aff', 'dic']:
|
|
224 :sys {force} diff ../$(nm).orig.$ext $(nm).$ext >d
|
|
225 @if os.stat('d')[stat.ST_SIZE] > 0:
|
|
226 :copy $(nm).$ext ../$(nm).new.$ext
|
|
227 :sys {force} diff ../README_$(nm).txt README_$(nm).txt >d
|
|
228 @if os.stat('d')[stat.ST_SIZE] > 0:
|
|
229 :copy README_$(nm).txt ../README_$(nm).new.txt
|
|
230 @finally:
|
|
231 :cd ..
|
|
232 :delete {r}{f}{q} tmp
|
|
233 :delete $ZIPFILES
|
388
|
234
|
|
235
|
|
236 # vim: set sts=4 sw=4 :
|