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