1# Aap recipe for Portuguese Vim spell files. 2# See ftp://ftp.vim.org/pub/vim/runtime/spell/README.txt 3 4# Use a freshly compiled Vim if it exists. 5@if os.path.exists('../../../src/vim'): 6 VIM = ../../../src/vim 7@else: 8 :progsearch VIM vim 9 10SPELLDIR = .. 11FILES = pt_PT.aff pt_PT.dic 12 pt_BR.aff pt_BR.dic 13 14# 15# Fetching the pt_PT files from the Natura project. 16# 17PT_FNAME = oo3x-pt-PT.oxt 18PT_DIR = http://extensions.services.openoffice.org/e-files/1196/5/$(PT_FNAME) 19:attr {fetch = $PT_DIR} $PT_FNAME 20 21# 22# Fetching the pt_BR files from BrOffice.org (Brazilian OOo). 23# 24BR_FNAME = Vero_pt_BR_V207AOC.oxt 25BR_DIR = http://www.broffice.org/files/$(BR_FNAME) 26:attr {fetch = $BR_DIR} $BR_FNAME 27 28all: $SPELLDIR/pt.latin1.spl $SPELLDIR/pt.utf-8.spl \ 29 ../README_pt.txt 30 31$SPELLDIR/pt.latin1.spl : $FILES 32 :sys env LANG=pt_PT.ISO-8859-1 LC_ALL=pt_PT.ISO-8859-1 33 $VIM -u NONE -e -c "mkspell! $SPELLDIR/pt pt_PT pt_BR" -c q 34 35$SPELLDIR/pt.utf-8.spl : $FILES 36 :sys env LANG=pt_PT.UTF-8 LC_ALL=pt_PT.UTF-8 37 $VIM -u NONE -e -c "mkspell! $SPELLDIR/pt pt_PT pt_BR" -c q 38 39../README_pt.txt: README_pt_PT.txt README_pt_BR.txt 40 :print pt_PT >!$target 41 :cat README_pt_PT.txt | :eval re.sub('\r', '', stdin) >>$target 42 :print =================================================== >>$target 43 :print pt_BR: >>$target 44 :cat README_pt_BR.txt | :eval re.sub('\r', '', stdin) >>$target 45 46# The files don't depend on the .zip file so that we can delete it. 47# Only download the zip file if the targets don't exist. 48pt_PT.aff pt_PT.dic: {buildcheck=} 49 :assertpkg unzip patch 50 :fetch $PT_FNAME 51 :sys $UNZIP $PT_FNAME 52 :delete $PT_FNAME 53 :move dictionaries/pt_PT.dic . 54 :move dictionaries/pt_PT.aff . 55 :move dictionaries/README_pt_PT.txt . 56 :move dictionaries/COPYING COPYING_pt_PT.txt 57 :delete {r}{f} dictionaries 58 :delete {r}{f} META-INF 59 :delete {f} description.xml 60 :delete {f} dictionaries.xcu 61 :delete {f} LICENSES.txt 62 # Remove grammar items and the duplicates this causes 63 :sys $VIM pt_PT.dic -u NONE -e -c "%s/\t.*//" -c "2,$$ sort u" -c update -c q 64 :sys $VIM pt_PT.aff -u NONE -e -c "%s/\S\+=\S\+$$//" -c update -c q 65 @if not os.path.exists('pt_PT.orig.aff'): 66 :copy pt_PT.aff pt_PT.orig.aff 67 @if not os.path.exists('pt_PT.orig.dic'): 68 :copy pt_PT.dic pt_PT.orig.dic 69 @if os.path.exists('pt_PT.diff'): 70 :sys patch <pt_PT.diff 71 72pt_BR.aff pt_BR.dic: {buildcheck=} 73 :assertpkg unzip patch 74 :fetch $BR_FNAME 75 :sys $UNZIP $BR_FNAME 76 :delete $BR_FNAME 77 :delete {f} description.xml 78 :delete {f} dictionaries.xcu 79 :delete {f} hyph_pt_BR.dic 80 :delete {r}{f} META-INF 81 :delete {f} README_en.TXT 82 :delete {f} README_hyph_pt_BR.TXT 83 :sys $VIM README_pt_BR.TXT -u NONE -N -e -c "set ff=unix" -c update -c q 84 :move README_pt_BR.TXT README_pt_BR.txt 85 86 :sys $VIM pt_BR.dic -u NONE -N -e -c "set ff=unix" -c update -c q 87 :sys $VIM pt_BR.aff -u NONE -N -e -c "set ff=unix" -c update -c q 88 @if not os.path.exists('pt_BR.orig.aff'): 89 :copy pt_BR.aff pt_BR.orig.aff 90 @if not os.path.exists('pt_BR.orig.dic'): 91 :copy pt_BR.dic pt_BR.orig.dic 92 @if os.path.exists('pt_BR.diff'): 93 :sys patch <pt_BR.diff 94 95 96# Generate diff files, so that others can get the OpenOffice files and apply 97# the diffs to get the Vim versions. 98 99diff: 100 :assertpkg diff 101 :sys {force} diff -a -C 1 pt_PT.orig.aff pt_PT.aff >pt_PT.diff 102 :sys {force} diff -a -C 1 pt_PT.orig.dic pt_PT.dic >>pt_PT.diff 103 :sys {force} diff -a -C 1 pt_BR.orig.aff pt_BR.aff >pt_BR.diff 104 :sys {force} diff -a -C 1 pt_BR.orig.dic pt_BR.dic >>pt_BR.diff 105 106# Delete all downloaded and generated files. 107clean: clean_pt_BR clean_pt_PT 108 109clean_pt_BR: 110 :delete {f} pt_BR.aff 111 :delete {f} pt_BR.dic 112 :delete {f} pt_BR.orig.aff 113 :delete {f} pt_BR.orig.dic 114 :delete {f} README_pt_BR.txt 115 116clean_pt_PT: 117 :delete {f} pt_PT.aff 118 :delete {f} pt_PT.dic 119 :delete {f} pt_PT.orig.aff 120 :delete {f} pt_PT.orig.dic 121 :delete {f} README_pt_PT.txt 122 :delete {f} COPYING_pt_PT.txt 123 124# Check for updated OpenOffice spell files. When there are changes the 125# ".new.aff" and ".new.dic" files are left behind for manual inspection. 126# TO BE IMPLEMENTED 127 128check: check-pt check-br 129 130check-pt: 131 :assertpkg unzip diff 132 :fetch $PT_FNAME 133 :mkdir tmp 134 :cd tmp 135 @try: 136 @import stat 137 :sys $UNZIP ../$PT_FNAME 138 :sys {force} diff ../pt_PT.orig.aff pt_PT.aff >d 139 @if os.stat('d')[stat.ST_SIZE] > 0: 140 :copy pt_PT.aff ../pt_PT.new.aff 141 :sys {force} diff ../pt_PT.orig.dic pt_PT.dic >d 142 @if os.stat('d')[stat.ST_SIZE] > 0: 143 :copy pt_PT.dic ../pt_PT.new.dic 144 @finally: 145 :cd .. 146 :delete {r}{f}{q} tmp 147 :delete $PT_FNAME 148 149check-br: 150 :assertpkg unzip diff 151 :fetch $BR_FNAME 152 :mkdir tmp 153 :cd tmp 154 @try: 155 @import stat 156 :sys $UNZIP ../$BR_FNAME 157 :sys {force} diff ../pt_BR.orig.aff pt_BR.aff >d 158 @if os.stat('d')[stat.ST_SIZE] > 0: 159 :copy pt_BR.aff ../pt_BR.new.aff 160 :sys {force} diff ../pt_BR.orig.dic pt_BR.dic >d 161 @if os.stat('d')[stat.ST_SIZE] > 0: 162 :copy pt_BR.dic ../pt_BR.new.dic 163 @finally: 164 :cd .. 165 :delete {r}{f}{q} tmp 166 :delete $BR_FNAME 167 168# vim: set sts=4 sw=4 : 169