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
|
#!/usr/bin/make -f
#export DH_VERBOSE=1
define rename_hunspell_files
cd $(CURDIR)/debian/hunspell-$(strip $(1))/usr/share/hunspell; \
mv -v $(strip $(2)).aff $(strip $(3)).aff; mv $(strip $(2)).dic $(strip $(3)).dic
endef
define rename_hyphen_files
cd $(CURDIR)/debian/hyphen-$(strip $(1))/usr/share/hyphen; \
mv -v hyph_$(strip $(2)).dic hyph_$(strip $(3)).dic
endef
define rename_mythes_files
cd $(CURDIR)/debian/mythes-$(strip $(1))/usr/share/mythes; \
mv -v $(strip $(2)).dat $(strip $(3)).dat; mv $(strip $(2)).idx $(strip $(3)).idx
endef
define link_hyphen
dh_link -phyphen-$(strip $(1)) usr/share/hyphen/hyph_$(strip $(3)).dic usr/share/hyphen/hyph_$(strip $(2)).dic
endef
include debian/rules.install
%:
dh $@
execute_before_dh_auto_build:
# make sure we don't overwrite a past backup
[ ! -f dictionaries/cs_CZ/thes_cs_CZ.dat.BAK ]
cd dictionaries/cs_CZ && \
mv thes_cs_CZ.dat thes_cs_CZ.dat.BAK
cd dictionaries/cs_CZ/thesaurus && \
./dictionary-to-thesaurus.py en-cs.txt blacklist.txt > ../thes_cs_CZ.dat
for dat in `find dictionaries -type f -name "*.dat"`; do \
/usr/share/mythes/th_gen_idx.pl -o $${dat%dat}idx < $${dat}; \
done
execute_before_dh_install: install_files
execute_after_dh_install:
$(call rename_hunspell_files, gug, gug, gug_PY )
$(call rename_hunspell_files, is, is, is_IS )
$(call rename_hunspell_files, lt, lt, lt_LT )
$(call rename_hunspell_files, sr, sr, sr_RS )
$(call rename_hunspell_files, sr, sr-Latn, sr_Latn_RS )
$(call rename_hyphen_files, ca, ca, ca_ES )
$(call rename_hyphen_files, es, es, es_ES )
$(call rename_hyphen_files, gl, gl, gl_ES )
$(call rename_hyphen_files, is, is, is_IS )
$(call rename_hyphen_files, lt, lt, lt_LT )
$(call rename_hyphen_files, sr, sr, sr_RS )
$(call rename_hyphen_files, sr, sr-Latn, sr-Latn_RS )
$(call rename_hyphen_files, sv, sv, sv_SE )
$(call rename_mythes_files, ar, th_ar, th_ar_EG_v2 )
$(call rename_mythes_files, cs, thes_cs_CZ, th_cs_CZ_v2 )
$(call rename_mythes_files, es, th_es_v2, th_es_ES_v2 )
$(call rename_mythes_files, gl, thesaurus_gl, th_gl_ES_v2 )
$(call rename_mythes_files, gug, th_gug_PY, th_gug_PY_v2 )
$(call rename_mythes_files, is, th_is, th_is_IS_v2 )
$(call rename_mythes_files, pt-pt, th_pt_PT, th_pt_PT_v2 )
$(call rename_mythes_files, sv, th_sv_SE, th_sv_SE_v2 )
$(call rename_mythes_files, uk, th_uk_UA, th_uk_UA_v2 )
$(call rename_mythes_files, ru, th_ru_RU_M_aot_and_v2, th_ru_RU_v2 )
# here are only links doing "xx → xx_XX", more links are done with
# .links files as well.
$(call link_hyphen, af, af, af_ZA )
$(call link_hyphen, cs, cs, cs_CZ )
$(call link_hyphen, da, da, da_DK )
$(call link_hyphen, de, de, de_DE )
$(call link_hyphen, el, el, el_GR )
$(call link_hyphen, en-gb, en_Latn_GB, en_GB )
$(call link_hyphen, hr, hr, hr_HR )
$(call link_hyphen, hu, hu, hu_HU )
$(call link_hyphen, it, it, it_IT )
$(call link_hyphen, lt, lt, lt_LT )
$(call link_hyphen, nl, nl, nl_NL )
$(call link_hyphen, pt-br, pt_Latn_BR, pt_BR )
$(call link_hyphen, pt-pt, pt, pt_PT )
$(call link_hyphen, pt-pt, pt_Latn_PT, pt_PT )
$(call link_hyphen, ro, ro, ro_RO )
$(call link_hyphen, sk, sk, sk_SK )
$(call link_hyphen, sl, sl, sl_SI )
$(call link_hyphen, uk, uk, uk_UA )
$(call link_hyphen, zu, zu, zu_ZA )
# Build the .bdic dictionaries that don't need special treatment.
# The ones that do need special treatment will fail, but their hunspell-bdic directories will be created.
for d in `find debian/hunspell-* -name "*.dic"`; do \
mkdir -p `echo $$d | sed -e "s/share\/hunspell.*dic/share\/hunspell-bdic/"` && \
convert-bdic $$d `echo $$d | sed -e "s/share\/hunspell/share\/hunspell-bdic/" | sed -e "s/dic$$/bdic/"`; \
done
# Copy the dictionaries that need special treatment to their corresponding hunspell-bdic directories.
cp debian/hunspell-an/usr/share/hunspell/an_ES.* debian/hunspell-an/usr/share/hunspell-bdic
cp debian/hunspell-da/usr/share/hunspell/da_DK.* debian/hunspell-da/usr/share/hunspell-bdic
cp debian/hunspell-gl/usr/share/hunspell/gl_ES.* debian/hunspell-gl/usr/share/hunspell-bdic
cp debian/hunspell-gu/usr/share/hunspell/gu_IN.* debian/hunspell-gu/usr/share/hunspell-bdic
cp debian/hunspell-hu/usr/share/hunspell/hu_HU.* debian/hunspell-hu/usr/share/hunspell-bdic
cp debian/hunspell-th/usr/share/hunspell/th_TH.* debian/hunspell-th/usr/share/hunspell-bdic
cp debian/hunspell-uk/usr/share/hunspell/uk_UA.* debian/hunspell-uk/usr/share/hunspell-bdic
# Convert all tabs in an_ES.aff into spaces before building the .bdic, which doesn't like tabs in most fields.
sed -i "s/\t/ /g" debian/hunspell-an/usr/share/hunspell-bdic/an_ES.aff
# Remove any lines greater than or equal to 109 characters in da_DK.dic. The exact maximum line length in the .bdic binary format depends on how many UTF-16 characters there are.
sed -i "/.\{109\}/d" debian/hunspell-da/usr/share/hunspell-bdic/da_DK.dic
# Remove any lines greater than or equal to 110 characters in gl_ES.dic. The exact maximum line length in the .bdic binary format depends on how many UTF-16 characters there are.
sed -i "/.\{110\}/d" debian/hunspell-gl/usr/share/hunspell-bdic/gl_ES.dic
# Remove any lines greater than or equal to 21 characters in gu_IN.dic. The exact maximum line length in the .bdic binary format depends on how many UTF-16 characters there are.
sed -i "/.\{21\}/d" debian/hunspell-gu/usr/share/hunspell-bdic/gu_IN.dic
# Remove any lines that contain the IGNORE command in hu_HU.aff, which isn't supported by .bdic.
sed -i "/IGNORE/d" debian/hunspell-hu/usr/share/hunspell-bdic/hu_HU.aff
# Remove any lines greater than or equal to 33 characters in th_TH.dic. The exact maximum line length in the .bdic binary format depends on how many UTF-16 characters there are.
sed -i "/.\{33\}/d" debian/hunspell-th/usr/share/hunspell-bdic/th_TH.dic
# Remove any lines that contain the IGNORE command in uk_UA.aff, which isn't supported by .bdic.
sed -i "/IGNORE/d" debian/hunspell-uk/usr/share/hunspell-bdic/uk_UA.aff
# Build the dictionaries that need special treatment.
convert-bdic debian/hunspell-an/usr/share/hunspell-bdic/an_ES.dic debian/hunspell-an/usr/share/hunspell-bdic/an_ES.bdic
convert-bdic debian/hunspell-da/usr/share/hunspell-bdic/da_DK.dic debian/hunspell-da/usr/share/hunspell-bdic/da_DK.bdic
convert-bdic debian/hunspell-gl/usr/share/hunspell-bdic/gl_ES.dic debian/hunspell-gl/usr/share/hunspell-bdic/gl_ES.bdic
convert-bdic debian/hunspell-gu/usr/share/hunspell-bdic/gu_IN.dic debian/hunspell-gu/usr/share/hunspell-bdic/gu_IN.bdic
convert-bdic debian/hunspell-hu/usr/share/hunspell-bdic/hu_HU.dic debian/hunspell-hu/usr/share/hunspell-bdic/hu_HU.bdic
convert-bdic debian/hunspell-th/usr/share/hunspell-bdic/th_TH.dic debian/hunspell-th/usr/share/hunspell-bdic/th_TH.bdic
convert-bdic debian/hunspell-uk/usr/share/hunspell-bdic/uk_UA.dic debian/hunspell-uk/usr/share/hunspell-bdic/uk_UA.bdic
# Remove the temporary copies of the .dic and .aff in the hunspell-bdic directory.
rm debian/hunspell-an/usr/share/hunspell-bdic/an_ES.dic debian/hunspell-an/usr/share/hunspell-bdic/an_ES.aff
rm debian/hunspell-da/usr/share/hunspell-bdic/da_DK.dic debian/hunspell-da/usr/share/hunspell-bdic/da_DK.aff
rm debian/hunspell-gl/usr/share/hunspell-bdic/gl_ES.dic debian/hunspell-gl/usr/share/hunspell-bdic/gl_ES.aff
rm debian/hunspell-gu/usr/share/hunspell-bdic/gu_IN.dic debian/hunspell-gu/usr/share/hunspell-bdic/gu_IN.aff
rm debian/hunspell-hu/usr/share/hunspell-bdic/hu_HU.dic debian/hunspell-hu/usr/share/hunspell-bdic/hu_HU.aff
rm debian/hunspell-th/usr/share/hunspell-bdic/th_TH.dic debian/hunspell-th/usr/share/hunspell-bdic/th_TH.aff
rm debian/hunspell-uk/usr/share/hunspell-bdic/uk_UA.dic debian/hunspell-uk/usr/share/hunspell-bdic/uk_UA.aff
execute_before_dh_clean:
find dictionaries/ -type f -name '*.idx' -delete
cd dictionaries/cs_CZ && \
[ ! -f thes_cs_CZ.dat.BAK ] || \
mv -v thes_cs_CZ.dat.BAK thes_cs_CZ.dat
override_dh_installchangelogs:
dh_installchangelogs ChangeLog-dictionaries
|