Bram Moolenaar | 7d1f5db | 2005-07-03 21:39:27 +0000 | [diff] [blame] | 1 | # Aap recipe for English Vim spell files. |
| 2 | |
| 3 | # Use a freshly compiled Vim if it exists. |
| 4 | @if os.path.exists('../../../src/vim'): |
| 5 | VIM = ../../../src/vim |
| 6 | @else: |
| 7 | VIM = vim |
| 8 | |
| 9 | SPELLDIR = .. |
| 10 | FILES = en_US.aff en_US.dic |
| 11 | en_AU.aff en_AU.dic |
| 12 | en_CA.aff en_CA.dic |
| 13 | en_GB.aff en_GB.dic |
| 14 | en_NZ.aff en_NZ.dic |
| 15 | |
| 16 | all: $(SPELLDIR)/en.latin1.spl $(SPELLDIR)/en.utf-8.spl \ |
| 17 | $(SPELLDIR)/en.ascii.spl ../README_en.txt |
| 18 | |
| 19 | $(SPELLDIR)/en.latin1.spl : $(VIM) $(FILES) |
| 20 | :sys env LANG=en_US.ISO8859-1 |
| 21 | $(VIM) -e -c "mkspell! $(SPELLDIR)/en en_US en_AU en_CA en_GB |
| 22 | en_NZ" -c q |
| 23 | |
| 24 | $(SPELLDIR)/en.utf-8.spl : $(VIM) $(FILES) |
| 25 | :sys env LANG=en_US.UTF-8 |
| 26 | $(VIM) -e -c "mkspell! $(SPELLDIR)/en en_US en_AU en_CA en_GB |
| 27 | en_NZ" -c q |
| 28 | |
| 29 | $(SPELLDIR)/en.ascii.spl : $(VIM) $(FILES) |
| 30 | :sys $(VIM) -e -c "mkspell! -ascii $(SPELLDIR)/en |
| 31 | en_US en_AU en_CA en_GB en_NZ" -c q |
| 32 | |
| 33 | ../README_en.txt: README_en_US.txt README_en_AU.txt |
| 34 | :print en_US >!$target |
| 35 | :cat README_en_US.txt | :eval re.sub('\r', '', stdin) >>$target |
| 36 | :print =================================================== >>$target |
| 37 | :print en_AU: >>$target |
| 38 | :cat README_en_AU.txt | :eval re.sub('\r', '', stdin) >>$target |
| 39 | :print =================================================== >>$target |
| 40 | :print en_CA: >>$target |
| 41 | :cat README_en_CA.txt | :eval re.sub('\r', '', stdin) >>$target |
| 42 | :print =================================================== >>$target |
| 43 | :print en_GB: >>$target |
| 44 | :cat README_en_GB.txt | :eval re.sub('\r', '', stdin) >>$target |
| 45 | :print =================================================== >>$target |
| 46 | :print en_NZ: >>$target |
| 47 | :cat README_en_NZ.txt | :eval re.sub('\r', '', stdin) >>$target |
| 48 | |
| 49 | # |
| 50 | # Fetching the files from OpenOffice.org. |
| 51 | # |
| 52 | OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries |
| 53 | :attr {fetch = $(OODIR)/%file%} en_US.zip en_CA.zip en_NZ.zip |
| 54 | en_GB.zip en_AU.zip |
| 55 | |
| 56 | # The files don't depend on the .zip file so that we can delete it. |
| 57 | # Only download the zip file if the targets don't exist. |
| 58 | en_US.aff en_US.dic: {buildcheck=} |
| 59 | :assertpkg unzip patch |
| 60 | :fetch en_US.zip |
| 61 | :sys $(UNZIP) en_US.zip |
| 62 | :delete en_US.zip |
| 63 | @if not os.path.exists('en_US.orig.aff'): |
| 64 | :copy en_US.aff en_US.orig.aff |
| 65 | @if not os.path.exists('en_US.orig.dic'): |
| 66 | :copy en_US.aff en_US.orig.dic |
| 67 | :sys patch <en_US.diff |
| 68 | |
| 69 | en_AU.aff en_AU.dic: {buildcheck=} |
| 70 | :assertpkg unzip patch |
| 71 | :fetch en_AU.zip |
| 72 | :sys $(UNZIP) en_AU.zip |
| 73 | :delete en_AU.zip |
| 74 | @if not os.path.exists('en_AU.orig.aff'): |
| 75 | :copy en_AU.aff en_AU.orig.aff |
| 76 | @if not os.path.exists('en_AU.orig.dic'): |
| 77 | :copy en_AU.aff en_AU.orig.dic |
| 78 | :sys patch <en_AU.diff |
| 79 | |
| 80 | en_CA.aff en_CA.dic: {buildcheck=} |
| 81 | :assertpkg unzip patch |
| 82 | :fetch en_CA.zip |
| 83 | :sys $(UNZIP) en_CA.zip |
| 84 | :delete en_CA.zip |
| 85 | @if not os.path.exists('en_CA.orig.aff'): |
| 86 | :copy en_CA.aff en_CA.orig.aff |
| 87 | @if not os.path.exists('en_CA.orig.dic'): |
| 88 | :copy en_CA.aff en_CA.orig.dic |
| 89 | :sys patch <en_CA.diff |
| 90 | |
| 91 | en_GB.aff en_GB.dic: {buildcheck=} |
| 92 | :assertpkg unzip patch |
| 93 | :fetch en_GB.zip |
| 94 | :sys $(UNZIP) en_GB.zip |
| 95 | :delete en_GB.zip |
| 96 | :delete dictionary.lst.example |
| 97 | @if not os.path.exists('en_GB.orig.aff'): |
| 98 | :copy en_GB.aff en_GB.orig.aff |
| 99 | @if not os.path.exists('en_GB.orig.dic'): |
| 100 | :copy en_GB.aff en_GB.orig.dic |
| 101 | :sys patch <en_GB.diff |
| 102 | |
| 103 | en_NZ.aff en_NZ.dic: {buildcheck=} |
| 104 | :assertpkg unzip patch |
| 105 | :fetch en_NZ.zip |
| 106 | :sys $(UNZIP) en_NZ.zip |
| 107 | :delete en_NZ.zip |
| 108 | @if not os.path.exists('en_NZ.orig.aff'): |
| 109 | :copy en_NZ.aff en_NZ.orig.aff |
| 110 | @if not os.path.exists('en_NZ.orig.dic'): |
| 111 | :copy en_NZ.aff en_NZ.orig.dic |
| 112 | :sys patch <en_NZ.diff |
| 113 | |
| 114 | |
| 115 | # Generate diff files, so that others can get the OpenOffice files and apply |
| 116 | # the diffs to get the Vim versions. |
| 117 | |
| 118 | diff: |
| 119 | :assertpkg diff |
| 120 | :sys {force} diff -a -C 1 en_US.orig.aff en_US.aff >en_US.diff |
| 121 | :sys {force} diff -a -C 1 en_US.orig.dic en_US.dic >>en_US.diff |
| 122 | :sys {force} diff -a -C 1 en_AU.orig.aff en_AU.aff >en_AU.diff |
| 123 | :sys {force} diff -a -C 1 en_AU.orig.dic en_AU.dic >>en_AU.diff |
| 124 | :sys {force} diff -a -C 1 en_CA.orig.aff en_CA.aff >en_CA.diff |
| 125 | :sys {force} diff -a -C 1 en_CA.orig.dic en_CA.dic >>en_CA.diff |
| 126 | :sys {force} diff -a -C 1 en_GB.orig.aff en_GB.aff >en_GB.diff |
| 127 | :sys {force} diff -a -C 1 en_GB.orig.dic en_GB.dic >>en_GB.diff |
| 128 | :sys {force} diff -a -C 1 en_NZ.orig.aff en_NZ.aff >en_NZ.diff |
| 129 | :sys {force} diff -a -C 1 en_NZ.orig.dic en_NZ.dic >>en_NZ.diff |
| 130 | |
| 131 | |
| 132 | # Check for updated OpenOffice spell files. When there are changes the |
| 133 | # ".new.aff" and ".new.dic" files are left behind for manual inspection. |
| 134 | |
| 135 | check: check-us check-au check-ca check-gb check-nz |
| 136 | |
| 137 | check-us: |
| 138 | :assertpkg unzip diff |
| 139 | :fetch en_US.zip |
| 140 | :mkdir tmp |
| 141 | :cd tmp |
| 142 | @try: |
| 143 | @import stat |
| 144 | :sys $(UNZIP) ../en_US.zip |
| 145 | :sys {force} diff ../en_US.orig.aff en_US.aff >d |
| 146 | @if os.stat('d')[stat.ST_SIZE] > 0: |
| 147 | :copy en_US.aff ../en_US.new.aff |
| 148 | :sys {force} diff ../en_US.orig.dic en_US.dic >d |
| 149 | @if os.stat('d')[stat.ST_SIZE] > 0: |
| 150 | :copy en_US.dic ../en_US.new.dic |
| 151 | @finally: |
| 152 | :cd .. |
| 153 | :delete {r}{f}{q} tmp |
| 154 | :delete en_US.zip |
| 155 | |
| 156 | check-au: |
| 157 | :assertpkg unzip diff |
| 158 | :fetch en_AU.zip |
| 159 | :mkdir tmp |
| 160 | :cd tmp |
| 161 | @try: |
| 162 | @import stat |
| 163 | :sys $(UNZIP) ../en_AU.zip |
| 164 | :sys {force} diff ../en_AU.orig.aff en_AU.aff >d |
| 165 | @if os.stat('d')[stat.ST_SIZE] > 0: |
| 166 | :copy en_AU.aff ../en_AU.new.aff |
| 167 | :sys {force} diff ../en_AU.orig.dic en_AU.dic >d |
| 168 | @if os.stat('d')[stat.ST_SIZE] > 0: |
| 169 | :copy en_AU.dic ../en_AU.new.dic |
| 170 | @finally: |
| 171 | :cd .. |
| 172 | :delete {r}{f}{q} tmp |
| 173 | :delete en_AU.zip |
| 174 | |
| 175 | check-ca: |
| 176 | :assertpkg unzip diff |
| 177 | :fetch en_CA.zip |
| 178 | :mkdir tmp |
| 179 | :cd tmp |
| 180 | @try: |
| 181 | @import stat |
| 182 | :sys $(UNZIP) ../en_CA.zip |
| 183 | :sys {force} diff ../en_CA.orig.aff en_CA.aff >d |
| 184 | @if os.stat('d')[stat.ST_SIZE] > 0: |
| 185 | :copy en_CA.aff ../en_CA.new.aff |
| 186 | :sys {force} diff ../en_CA.orig.dic en_CA.dic >d |
| 187 | @if os.stat('d')[stat.ST_SIZE] > 0: |
| 188 | :copy en_CA.dic ../en_CA.new.dic |
| 189 | @finally: |
| 190 | :cd .. |
| 191 | :delete {r}{f}{q} tmp |
| 192 | :delete en_CA.zip |
| 193 | |
| 194 | check-gb: |
| 195 | :assertpkg unzip diff |
| 196 | :fetch en_GB.zip |
| 197 | :mkdir tmp |
| 198 | :cd tmp |
| 199 | @try: |
| 200 | @import stat |
| 201 | :sys $(UNZIP) ../en_GB.zip |
| 202 | :sys {force} diff ../en_GB.orig.aff en_GB.aff >d |
| 203 | @if os.stat('d')[stat.ST_SIZE] > 0: |
| 204 | :copy en_GB.aff ../en_GB.new.aff |
| 205 | :sys {force} diff ../en_GB.orig.dic en_GB.dic >d |
| 206 | @if os.stat('d')[stat.ST_SIZE] > 0: |
| 207 | :copy en_GB.dic ../en_GB.new.dic |
| 208 | @finally: |
| 209 | :cd .. |
| 210 | :delete {r}{f}{q} tmp |
| 211 | :delete en_GB.zip |
| 212 | |
| 213 | check-nz: |
| 214 | :assertpkg unzip diff |
| 215 | :fetch en_NZ.zip |
| 216 | :mkdir tmp |
| 217 | :cd tmp |
| 218 | @try: |
| 219 | @import stat |
| 220 | :sys $(UNZIP) ../en_NZ.zip |
| 221 | :sys {force} diff ../en_NZ.orig.aff en_NZ.aff >d |
| 222 | @if os.stat('d')[stat.ST_SIZE] > 0: |
| 223 | :copy en_NZ.aff ../en_NZ.new.aff |
| 224 | :sys {force} diff ../en_NZ.orig.dic en_NZ.dic >d |
| 225 | @if os.stat('d')[stat.ST_SIZE] > 0: |
| 226 | :copy en_NZ.dic ../en_NZ.new.dic |
| 227 | @finally: |
| 228 | :cd .. |
| 229 | :delete {r}{f}{q} tmp |
| 230 | :delete en_NZ.zip |
| 231 | |
| 232 | # vim: set sts=4 sw=4 : |