%global realname mutagen
# Share doc between python- and python3-
%global _docdir_fmt %{name}

%if 0%{?fedora}
%bcond_without python3
%else
%bcond_with python3
%endif

Name:           python-%{realname}
Version:        1.36
Release:        1%{?dist}
Summary:        Mutagen is a Python module to handle audio meta-data

Group:          Development/Languages
License:        GPLv2
URL:            https://bitbucket.org/lazka/mutagen/overview
Source0:        https://bitbucket.org/lazka/mutagen/downloads/mutagen-%{version}.tar.gz

BuildArch:      noarch
BuildRequires:  python2-devel
BuildRequires:  python2-pytest
BuildRequires:  python2-sphinx
%if %{with python3}
BuildRequires:  python3-devel
BuildRequires:  python3-pytest
%endif

%description
Mutagen is a Python module to handle audio meta-data. It supports
reading ID3 (all versions), APEv2, FLAC, and Ogg Vorbis/FLAC/Theora.
It can write ID3v1.1, ID3v2.4, APEv2, FLAC, and Ogg Vorbis/FLAC/Theora
comments. It can also read MPEG audio and Xing headers, FLAC stream
info blocks, and Ogg Vorbis/FLAC/Theora stream headers. Finally, it
includes a module to handle generic Ogg bit-streams.

%package doc
Summary:        Documentation for python-mutagen

%description doc
Contains the html documentation for python mutagen.

%if %{with python3}
%package -n python3-%{realname}
Summary:        Mutagen is a Python module to handle audio meta-data

%description -n python3-%{realname}
Mutagen is a Python module to handle audio meta-data. It supports
reading ID3 (all versions), APEv2, FLAC, and Ogg Vorbis/FLAC/Theora.
It can write ID3v1.1, ID3v2.4, APEv2, FLAC, and Ogg Vorbis/FLAC/Theora
comments. It can also read MPEG audio and Xing headers, FLAC stream
info blocks, and Ogg Vorbis/FLAC/Theora stream headers. Finally, it
includes a module to handle generic Ogg bit-streams.
%endif

%prep
%setup -q -n %{realname}-%{version}

%if %{with python3}
rm -rf %{py3dir}
cp -a . %{py3dir}
%endif

%build
%{__python} setup.py build

pushd docs
make
popd

%if %{with python3}
pushd %{py3dir}
%{__python3} setup.py build
popd
%endif

%install
%if %{with python3}
pushd %{py3dir}
%{__python3} setup.py install --skip-build --root %{buildroot}
popd
for file in mid3cp mid3iconv mid3v2 moggsplit mutagen-inspect mutagen-pony ; do
mv %{buildroot}%{_bindir}/$file ./$file.py3
done
%endif

%{__python} setup.py install --skip-build --root %{buildroot}
%{__install} -d %{buildroot}%{_mandir}/man1
%{__install} -p -m 0644 man/*.1 %{buildroot}%{_mandir}/man1

%if %{with python3}
for file in mid3cp mid3iconv mid3v2 moggsplit mutagen-inspect mutagen-pony ; do
mv ./$file.py3 %{buildroot}%{_bindir}/$file
done
%endif

%check
# Without this the testsuite fails with
# RuntimeError: This test suite needs a unicode locale encoding. Try setting LANG=C.UTF-8
# Hopefully all builders have this locale installed/configured
export LANG=en_US.UTF-8
%{__python} setup.py test

%if %{with python3}
pushd %{py3dir}
%{__python3} setup.py test
%endif

%files
%defattr(-,root,root,-)
%doc COPYING NEWS README.rst
%if !%{with python3}
%{_bindir}/m*
%{_mandir}/*/*
%endif
%{python_sitelib}/%{realname}
%{python_sitelib}/%{realname}-%{version}-*.egg-info

%files doc
%doc docs/_build/*

%if %{with python3}
%files -n python3-%{realname}
%doc COPYING NEWS README.rst
%if %{with python3}
%{_bindir}/m*
%{_mandir}/*/*
%endif
%{python3_sitelib}/%{realname}
%{python3_sitelib}/%{realname}*.egg-info
%endif

%changelog
* Fri Dec 23 2016 Michele Baldessari <michele@acksyn.org> - 1.36-1
- New upstream release

* Thu Nov 10 2016 Michele Baldessari <michele@acksyn.org> - 1.35.1
- New upstream release

* Thu Nov 03 2016 Michele Baldessari <michele@acksyn.org> - 1.35
- New upstream release

* Sun Sep 04 2016 Michele Baldessari <michele@acksyn.org> - 1.34.1-1
- New upstream release

* Mon Jul 25 2016 Michele Baldessari <michele@acksyn.org> - 1.34-1
- New upstream release

* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.33.2-2
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages

* Wed Jul 06 2016 Michele Baldessari <michele@acksyn.org> - 1.33.2-1
- New upstream release
- Split docs to -doc subpackage

* Tue May 03 2016 Michele Baldessari <michele@acksyn.org> - 1.32-1
- New upstream release

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.31-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Sat Nov 28 2015 Michele Baldessari <michele@acksyn.org> - 1.31-4
- Fixes tests on big endian architectures (BZ 1270298)

* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.31-3
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5

* Mon Nov  9 2015 Toshio Kuratomi <toshio@fedoraproject.org> - - 1.31-2
- Move the scripts to the python3 package.  This fixes two issues:
  * The scripts couldn't work without manual intervention because they required
    the python3 versions the library but no dep existed to bring them in.
  * The python2 version of the package required /usr/bin/python3

* Thu Sep 10 2015 Michele Baldessari <michele@acksyn.org> - 1.31-1
- New upstream release

* Mon Aug 24 2015 Michele Baldessari <michele@acksyn.org> - 1.30-1
- New upstream release

* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.29-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Sun May 10 2015 Michele Baldessari <michele@acksyn.org> - 1.29-1
- New upstream release

* Sat Mar 07 2015 Michele Baldessari <michele@acksyn.org> - 1.28-1
- New upstream release (BZ#1199683)

* Sun Mar 01 2015 Michele Baldessari <michele@acksyn.org> - 1.27-2
- Add initial Python 3 support on Fedora

* Mon Dec 15 2014 Michele Baldessari <michele@acksyn.org> - 1.27-1
- New upstream release
- Only use macro style for buildroot

* Sun Nov 23 2014 Michele Baldessari <michele@acksyn.org> - 1.26-1
- Fixed homepage and source URL
- Set python2-devel as BR
- Fix documentation building and shipping
- Fix spelling errors in description

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.20-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.20-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.20-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

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

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

* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.20-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Sun Dec 19 2010 Silas Sewell <silas@sewell.ch> - 1.20-1
- Update to 1.20

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

* Tue Jul 06 2010 Silas Sewell <silas@sewell.ch> - 1.19-1
- Update to 1.19
- Add tests

* Thu Feb 18 2010 Silas Sewell <silas@sewell.ch> - 1.18-1
- Update to 1.18

* Thu Oct 22 2009 Silas Sewell <silas@sewell.ch> - 1.17-1
- Update to 1.17

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

* Thu Jul 02 2009 Silas Sewell <silas@sewell.ch> - 1.16-1
- Update to 1.16
- New project URLs

* Sun Apr 12 2009 Silas Sewell <silas@sewell.ch> - 1.15-3
- Normalize spec

* Fri Apr 10 2009 Silas Sewell <silas@sewell.ch> - 1.15-2
- Make sed safer
- Add back in removed changelogs

* Sun Mar 29 2009 Silas Sewell <silas@sewell.ch> - 1.15-1
- Update to 1.15

* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.13-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 1.13-3
- Rebuild for Python 2.6

* Mon Dec 31 2007 Michał Bentkowski <mr.ecik at gmail.com> - 1.13-2
- Add egg-info to package

* Mon Dec 31 2007 Michał Bentkowski <mr.ecik at gmail.com> - 1.13-1
- 1.13

* Sat Aug 25 2007 Michał Bentkowski <mr.ecik at gmail.com> - 1.12-1
- Update to 1.12
- License tag fix

* Sat Apr 28 2007 Michał Bentkowski <mr.ecik at gmail.com> - 1.11-1
- Update to 1.11

* Wed Jan 31 2007 Michał Bentkowski <mr.ecik at gmail.com> - 1.10.1-1
- Update to 1.10.1

* Wed Dec 20 2006 Michał Bentkowski <mr.ecik at gmail.com> - 1.9-1
- Bump to 1.9

* Tue Dec 12 2006 Michał Bentkowski <mr.ecik at gmail.com> - 1.8-2
- Python 2.5 rebuild

* Sun Oct 29 2006 Michał Bentkowski <mr.ecik at gmail.com> - 1.8-1
- Bump to 1.8

* Fri Sep 29 2006 Michał Bentkowski <mr.ecik at gmail.com> - 1.6-2
- .pyo files no longer ghosted

* Fri Aug 11 2006 Michał Bentkowski <mr.ecik at gmail.com> - 1.6-1
- Update upstream to 1.6

* Fri Jul 21 2006 Michał Bentkowski <mr.ecik at gmail.com> - 1.5.1-5
- Some fixes in preamble.
- Change name from mutagen to python-mutagen.
- Delete CFLAGS declaration.

* Thu Jul 20 2006 Michał Bentkowski <mr.ecik at gmail.com> - 1.5.1-4
- Add BuildArch: noarch to preamble.

* Sat Jul 15 2006 Michał Bentkowski <mr.ecik at gmail.com> - 1.5.1-3
- Remove python-abi dependency.
- Prep section deletes first two lines in __init__.py file due to rpmlint error.

* Sat Jul 15 2006 Michał Bentkowski <mr.ecik at gmail.com> - 1.5.1-2
- Clean at files section.
- Fix charset in TUTORIAL file.

* Fri Jul 14 2006 Michał Bentkowski <mr.ecik at gmail.com> - 1.5.1-1
- First build.