blob: 43a3be4ff1dc635ff17dc0cb58286f870411ccc0 (
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
|
# Aap recipe for Portuguese Vim spell files.
# See ftp://ftp.vim.org/pub/vim/runtime/spell/README.txt
# Use a freshly compiled Vim if it exists.
@if os.path.exists('../../../src/vim'):
VIM = ../../../src/vim
@else:
:progsearch VIM vim
SPELLDIR = ..
FILES = pt_PT.aff pt_PT.dic
pt_BR.aff pt_BR.dic
#
# Fetching the pt_PT files from the Natura project.
#
PT_FNAME = oo3x-pt-PT.oxt
PT_DIR = http://extensions.services.openoffice.org/e-files/1196/5/$(PT_FNAME)
:attr {fetch = $PT_DIR} $PT_FNAME
#
# Fetching the pt_BR files from BrOffice.org (Brazilian OOo).
#
BR_FNAME = Vero_pt_BR_V207AOC.oxt
BR_DIR = http://www.broffice.org/files/$(BR_FNAME)
:attr {fetch = $BR_DIR} $BR_FNAME
all: $SPELLDIR/pt.latin1.spl $SPELLDIR/pt.utf-8.spl \
../README_pt.txt
$SPELLDIR/pt.latin1.spl : $FILES
:sys env LANG=pt_PT.ISO-8859-1 LC_ALL=pt_PT.ISO-8859-1
$VIM -u NONE -e -c "mkspell! $SPELLDIR/pt pt_PT pt_BR" -c q
$SPELLDIR/pt.utf-8.spl : $FILES
:sys env LANG=pt_PT.UTF-8 LC_ALL=pt_PT.UTF-8
$VIM -u NONE -e -c "mkspell! $SPELLDIR/pt pt_PT pt_BR" -c q
../README_pt.txt: README_pt_PT.txt README_pt_BR.txt
:print pt_PT >!$target
:cat README_pt_PT.txt | :eval re.sub('\r', '', stdin) >>$target
:print =================================================== >>$target
:print pt_BR: >>$target
:cat README_pt_BR.txt | :eval re.sub('\r', '', stdin) >>$target
# 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.
pt_PT.aff pt_PT.dic: {buildcheck=}
:assertpkg unzip patch
:fetch $PT_FNAME
:sys $UNZIP $PT_FNAME
:delete $PT_FNAME
:move dictionaries/pt_PT.dic .
:move dictionaries/pt_PT.aff .
:move dictionaries/README_pt_PT.txt .
:move dictionaries/COPYING COPYING_pt_PT.txt
:delete {r}{f} dictionaries
:delete {r}{f} META-INF
:delete {f} description.xml
:delete {f} dictionaries.xcu
:delete {f} LICENSES.txt
:sys $VIM pt_PT.dic -u NONE -e -c "%s/\t.*//" -c update -c q
:sys $VIM pt_PT.aff -u NONE -e -c "%s/\S\+=\S\+$$//" -c update -c q
@if not os.path.exists('pt_PT.orig.aff'):
:copy pt_PT.aff pt_PT.orig.aff
@if not os.path.exists('pt_PT.orig.dic'):
:copy pt_PT.dic pt_PT.orig.dic
@if os.path.exists('pt_PT.diff'):
:sys patch <pt_PT.diff
pt_BR.aff pt_BR.dic: {buildcheck=}
:assertpkg unzip patch
:fetch $BR_FNAME
:sys $UNZIP $BR_FNAME
:delete $BR_FNAME
:sys $VIM README_pt_BR.TXT -u NONE -N -e -c "set ff=unix" -c update -c q
:move README_pt_BR.TXT README_pt_BR.txt
:sys $VIM pt_BR.dic -u NONE -N -e -c "set ff=unix" -c update -c q
:sys $VIM pt_BR.aff -u NONE -N -e -c "set ff=unix" -c update -c q
@if not os.path.exists('pt_BR.orig.aff'):
:copy pt_BR.aff pt_BR.orig.aff
@if not os.path.exists('pt_BR.orig.dic'):
:copy pt_BR.dic pt_BR.orig.dic
@if os.path.exists('pt_BR.diff'):
:sys patch <pt_BR.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 pt_PT.orig.aff pt_PT.aff >pt_PT.diff
:sys {force} diff -a -C 1 pt_PT.orig.dic pt_PT.dic >>pt_PT.diff
:sys {force} diff -a -C 1 pt_BR.orig.aff pt_BR.aff >pt_BR.diff
:sys {force} diff -a -C 1 pt_BR.orig.dic pt_BR.dic >>pt_BR.diff
# Delete all downloaded and generated files.
clean: clean_pt_BR clean_pt_PT
clean_pt_BR:
:delete {f} pt_BR.aff
:delete {f} pt_BR.dic
:delete {f} pt_BR.orig.aff
:delete {f} pt_BR.orig.dic
:delete {f} README_pt_BR.txt
clean_pt_PT:
:delete {f} pt_PT.aff
:delete {f} pt_PT.dic
:delete {f} pt_PT.orig.aff
:delete {f} pt_PT.orig.dic
:delete {f} README_pt_PT.txt
:delete {f} COPYING_pt_PT.txt
# Check for updated OpenOffice spell files. When there are changes the
# ".new.aff" and ".new.dic" files are left behind for manual inspection.
# TO BE IMPLEMENTED
check: check-pt check-br
check-pt:
:assertpkg unzip diff
:fetch $PT_FNAME
:mkdir tmp
:cd tmp
@try:
@import stat
:sys $UNZIP ../$PT_FNAME
:sys {force} diff ../pt_PT.orig.aff pt_PT.aff >d
@if os.stat('d')[stat.ST_SIZE] > 0:
:copy pt_PT.aff ../pt_PT.new.aff
:sys {force} diff ../pt_PT.orig.dic pt_PT.dic >d
@if os.stat('d')[stat.ST_SIZE] > 0:
:copy pt_PT.dic ../pt_PT.new.dic
@finally:
:cd ..
:delete {r}{f}{q} tmp
:delete $PT_FNAME
check-br:
:assertpkg unzip diff
:fetch $BR_FNAME
:mkdir tmp
:cd tmp
@try:
@import stat
:sys $UNZIP ../$BR_FNAME
:sys {force} diff ../pt_BR.orig.aff pt_BR.aff >d
@if os.stat('d')[stat.ST_SIZE] > 0:
:copy pt_BR.aff ../pt_BR.new.aff
:sys {force} diff ../pt_BR.orig.dic pt_BR.dic >d
@if os.stat('d')[stat.ST_SIZE] > 0:
:copy pt_BR.dic ../pt_BR.new.dic
@finally:
:cd ..
:delete {r}{f}{q} tmp
:delete $BR_FNAME
# vim: set sts=4 sw=4 :
|