]> git.pld-linux.org Git - packages/translate-toolkit.git/blob - translate-toolkit.spec
- release 2 (by relup.sh)
[packages/translate-toolkit.git] / translate-toolkit.spec
1 #
2 # Conditional build:
3 %bcond_with     apidocs         # do not package API docs
4 %bcond_with     doc                     # do not package user docs
5
6 Summary:        Tools to assist with translation and software localization
7 Name:           translate-toolkit
8 Version:        2.2.4
9 Release:        2
10 License:        GPL v2+
11 Group:          Development/Tools
12 Source0:        https://github.com/translate/translate/releases/download/%{version}/%{name}-%{version}.tar.gz
13 # Source0-md5:  4ff21c47bf16e0855b913246ae397a58
14 Patch0:         %{name}-stoplist.patch
15 Patch1:         %{name}-langmodel_dir.patch
16 Patch2:         unbash.patch
17 URL:            http://toolkit.translatehouse.org/
18 BuildRequires:  checkbashisms
19 BuildRequires:  python-dateutil
20 BuildRequires:  python-modules
21 BuildRequires:  rpm-pythonprov
22 BuildRequires:  rpmbuild(macros) >= 1.714
23 BuildRequires:  sed >= 4.0
24 %if %{with doc}
25 BuildRequires:  python-lxml
26 BuildRequires:  python-simplejson
27 BuildRequires:  python-vobject
28 %endif
29 Requires:       python-iniparse >= 0.3.1
30 Requires:       python-lxml >= 2.1.0
31 Requires:       python-modules >= 1:2.7
32 Requires:       python-setuptools
33 Requires:       python-simplejson
34 Requires:       python-vobject >= 0.6.6
35 %ifarch %{ix86}
36 Requires:       python-psyco
37 %endif
38 Suggests:       iso-codes
39 Suggests:       python-Levenshtein >= 0.10.2
40 Suggests:       python-pyenchant
41 BuildArch:      noarch
42 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
43
44 %description
45 A set of tools for managing translation and software localization via
46 Gettext PO or XLIFF format files.
47
48 Including:
49 - Convertors: convert from various formats to PO or XLIFF
50 - Formats:
51   - Core localization formats - XLIFF and Gettext PO
52   - Other localization formats - TMX, TBX, Qt Linguist (.ts), Java
53     .properties, Wordfast TM, OmegaT glossary
54   - Compiled formats: Gettext MO, Qt .qm
55   - Other formats - OpenDocument Format (ODF), text, HTML, CSV, INI,
56     wiki (MediaWiki, DokuWiki), iCal
57   - Specialised - OpenOffice.org GSI/SDF, PHP, Mozilla (.dtd,
58     .properties, etc), Symbian, Innosetup, tikiwiki, subtitles
59 - Tools: count, search, debug, segment and pretranslate localization
60   files. Extract terminology. Pseudo-localize
61 - Checkers: validate translations with over 45 checks
62
63 %package apidocs
64 Summary:        Development API for translate-toolkit applications
65 Group:          Documentation
66
67 %description apidocs
68 Translate Toolkit API documentation for developers wishing to build
69 new tools for the toolkit or to use the libraries in other
70 localization tools.
71
72 %package doc
73 Summary:        User Manual for translate-toolkit
74 Group:          Documentation
75
76 %description doc
77 Documentation for translate-toolkit.
78
79 %prep
80 %setup -q
81 %patch0 -p1
82 %patch1 -p1
83 %patch2 -p1
84
85 # FIXME: they do it wrong apparently? that can't do via setup.py?
86 %{__sed} -i -e 's#packagesdir = get_python_lib()#packagesdir = "%{py_sitescriptdir}"#' setup.py
87
88 %build
89 checkbashisms $(grep -rl '#!/bin/sh' tools)
90
91 %py_build
92
93 rm -r docs/_build/html/_sources
94
95 %if %{with doc}
96 # create manpages
97 install -d man
98 for script in build-2/scripts-%{py_ver}/*; do
99         program=${script##*/}
100
101         # exclude some known failures
102         case $program in
103                 build_firefox.sh|\
104                 build_tmdb|\
105                 buildxpi.py|\
106                 get_moz_enUS.py|\
107                 junitmsgfmt|\
108                 pocommentclean|\
109                 pocompendium|\
110                 pocount|\
111                 pomigrate2|\
112                 popuretext|\
113                 poreencode|\
114                 posplit|\
115                 tmserver|\
116                 ...)
117                 continue
118                 ;;
119         esac
120
121         LC_ALL=C PYTHONPATH=. $script --manpage > man/$program.1
122         # if this grep fails, you should exclude it above
123         grep 'Autogenerated manpage' man/$program.1
124 done
125 %endif
126
127 %install
128 rm -rf $RPM_BUILD_ROOT
129 %py_install
130 %py_postclean
131
132 %if %{with doc}
133 install -d $RPM_BUILD_ROOT%{_mandir}/man1
134 cp -a man/* $RPM_BUILD_ROOT%{_mandir}/man1
135 %endif
136
137 # remove documentation files from site-packages
138 %{__rm} -r $RPM_BUILD_ROOT%{py_sitescriptdir}/translate/docs
139 %{__rm} $RPM_BUILD_ROOT%{py_sitescriptdir}/translate/{COPYING,README.rst}
140
141 # Move data files to %{_datadir}
142 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}
143 mv $RPM_BUILD_ROOT%{py_sitescriptdir}/translate/share/* $RPM_BUILD_ROOT%{_datadir}/%{name}
144
145 # we don't package tests
146 %{__rm} $RPM_BUILD_ROOT%{py_sitescriptdir}/translate/tools/test_*.py*
147 %{__rm} $RPM_BUILD_ROOT%{py_sitescriptdir}/translate/convert/test_*.py*
148 %{__rm} $RPM_BUILD_ROOT%{py_sitescriptdir}/translate/filters/test_*.py*
149 %{__rm} $RPM_BUILD_ROOT%{py_sitescriptdir}/translate/lang/test_*.py*
150 %{__rm} $RPM_BUILD_ROOT%{py_sitescriptdir}/translate/misc/test_*.py*
151 %{__rm} $RPM_BUILD_ROOT%{py_sitescriptdir}/translate/search/indexing/test_*.py*
152 %{__rm} $RPM_BUILD_ROOT%{py_sitescriptdir}/translate/search/test_*.py*
153 %{__rm} $RPM_BUILD_ROOT%{py_sitescriptdir}/translate/storage/placeables/test_*.py*
154 %{__rm} $RPM_BUILD_ROOT%{py_sitescriptdir}/translate/storage/test_*.py*
155 %{__rm} $RPM_BUILD_ROOT%{py_sitescriptdir}/translate/storage/xml_extract/test_*.py*
156
157 # build lang file
158 echo "%dir %{py_sitescriptdir}/translate/lang" > %{name}.lang
159 for a in $RPM_BUILD_ROOT%{py_sitescriptdir}/translate/lang/*.py[co]; do
160         # path file and lang
161         p=${a#$RPM_BUILD_ROOT} f=${a##*/} l=${f%.py*}
162         case $l in
163         code_or|common|data|factory|identify|__init__|ngram|poedit)
164                 echo $p >> %{name}.lang
165                 ;;
166         *)
167                 echo "%lang($l) $p" >> %{name}.lang
168                 ;;
169         esac
170 done
171
172 %clean
173 rm -rf $RPM_BUILD_ROOT
174
175 %files -f %{name}.lang
176 %defattr(644,root,root,755)
177 %doc README.rst
178 %attr(755,root,root) %{_bindir}/build_firefox.sh
179 %attr(755,root,root) %{_bindir}/build_tmdb
180 %attr(755,root,root) %{_bindir}/buildxpi.py
181 %attr(755,root,root) %{_bindir}/csv2po
182 %attr(755,root,root) %{_bindir}/csv2tbx
183 %attr(755,root,root) %{_bindir}/get_moz_enUS.py
184 %attr(755,root,root) %{_bindir}/html2po
185 %attr(755,root,root) %{_bindir}/ical2po
186 %attr(755,root,root) %{_bindir}/idml2po
187 %attr(755,root,root) %{_bindir}/ini2po
188 %attr(755,root,root) %{_bindir}/json2po
189 %attr(755,root,root) %{_bindir}/junitmsgfmt
190 %attr(755,root,root) %{_bindir}/l20n2po
191 %attr(755,root,root) %{_bindir}/moz2po
192 %attr(755,root,root) %{_bindir}/mozlang2po
193 %attr(755,root,root) %{_bindir}/odf2xliff
194 %attr(755,root,root) %{_bindir}/oo2po
195 %attr(755,root,root) %{_bindir}/oo2xliff
196 %attr(755,root,root) %{_bindir}/php2po
197 %attr(755,root,root) %{_bindir}/phppo2pypo
198 %attr(755,root,root) %{_bindir}/po2csv
199 %attr(755,root,root) %{_bindir}/po2html
200 %attr(755,root,root) %{_bindir}/po2ical
201 %attr(755,root,root) %{_bindir}/po2idml
202 %attr(755,root,root) %{_bindir}/po2ini
203 %attr(755,root,root) %{_bindir}/po2json
204 %attr(755,root,root) %{_bindir}/po2l20n
205 %attr(755,root,root) %{_bindir}/po2moz
206 %attr(755,root,root) %{_bindir}/po2mozlang
207 %attr(755,root,root) %{_bindir}/po2oo
208 %attr(755,root,root) %{_bindir}/po2php
209 %attr(755,root,root) %{_bindir}/po2prop
210 %attr(755,root,root) %{_bindir}/po2rc
211 %attr(755,root,root) %{_bindir}/po2resx
212 %attr(755,root,root) %{_bindir}/po2sub
213 %attr(755,root,root) %{_bindir}/po2symb
214 %attr(755,root,root) %{_bindir}/po2tiki
215 %attr(755,root,root) %{_bindir}/po2tmx
216 %attr(755,root,root) %{_bindir}/po2ts
217 %attr(755,root,root) %{_bindir}/po2txt
218 %attr(755,root,root) %{_bindir}/po2web2py
219 %attr(755,root,root) %{_bindir}/po2wordfast
220 %attr(755,root,root) %{_bindir}/po2xliff
221 %attr(755,root,root) %{_bindir}/poclean
222 %attr(755,root,root) %{_bindir}/pocommentclean
223 %attr(755,root,root) %{_bindir}/pocompendium
224 %attr(755,root,root) %{_bindir}/pocompile
225 %attr(755,root,root) %{_bindir}/poconflicts
226 %attr(755,root,root) %{_bindir}/pocount
227 %attr(755,root,root) %{_bindir}/podebug
228 %attr(755,root,root) %{_bindir}/pofilter
229 %attr(755,root,root) %{_bindir}/pogrep
230 %attr(755,root,root) %{_bindir}/pomerge
231 %attr(755,root,root) %{_bindir}/pomigrate2
232 %attr(755,root,root) %{_bindir}/popuretext
233 %attr(755,root,root) %{_bindir}/poreencode
234 %attr(755,root,root) %{_bindir}/porestructure
235 %attr(755,root,root) %{_bindir}/posegment
236 %attr(755,root,root) %{_bindir}/posplit
237 %attr(755,root,root) %{_bindir}/poswap
238 %attr(755,root,root) %{_bindir}/pot2po
239 %attr(755,root,root) %{_bindir}/poterminology
240 %attr(755,root,root) %{_bindir}/pretranslate
241 %attr(755,root,root) %{_bindir}/prop2po
242 %attr(755,root,root) %{_bindir}/pydiff
243 %attr(755,root,root) %{_bindir}/pypo2phppo
244 %attr(755,root,root) %{_bindir}/rc2po
245 %attr(755,root,root) %{_bindir}/resx2po
246 %attr(755,root,root) %{_bindir}/sub2po
247 %attr(755,root,root) %{_bindir}/symb2po
248 %attr(755,root,root) %{_bindir}/tbx2po
249 %attr(755,root,root) %{_bindir}/tiki2po
250 %attr(755,root,root) %{_bindir}/tmserver
251 %attr(755,root,root) %{_bindir}/ts2po
252 %attr(755,root,root) %{_bindir}/txt2po
253 %attr(755,root,root) %{_bindir}/web2py2po
254 %attr(755,root,root) %{_bindir}/xliff2odf
255 %attr(755,root,root) %{_bindir}/xliff2oo
256 %attr(755,root,root) %{_bindir}/xliff2po
257 %if %{with doc}
258 %{_mandir}/man1/csv2po.1*
259 %{_mandir}/man1/csv2tbx.1*
260 %{_mandir}/man1/html2po.1*
261 %{_mandir}/man1/ical2po.1*
262 %{_mandir}/man1/ini2po.1*
263 %{_mandir}/man1/json2po.1*
264 %{_mandir}/man1/moz2po.1*
265 %{_mandir}/man1/odf2xliff.1*
266 %{_mandir}/man1/oo2po.1*
267 %{_mandir}/man1/oo2xliff.1*
268 %{_mandir}/man1/php2po.1*
269 %{_mandir}/man1/po2csv.1*
270 %{_mandir}/man1/po2html.1*
271 %{_mandir}/man1/po2ical.1*
272 %{_mandir}/man1/po2ini.1*
273 %{_mandir}/man1/po2json.1*
274 %{_mandir}/man1/po2moz.1*
275 %{_mandir}/man1/po2oo.1*
276 %{_mandir}/man1/po2php.1*
277 %{_mandir}/man1/po2prop.1*
278 %{_mandir}/man1/po2rc.1*
279 %{_mandir}/man1/po2resx.1*
280 %{_mandir}/man1/po2sub.1*
281 %{_mandir}/man1/po2symb.1*
282 %{_mandir}/man1/po2tiki.1*
283 %{_mandir}/man1/po2tmx.1*
284 %{_mandir}/man1/po2ts.1*
285 %{_mandir}/man1/po2txt.1*
286 %{_mandir}/man1/po2web2py.1*
287 %{_mandir}/man1/po2wordfast.1*
288 %{_mandir}/man1/po2xliff.1*
289 %{_mandir}/man1/poclean.1*
290 %{_mandir}/man1/pocompile.1*
291 %{_mandir}/man1/poconflicts.1*
292 %{_mandir}/man1/podebug.1*
293 %{_mandir}/man1/pofilter.1*
294 %{_mandir}/man1/pogrep.1*
295 %{_mandir}/man1/pomerge.1*
296 %{_mandir}/man1/porestructure.1*
297 %{_mandir}/man1/posegment.1*
298 %{_mandir}/man1/poswap.1*
299 %{_mandir}/man1/pot2po.1*
300 %{_mandir}/man1/poterminology.1*
301 %{_mandir}/man1/pretranslate.1*
302 %{_mandir}/man1/prop2po.1*
303 %{_mandir}/man1/rc2po.1*
304 %{_mandir}/man1/resx2po.1*
305 %{_mandir}/man1/sub2po.1*
306 %{_mandir}/man1/symb2po.1*
307 %{_mandir}/man1/tiki2po.1*
308 %{_mandir}/man1/ts2po.1*
309 %{_mandir}/man1/txt2po.1*
310 %{_mandir}/man1/web2py2po.1*
311 %{_mandir}/man1/xliff2odf.1*
312 %{_mandir}/man1/xliff2oo.1*
313 %{_mandir}/man1/xliff2po.1*
314 %endif
315
316 %dir %{_datadir}/%{name}
317 %dir %{_datadir}/%{name}/langmodels
318 %{_datadir}/%{name}/langmodels/README
319 %{_datadir}/%{name}/stoplist-en
320 %{_datadir}/%{name}/langmodels/fpdb.conf
321
322 %lang(af) %{_datadir}/%{name}/langmodels/afrikaans.lm
323 %lang(ar) %{_datadir}/%{name}/langmodels/arabic.lm
324 %lang(be) %{_datadir}/%{name}/langmodels/belarus.lm
325 %lang(br) %{_datadir}/%{name}/langmodels/breton.lm
326 %lang(bs) %{_datadir}/%{name}/langmodels/bosnian.lm
327 %lang(ca) %{_datadir}/%{name}/langmodels/catalan.lm
328 %lang(cy) %{_datadir}/%{name}/langmodels/welsh.lm
329 %lang(cz) %{_datadir}/%{name}/langmodels/czech.lm
330 %lang(da) %{_datadir}/%{name}/langmodels/danish.lm
331 %lang(de) %{_datadir}/%{name}/langmodels/german.lm
332 %lang(el) %{_datadir}/%{name}/langmodels/greek.lm
333 %lang(en) %{_datadir}/%{name}/langmodels/english.lm
334 %lang(eo) %{_datadir}/%{name}/langmodels/esperanto.lm
335 %lang(es) %{_datadir}/%{name}/langmodels/spanish.lm
336 %lang(et) %{_datadir}/%{name}/langmodels/estonian.lm
337 %lang(eu) %{_datadir}/%{name}/langmodels/basque.lm
338 %lang(fi) %{_datadir}/%{name}/langmodels/finnish.lm
339 %lang(fr) %{_datadir}/%{name}/langmodels/french.lm
340 %lang(fy) %{_datadir}/%{name}/langmodels/frisian.lm
341 %lang(ga) %{_datadir}/%{name}/langmodels/irish_gaelic.lm
342 %lang(gd) %{_datadir}/%{name}/langmodels/scots.lm
343 %lang(gd) %{_datadir}/%{name}/langmodels/scots_gaelic.lm
344 %lang(gv) %{_datadir}/%{name}/langmodels/manx_gaelic.lm
345 %lang(he) %{_datadir}/%{name}/langmodels/hebrew.lm
346 %lang(hr) %{_datadir}/%{name}/langmodels/croatian.lm
347 %lang(hu) %{_datadir}/%{name}/langmodels/hungarian.lm
348 %lang(id) %{_datadir}/%{name}/langmodels/indonesian.lm
349 %lang(is) %{_datadir}/%{name}/langmodels/icelandic.lm
350 %lang(it) %{_datadir}/%{name}/langmodels/italian.lm
351 %lang(ja) %{_datadir}/%{name}/langmodels/japanese.lm
352 %lang(lt) %{_datadir}/%{name}/langmodels/lithuanian.lm
353 %lang(lv) %{_datadir}/%{name}/langmodels/latvian.lm
354 %lang(ms) %{_datadir}/%{name}/langmodels/malay.lm
355 %lang(nd) %{_datadir}/%{name}/langmodels/Ndebele.lm
356 %lang(nl) %{_datadir}/%{name}/langmodels/dutch.lm
357 %lang(no) %{_datadir}/%{name}/langmodels/norwegian.lm
358 %lang(po) %{_datadir}/%{name}/langmodels/polish.lm
359 %lang(pt) %{_datadir}/%{name}/langmodels/portuguese.lm
360 %lang(qu) %{_datadir}/%{name}/langmodels/quechua.lm
361 %lang(rm) %{_datadir}/%{name}/langmodels/romansh.lm
362 %lang(ro) %{_datadir}/%{name}/langmodels/romanian.lm
363 %lang(ru) %{_datadir}/%{name}/langmodels/russian.lm
364 %lang(sk) %{_datadir}/%{name}/langmodels/slovenian.lm
365 %lang(sk@latin) %{_datadir}/%{name}/langmodels/slovak_ascii.lm
366 %lang(sq) %{_datadir}/%{name}/langmodels/albanian.lm
367 %lang(sr) %{_datadir}/%{name}/langmodels/latin.lm
368 %lang(sr@latin) %{_datadir}/%{name}/langmodels/serbian_ascii.lm
369 %lang(ss) %{_datadir}/%{name}/langmodels/Swati.lm
370 %lang(st) %{_datadir}/%{name}/langmodels/NorthernSotho.lm
371 %lang(st) %{_datadir}/%{name}/langmodels/Sotho.lm
372 %lang(sv) %{_datadir}/%{name}/langmodels/swedish.lm
373 %lang(sw) %{_datadir}/%{name}/langmodels/swahili.lm
374 %lang(tl) %{_datadir}/%{name}/langmodels/tagalog.lm
375 %lang(tn) %{_datadir}/%{name}/langmodels/Tswana.lm
376 %lang(tr) %{_datadir}/%{name}/langmodels/turkish.lm
377 %lang(ts) %{_datadir}/%{name}/langmodels/Tsonga.lm
378 %lang(uk) %{_datadir}/%{name}/langmodels/ukrainian.lm
379 %lang(ve) %{_datadir}/%{name}/langmodels/Venda.lm
380 %lang(vi) %{_datadir}/%{name}/langmodels/vietnamese.lm
381 %lang(xh) %{_datadir}/%{name}/langmodels/Xhosa.lm
382 %lang(zh_CN) %{_datadir}/%{name}/langmodels/chinese_simplified.lm
383 %lang(zh_TW) %{_datadir}/%{name}/langmodels/chinese_traditional.lm
384 %lang(zu) %{_datadir}/%{name}/langmodels/Zulu.lm
385
386 %dir %{py_sitescriptdir}/translate
387 %{py_sitescriptdir}/translate/*.py[co]
388 %{py_sitescriptdir}/translate/convert
389 %{py_sitescriptdir}/translate/filters
390 %{py_sitescriptdir}/translate/misc
391 %{py_sitescriptdir}/translate/search
392 %{py_sitescriptdir}/translate/services
393 %{py_sitescriptdir}/translate/storage
394 %{py_sitescriptdir}/translate/tools
395 %{py_sitescriptdir}/translate_toolkit-*.egg-info
396
397 %if %{with doc}
398 %files doc
399 %defattr(644,root,root,755)
400 %doc docs/_build/html/*
401 %endif
402
403 %if %{with apidocs}
404 %files apidocs
405 %defattr(644,root,root,755)
406 %doc translate/doc/api/*
407 %endif
This page took 0.094341 seconds and 3 git commands to generate.