Blob Blame History Raw
%{!?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:        2%{?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
* Tue Jul 16 2013 Ding-Yi Chen <dchen@redhat.com> - 1.0.3-2
- Fix the build for EL6 and EL5 (without python3-polib)

* Tue Jul 16 2013 Ding-Yi Chen <dchen@redhat.com> - 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 <rel-eng@lists.fedoraproject.org> - 1.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Mon Jul 30 2012 Ding-Yi Chen <dchen@redhat.com> - 1.0.0-1
- Upstream update to 1.0.0

* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Tue Nov 01 2011 Ding-Yi Chen <dchen@redhat.com> - 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 <dchen@redhat.com> - 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 <rel-eng@lists.fedoraproject.org> - 0.5.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 0.5.1-2
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild

* Mon Dec 14 2009 Diego Búrigo Zacarão <diegobz@gmail.com> - 0.5.1-1
- Updated to 0.5.1 release

* Wed Aug 19 2009 Diego Búrigo Zacarão <diegobz@gmail.com> - 0.4.2-1
- Updated to 0.4.2 release

* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.0-2.20080217svnr60
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Wed Feb 18 2009 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> 0.4.0-1.20080217svnr60
- Initial RPM release