]> git.pld-linux.org Git - packages/translate-toolkit.git/blame - translate-toolkit.spec
- release 2 (by relup.sh)
[packages/translate-toolkit.git] / translate-toolkit.spec
CommitLineData
ef4d56ba
ER
1#
2# Conditional build:
7302cc70 3%bcond_with apidocs # do not package API docs
ddf0bb66 4%bcond_with doc # do not package user docs
ef4d56ba
ER
5
6Summary: Tools to assist with translation and software localization
7Name: translate-toolkit
79fb802b 8Version: 2.2.4
e8e9135f 9Release: 2
ef4d56ba
ER
10License: GPL v2+
11Group: Development/Tools
79fb802b
ER
12Source0: https://github.com/translate/translate/releases/download/%{version}/%{name}-%{version}.tar.gz
13# Source0-md5: 4ff21c47bf16e0855b913246ae397a58
ef4d56ba
ER
14Patch0: %{name}-stoplist.patch
15Patch1: %{name}-langmodel_dir.patch
d7f1ec8a 16Patch2: unbash.patch
7302cc70 17URL: http://toolkit.translatehouse.org/
d7f1ec8a 18BuildRequires: checkbashisms
58209234 19BuildRequires: python-dateutil
58209234 20BuildRequires: python-modules
21BuildRequires: rpm-pythonprov
e7e1603a 22BuildRequires: rpmbuild(macros) >= 1.714
99fd2fc7 23BuildRequires: sed >= 4.0
bfe6e619 24%if %{with doc}
ef4d56ba
ER
25BuildRequires: python-lxml
26BuildRequires: python-simplejson
27BuildRequires: python-vobject
bfe6e619 28%endif
a920acd6 29Requires: python-iniparse >= 0.3.1
f486a329 30Requires: python-lxml >= 2.1.0
f848f07b 31Requires: python-modules >= 1:2.7
1db28cc5 32Requires: python-setuptools
f486a329 33Requires: python-simplejson
a920acd6 34Requires: python-vobject >= 0.6.6
ef4d56ba
ER
35%ifarch %{ix86}
36Requires: python-psyco
37%endif
f486a329 38Suggests: iso-codes
a920acd6 39Suggests: python-Levenshtein >= 0.10.2
f486a329 40Suggests: python-pyenchant
ef4d56ba 41BuildArch: noarch
8bac6c88 42BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
ef4d56ba
ER
43
44%description
45A set of tools for managing translation and software localization via
46Gettext PO or XLIFF format files.
47
48Including:
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
64Summary: Development API for translate-toolkit applications
65Group: Documentation
66
67%description apidocs
68Translate Toolkit API documentation for developers wishing to build
69new tools for the toolkit or to use the libraries in other
70localization tools.
71
dcc865ec
ER
72%package doc
73Summary: User Manual for translate-toolkit
74Group: Documentation
75
76%description doc
77Documentation for translate-toolkit.
78
ef4d56ba 79%prep
4bcb7d2e 80%setup -q
ef4d56ba
ER
81%patch0 -p1
82%patch1 -p1
d7f1ec8a 83%patch2 -p1
99fd2fc7 84
e7e1603a
ER
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
7302cc70 87
e7e1603a
ER
88%build
89checkbashisms $(grep -rl '#!/bin/sh' tools)
7302cc70 90
e7e1603a 91%py_build
ef4d56ba 92
113c197c
ER
93rm -r docs/_build/html/_sources
94
ddf0bb66 95%if %{with doc}
7302cc70
ER
96# create manpages
97install -d man
e7e1603a 98for script in build-2/scripts-%{py_ver}/*; do
7302cc70
ER
99 program=${script##*/}
100
e7e1603a 101 # exclude some known failures
bfe6e619
ER
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 ;;
7302cc70 119 esac
bfe6e619
ER
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
7302cc70 124done
ddf0bb66 125%endif
7302cc70 126
ef4d56ba
ER
127%install
128rm -rf $RPM_BUILD_ROOT
e7e1603a
ER
129%py_install
130%py_postclean
ef4d56ba 131
ddf0bb66 132%if %{with doc}
ef4d56ba 133install -d $RPM_BUILD_ROOT%{_mandir}/man1
7302cc70 134cp -a man/* $RPM_BUILD_ROOT%{_mandir}/man1
ddf0bb66 135%endif
ef4d56ba 136
ef4d56ba 137# remove documentation files from site-packages
e7e1603a 138%{__rm} -r $RPM_BUILD_ROOT%{py_sitescriptdir}/translate/docs
7302cc70 139%{__rm} $RPM_BUILD_ROOT%{py_sitescriptdir}/translate/{COPYING,README.rst}
ef4d56ba
ER
140
141# Move data files to %{_datadir}
7302cc70 142install -d $RPM_BUILD_ROOT%{_datadir}/%{name}
e7e1603a 143mv $RPM_BUILD_ROOT%{py_sitescriptdir}/translate/share/* $RPM_BUILD_ROOT%{_datadir}/%{name}
ef4d56ba
ER
144
145# we don't package tests
7302cc70
ER
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*
ef4d56ba
ER
156
157# build lang file
158echo "%dir %{py_sitescriptdir}/translate/lang" > %{name}.lang
159for 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
170done
171
172%clean
173rm -rf $RPM_BUILD_ROOT
174
175%files -f %{name}.lang
176%defattr(644,root,root,755)
7302cc70
ER
177%doc README.rst
178%attr(755,root,root) %{_bindir}/build_firefox.sh
179%attr(755,root,root) %{_bindir}/build_tmdb
e7e1603a 180%attr(755,root,root) %{_bindir}/buildxpi.py
7302cc70
ER
181%attr(755,root,root) %{_bindir}/csv2po
182%attr(755,root,root) %{_bindir}/csv2tbx
e7e1603a 183%attr(755,root,root) %{_bindir}/get_moz_enUS.py
7302cc70
ER
184%attr(755,root,root) %{_bindir}/html2po
185%attr(755,root,root) %{_bindir}/ical2po
040ffc05 186%attr(755,root,root) %{_bindir}/idml2po
7302cc70
ER
187%attr(755,root,root) %{_bindir}/ini2po
188%attr(755,root,root) %{_bindir}/json2po
189%attr(755,root,root) %{_bindir}/junitmsgfmt
4e40f5b6 190%attr(755,root,root) %{_bindir}/l20n2po
7302cc70 191%attr(755,root,root) %{_bindir}/moz2po
040ffc05 192%attr(755,root,root) %{_bindir}/mozlang2po
7302cc70
ER
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
040ffc05 197%attr(755,root,root) %{_bindir}/phppo2pypo
7302cc70
ER
198%attr(755,root,root) %{_bindir}/po2csv
199%attr(755,root,root) %{_bindir}/po2html
200%attr(755,root,root) %{_bindir}/po2ical
040ffc05 201%attr(755,root,root) %{_bindir}/po2idml
7302cc70
ER
202%attr(755,root,root) %{_bindir}/po2ini
203%attr(755,root,root) %{_bindir}/po2json
4e40f5b6 204%attr(755,root,root) %{_bindir}/po2l20n
7302cc70 205%attr(755,root,root) %{_bindir}/po2moz
040ffc05 206%attr(755,root,root) %{_bindir}/po2mozlang
7302cc70
ER
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
e7e1603a 211%attr(755,root,root) %{_bindir}/po2resx
7302cc70
ER
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
040ffc05
ER
242%attr(755,root,root) %{_bindir}/pydiff
243%attr(755,root,root) %{_bindir}/pypo2phppo
7302cc70 244%attr(755,root,root) %{_bindir}/rc2po
e7e1603a 245%attr(755,root,root) %{_bindir}/resx2po
7302cc70
ER
246%attr(755,root,root) %{_bindir}/sub2po
247%attr(755,root,root) %{_bindir}/symb2po
4e40f5b6 248%attr(755,root,root) %{_bindir}/tbx2po
7302cc70
ER
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
ddf0bb66 257%if %{with doc}
7302cc70
ER
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*
7302cc70
ER
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*
bfe6e619 279%{_mandir}/man1/po2resx.1*
7302cc70
ER
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*
bfe6e619 304%{_mandir}/man1/resx2po.1*
7302cc70
ER
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*
ddf0bb66 314%endif
7302cc70
ER
315
316%dir %{_datadir}/%{name}
99fd2fc7 317%dir %{_datadir}/%{name}/langmodels
ef4d56ba
ER
318%{_datadir}/%{name}/langmodels/README
319%{_datadir}/%{name}/stoplist-en
320%{_datadir}/%{name}/langmodels/fpdb.conf
321
8bac6c88 322%lang(af) %{_datadir}/%{name}/langmodels/afrikaans.lm
8bac6c88 323%lang(ar) %{_datadir}/%{name}/langmodels/arabic.lm
8bac6c88 324%lang(be) %{_datadir}/%{name}/langmodels/belarus.lm
8bac6c88 325%lang(br) %{_datadir}/%{name}/langmodels/breton.lm
75b46e05 326%lang(bs) %{_datadir}/%{name}/langmodels/bosnian.lm
8bac6c88 327%lang(ca) %{_datadir}/%{name}/langmodels/catalan.lm
75b46e05 328%lang(cy) %{_datadir}/%{name}/langmodels/welsh.lm
ef4d56ba
ER
329%lang(cz) %{_datadir}/%{name}/langmodels/czech.lm
330%lang(da) %{_datadir}/%{name}/langmodels/danish.lm
75b46e05
ER
331%lang(de) %{_datadir}/%{name}/langmodels/german.lm
332%lang(el) %{_datadir}/%{name}/langmodels/greek.lm
ef4d56ba 333%lang(en) %{_datadir}/%{name}/langmodels/english.lm
8bac6c88 334%lang(eo) %{_datadir}/%{name}/langmodels/esperanto.lm
75b46e05 335%lang(es) %{_datadir}/%{name}/langmodels/spanish.lm
ef4d56ba 336%lang(et) %{_datadir}/%{name}/langmodels/estonian.lm
75b46e05 337%lang(eu) %{_datadir}/%{name}/langmodels/basque.lm
ef4d56ba
ER
338%lang(fi) %{_datadir}/%{name}/langmodels/finnish.lm
339%lang(fr) %{_datadir}/%{name}/langmodels/french.lm
8bac6c88 340%lang(fy) %{_datadir}/%{name}/langmodels/frisian.lm
75b46e05
ER
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
8bac6c88 345%lang(he) %{_datadir}/%{name}/langmodels/hebrew.lm
75b46e05 346%lang(hr) %{_datadir}/%{name}/langmodels/croatian.lm
ef4d56ba 347%lang(hu) %{_datadir}/%{name}/langmodels/hungarian.lm
8bac6c88 348%lang(id) %{_datadir}/%{name}/langmodels/indonesian.lm
75b46e05 349%lang(is) %{_datadir}/%{name}/langmodels/icelandic.lm
ef4d56ba
ER
350%lang(it) %{_datadir}/%{name}/langmodels/italian.lm
351%lang(ja) %{_datadir}/%{name}/langmodels/japanese.lm
ef4d56ba 352%lang(lt) %{_datadir}/%{name}/langmodels/lithuanian.lm
75b46e05 353%lang(lv) %{_datadir}/%{name}/langmodels/latvian.lm
8bac6c88 354%lang(ms) %{_datadir}/%{name}/langmodels/malay.lm
543a80ef 355%lang(nd) %{_datadir}/%{name}/langmodels/Ndebele.lm
75b46e05 356%lang(nl) %{_datadir}/%{name}/langmodels/dutch.lm
8bac6c88 357%lang(no) %{_datadir}/%{name}/langmodels/norwegian.lm
ef4d56ba
ER
358%lang(po) %{_datadir}/%{name}/langmodels/polish.lm
359%lang(pt) %{_datadir}/%{name}/langmodels/portuguese.lm
8bac6c88 360%lang(qu) %{_datadir}/%{name}/langmodels/quechua.lm
8bac6c88 361%lang(rm) %{_datadir}/%{name}/langmodels/romansh.lm
75b46e05 362%lang(ro) %{_datadir}/%{name}/langmodels/romanian.lm
ef4d56ba 363%lang(ru) %{_datadir}/%{name}/langmodels/russian.lm
8bac6c88 364%lang(sk) %{_datadir}/%{name}/langmodels/slovenian.lm
75b46e05
ER
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
543a80ef
ER
369%lang(ss) %{_datadir}/%{name}/langmodels/Swati.lm
370%lang(st) %{_datadir}/%{name}/langmodels/NorthernSotho.lm
371%lang(st) %{_datadir}/%{name}/langmodels/Sotho.lm
ef4d56ba 372%lang(sv) %{_datadir}/%{name}/langmodels/swedish.lm
75b46e05 373%lang(sw) %{_datadir}/%{name}/langmodels/swahili.lm
8bac6c88 374%lang(tl) %{_datadir}/%{name}/langmodels/tagalog.lm
543a80ef 375%lang(tn) %{_datadir}/%{name}/langmodels/Tswana.lm
8bac6c88 376%lang(tr) %{_datadir}/%{name}/langmodels/turkish.lm
543a80ef 377%lang(ts) %{_datadir}/%{name}/langmodels/Tsonga.lm
ef4d56ba 378%lang(uk) %{_datadir}/%{name}/langmodels/ukrainian.lm
543a80ef 379%lang(ve) %{_datadir}/%{name}/langmodels/Venda.lm
8bac6c88 380%lang(vi) %{_datadir}/%{name}/langmodels/vietnamese.lm
543a80ef 381%lang(xh) %{_datadir}/%{name}/langmodels/Xhosa.lm
75b46e05
ER
382%lang(zh_CN) %{_datadir}/%{name}/langmodels/chinese_simplified.lm
383%lang(zh_TW) %{_datadir}/%{name}/langmodels/chinese_traditional.lm
543a80ef 384%lang(zu) %{_datadir}/%{name}/langmodels/Zulu.lm
ef4d56ba
ER
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
ef4d56ba 395%{py_sitescriptdir}/translate_toolkit-*.egg-info
ef4d56ba 396
dcc865ec
ER
397%if %{with doc}
398%files doc
399%defattr(644,root,root,755)
7302cc70 400%doc docs/_build/html/*
dcc865ec
ER
401%endif
402
403%if %{with apidocs}
ef4d56ba
ER
404%files apidocs
405%defattr(644,root,root,755)
406%doc translate/doc/api/*
dcc865ec 407%endif
This page took 0.116879 seconds and 4 git commands to generate.