%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} %if 0%{?rhel} %if 0%{?rhel} <= 5 %{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} %endif %else %if 0%{?fedora} %if 0%{?fedora} >12 %global with_python3 1 %else %{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())")} %endif %endif Name: python-polib Version: 1.0.3 Release: 5%{?dist} Summary: A library to parse and manage gettext catalogs Group: Development/Languages License: MIT URL: http://bitbucket.org/izi/polib/ Source0: http://bitbucket.org/izi/polib/downloads/polib-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) #Patch0: polib-%{version}_dbafdc621bf4.patch BuildArch: noarch BuildRequires: python-devel %description polib allows you to manipulate, create, modify gettext files (pot, po and mo files). You can load existing files, iterate through it's entries, add, modify entries, comments or metadata, etc... or create new po files from scratch. polib provides a simple and pythonic API, exporting only three convenience functions 'pofile', 'mofile' and 'detect_encoding', and the 4 core classes: POFile, MOFile, POEntry and MOEntry for creating new files/entries. %if 0%{?with_python3} %package -n python3-polib Summary: A library to parse and manage gettext catalogs in python 3 Group: Development/Languages BuildRequires: python3-devel Requires: %{name} = %{version}-%{release} %description -n python3-polib polib allows you to manipulate, create, modify gettext files (pot, po and mo files). You can load existing files, iterate through it's entries, add, modify entries, comments or metadata, etc... or create new po files from scratch. polib provides a simple and pythonic API, exporting only three convenience functions 'pofile', 'mofile' and 'detect_encoding', and the 4 core classes: POFile, MOFile, POEntry and MOEntry for creating new files/entries. %endif %prep %setup -q -n polib-%{version} #%patch0 -p1 -b .%{version}_dbafdc621bf4 %if 0%{?with_python3} rm -rf %{py3dir} cp -a . %{py3dir} find %{py3dir} -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python3}|' %endif %build %{__python} setup.py build %if 0%{?with_python3} pushd %{py3dir} %{__python3} setup.py build popd %endif %check %if 0%{?fedora} %{__python} setup.py check %if 0%{?with_python3} pushd %{py3dir} %{__python3} setup.py check popd %endif %endif %install rm -rf $RPM_BUILD_ROOT %{__python} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT %if 0%{?with_python3} pushd %{py3dir} %{__python3} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT popd %endif %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc LICENSE README.rst %{python_sitelib}/* %if 0%{?with_python3} %files -n python3-polib %defattr(-,root,root,-) %doc LICENSE README.rst %{python3_sitelib}/* %endif %changelog * Sat Jun 07 2014 Fedora Release Engineering - 1.0.3-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Wed May 28 2014 Kalev Lember - 1.0.3-4 - Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 * Sun Aug 04 2013 Fedora Release Engineering - 1.0.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Tue Jul 16 2013 Ding-Yi Chen - 1.0.3-2 - Fix the build for EL6 and EL5 (without python3-polib) * Tue Jul 16 2013 Ding-Yi Chen - 1.0.3-1 - python3 binding is available (python3-polib) - Fixed Bug 978672 - This package should be updated. - Upstream update to 1.0.3 - Version 1.0.3 (2013/02/09) Fixed issue #38: POFile.append() raised a duplicate exception when you tried to add a new entry with the same msgid and a different msgctxt (only when check_for_duplicates option is set to True) Fixed issue #39: Added __init__.py file for convenience Fixed issue #41: UnicodeDecodeError when running setup.py build on python3 with C locale polib is now fully PEP8 compliant Small improvements: remove unused "typ" var (thanks Rodrigo Silva), mproved Makefile, Make sure _BaseFile.__contains__ returns a boolean value - Version 1.0.2 (2012/10/23) allow empty comments, flags or occurences lines - Version 1.0.1 (2012/09/11) speed up POFile.merge method (thanks @encukou) allow comments starting with two '#' characters (thanks @goibhniu) * Thu Feb 14 2013 Fedora Release Engineering - 1.0.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Mon Jul 30 2012 Ding-Yi Chen - 1.0.0-1 - Upstream update to 1.0.0 * Sat Jul 21 2012 Fedora Release Engineering - 0.7.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Sat Jan 14 2012 Fedora Release Engineering - 0.7.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Tue Nov 01 2011 Ding-Yi Chen - 0.7.0-2 - Update to upstream commit dbafdc621bf4, which include following: * Add check for unescaped quotes at the beginning of the string + unit tests * Fixed issue #27 (polib didn't check unescaped double quote) + better error handling * Fixed typos in previous commit * Fixed issue #26 IOError when parsing empty comments (thanks Türker Sezer) * Do not hardcode polib version in doc conf * Fri Oct 28 2011 Ding-Yi Chen - 0.7.0-1 - Correct URLs - Replace README with README.rst - Update to 0.7.0: From Version 0.7.0 (2011/07/14) This version adds support for python 3 (thanks to Vinay Sajip). polib now supports out-of-the-box any version of python ranging from 2.4 to latest 3.X version. From Version 0.6.4 (2011/07/13) * Better api, autodetected_encoding is no longer required to explicitely set the encoding (fixes issue #23), * Fixed issue #24 Support indented PO files (thanks to François Poirotte). From Version 0.6.3 (2011/02/19) * Fixed issue #19 (Disappearing newline characters due to textwrap module), * ensure wrapping works as expected. From Version 0.6.2 (2011/02/09) * Backported textwrap.TextWrapper._wrap_chunks that has support for the drop_whitespace parameter added in Python 2.6 (Fixes #18: broken compatibility with python 2.5, thanks @jezdez). From Version 0.6.1 (2011/02/09) * fixed regression that prevented POFile initialization from data to work (issue #17). From Version 0.6.0 (2011/02/07) * polib is now fully documented, * switched from doctests to unit tests to keep the polib.py file clean, * fixed issue #7 (wrapping issues, thanks @jezdez), * added a __eq__ method to _BaseFile (thanks @kost BebiX), * handle msgctxt correctly when compiling mo files, * compiled mo files are now exactly the same as those compiled by msgfmt without using hash tables. From Version 0.5.5 (2010/10/30) * Removed multiline handling code, it was a mess and was the source of potential bugs like issue #11, * Fixed typo in README and CHANGELOG, fixes issue #13. From Version 0.5.4 (2010/10/02) * fixed an issue with detect_encoding(), in some cases it could return an invalid charset. From Version 0.5.3 (2010/08/29) * correctly unescape lines containing both \\n and \n (thanks to Martin Geisler), * fixed issue #6: __str__() methods are returning unicode instead of str, * fixed issue #8: POFile.merge error when an entry is obsolete in a .po, that this entry reappears in the .pot and that we merge the two, * added support to instanciate POFile objects using data instead of file path (thanks to Diego Búrigo Zacarão), * fixed issue #9: POFile.merge drop fuzzy attributes from translations (thanks to Tim Gerundt), * fixed issue #10: Finding entries with the same msgid and different context (msgctxt). From Version 0.5.2 (2010/06/09) * fixed issue #1: untranslated_entries() also show fuzzy message, * write back the fuzzy header if present in the pofile, * added support for previous msgctxt, previous msgid and previous msgid_plural comments (fixes issue #5), * better handling of lines wrapping. * Tue Feb 08 2011 Fedora Release Engineering - 0.5.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Thu Jul 22 2010 David Malcolm - 0.5.1-2 - Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild * Mon Dec 14 2009 Diego Búrigo Zacarão - 0.5.1-1 - Updated to 0.5.1 release * Wed Aug 19 2009 Diego Búrigo Zacarão - 0.4.2-1 - Updated to 0.4.2 release * Sun Jul 26 2009 Fedora Release Engineering - 0.4.0-2.20080217svnr60 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Wed Feb 18 2009 Ignacio Vazquez-Abrams 0.4.0-1.20080217svnr60 - Initial RPM release