8e7c42
%if 0%{?fedora} || 0%{?rhel} >= 8
8e7c42
%bcond_without python3
8e7c42
%else
8e7c42
%bcond_with python3
8e7c42
%{!?python2_sitearch: %global python2_sitearch %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
8e7c42
%endif
8e7c42
8e7c42
Name:           PyYAML
8e7c42
Version:        3.12
8e7c42
Release:        16%{?dist}
8e7c42
Summary:        YAML parser and emitter for Python
8e7c42
8e7c42
Group:          Development/Libraries
8e7c42
License:        MIT
8e7c42
URL:            http://pyyaml.org/
8e7c42
Source0:        http://pyyaml.org/download/pyyaml/%{name}-%{version}.tar.gz
8e7c42
BuildRequires:  gcc
8e7c42
BuildRequires:  python2-devel
8e7c42
BuildRequires:  python2-setuptools
8e7c42
BuildRequires:  python2-Cython
8e7c42
BuildRequires:  libyaml-devel
8e7c42
%if %{with python3}
8e7c42
BuildRequires: python3-devel
8e7c42
BuildRequires: python3-setuptools
8e7c42
BuildRequires: python3-Cython
8e7c42
%endif
8e7c42
8e7c42
%global _description\
8e7c42
YAML is a data serialization format designed for human readability and\
8e7c42
interaction with scripting languages.  PyYAML is a YAML parser and\
8e7c42
emitter for Python.\
8e7c42
\
8e7c42
PyYAML features a complete YAML 1.1 parser, Unicode support, pickle\
8e7c42
support, capable extension API, and sensible error messages.  PyYAML\
8e7c42
supports standard YAML tags and provides Python-specific tags that\
8e7c42
allow to represent an arbitrary Python object.\
8e7c42
\
8e7c42
PyYAML is applicable for a broad range of tasks from complex\
8e7c42
configuration files to object serialization and persistance.
8e7c42
8e7c42
%description %_description
8e7c42
8e7c42
%package -n python2-pyyaml
8e7c42
Summary: %summary
8e7c42
Provides:       python2-yaml = %{version}-%{release}
8e7c42
Provides:       python2-yaml%{?_isa} = %{version}-%{release}
8e7c42
%{?python_provide:%python_provide python2-pyyaml}
8e7c42
Obsoletes: PyYAML < %{version}-%{release}
8e7c42
8e7c42
%description -n python2-pyyaml %_description
8e7c42
8e7c42
%if %{with python3}
8e7c42
%package -n python3-PyYAML
8e7c42
Summary: YAML parser and emitter for Python
8e7c42
Group: Development/Libraries
8e7c42
Provides: python3-yaml = %{version}-%{release}
8e7c42
Provides: python3-yaml%{?_isa} = %{version}-%{release}
8e7c42
8e7c42
%description -n python3-PyYAML
8e7c42
YAML is a data serialization format designed for human readability and
8e7c42
interaction with scripting languages.  PyYAML is a YAML parser and
8e7c42
emitter for Python.
8e7c42
8e7c42
PyYAML features a complete YAML 1.1 parser, Unicode support, pickle
8e7c42
support, capable extension API, and sensible error messages.  PyYAML
8e7c42
supports standard YAML tags and provides Python-specific tags that
8e7c42
allow to represent an arbitrary Python object.
8e7c42
8e7c42
PyYAML is applicable for a broad range of tasks from complex
8e7c42
configuration files to object serialization and persistance.
8e7c42
%endif
8e7c42
8e7c42
8e7c42
%prep
8e7c42
%setup -q -n %{name}-%{version}
8e7c42
chmod a-x examples/yaml-highlight/yaml_hl.py
8e7c42
8e7c42
# remove pre-generated file
8e7c42
rm -rf ext/_yaml.c
8e7c42
8e7c42
8e7c42
%build
8e7c42
# regenerate ext/_yaml.c
8e7c42
CFLAGS="${RPM_OPT_FLAGS}" %{__python2} setup.py --with-libyaml build_ext
8e7c42
8e7c42
%if %{with python3}
8e7c42
rm -rf %{py3dir}
8e7c42
# ext/_yaml.c is needed
8e7c42
cp -a . %{py3dir}
8e7c42
pushd %{py3dir}
8e7c42
CFLAGS="${RPM_OPT_FLAGS}" %{__python3} setup.py --with-libyaml build
8e7c42
popd
8e7c42
%endif
8e7c42
8e7c42
CFLAGS="${RPM_OPT_FLAGS}" %{__python2} setup.py --with-libyaml build
8e7c42
8e7c42
8e7c42
%install
8e7c42
%{__python2} setup.py install -O1 --skip-build --root %{buildroot}
8e7c42
8e7c42
%if %{with python3}
8e7c42
pushd %{py3dir}
8e7c42
%{__python3} setup.py install -O1 --skip-build --root %{buildroot}
8e7c42
popd
8e7c42
%endif
8e7c42
8e7c42
8e7c42
%check
8e7c42
%{__python2} setup.py test
8e7c42
8e7c42
%if %{with python3}
8e7c42
pushd %{py3dir}
8e7c42
%{__python3} setup.py test
8e7c42
popd
8e7c42
%endif
8e7c42
8e7c42
8e7c42
%files -n python2-pyyaml
8e7c42
%{!?_licensedir:%global license %%doc}
8e7c42
%license LICENSE
8e7c42
%doc CHANGES PKG-INFO README examples
8e7c42
%{python2_sitearch}/*
8e7c42
8e7c42
%if %{with python3}
8e7c42
%files -n python3-PyYAML
8e7c42
%{!?_licensedir:%global license %%doc}
8e7c42
%license LICENSE
8e7c42
%doc CHANGES PKG-INFO README examples
8e7c42
%{python3_sitearch}/*
8e7c42
%endif
8e7c42
8e7c42
8e7c42
%changelog
8e7c42
* Wed Apr 03 2019 Tomas Orsava <torsava@redhat.com> - 3.12-16
8e7c42
- Bumping due to problems with modular RPM upgrade path
8e7c42
- Resolves: rhbz#1695587
8e7c42
8e7c42
* Tue Oct 09 2018 Lumír Balhar <lbalhar@redhat.com> - 3.12-15
8e7c42
- Remove unversioned provides
8e7c42
- Resolves: rhbz#1628242
8e7c42
8e7c42
* Fri Oct 05 2018 Lumír Balhar <lbalhar@redhat.com> - 3.12-14
8e7c42
- Remove unversioned provides
8e7c42
- Resolves: rhbz#1628242
8e7c42
8e7c42
* Tue Oct 02 2018 Lumír Balhar <lbalhar@redhat.com> - 3.12-13
8e7c42
- Fix unversioned requires/buildrequires
8e7c42
- Resolves: rhbz#1628242
8e7c42
8e7c42
* Tue Jul 31 2018 Lumír Balhar <lbalhar@redhat.com> - 3.12-12
8e7c42
- Switch python3 coditions to bcond
8e7c42
8e7c42
* Mon Jun 25 2018 Tomas Orsava <torsava@redhat.com> - 3.12-11
8e7c42
- Use python2 macros instead of unversioned python macros
8e7c42
8e7c42
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.12-10
8e7c42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
8e7c42
8e7c42
* Mon Dec 11 2017 Iryna Shcherbina <ishcherb@redhat.com> - 3.12-9
8e7c42
- Fix ambiguous Python 2 dependency declarations
8e7c42
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
8e7c42
8e7c42
* Wed Sep 27 2017 Troy Dawson <tdawson@redhat.com> - 3.12-8
8e7c42
- Cleanup spec file conditionals
8e7c42
8e7c42
* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.12-7
8e7c42
- Add Provides for the old name without %%_isa
8e7c42
8e7c42
* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.12-6
8e7c42
- Python 2 binary package renamed to python2-pyyaml
8e7c42
  See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
8e7c42
8e7c42
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.12-5
8e7c42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
8e7c42
8e7c42
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.12-4
8e7c42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
8e7c42
8e7c42
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.12-3
8e7c42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
8e7c42
8e7c42
* Mon Dec 12 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.12-2
8e7c42
- Rebuild for Python 3.6
8e7c42
8e7c42
* Mon Aug 29 2016 John Eckersberg <eck@redhat.com> - 3.12-1
8e7c42
- New upstream release 3.12 (RHBZ#1371150)
8e7c42
8e7c42
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.11-13
8e7c42
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
8e7c42
8e7c42
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.11-12
8e7c42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
8e7c42
8e7c42
* Tue Dec  8 2015 John Eckersberg <eck@redhat.com> - 3.11-11
8e7c42
- Add provides for python3-yaml (RHBZ#1288807)
8e7c42
8e7c42
* Tue Nov 03 2015 Robert Kuska <rkuska@redhat.com> - 3.11-10
8e7c42
- Rebuilt for Python3.5 rebuild
8e7c42
8e7c42
* Fri Jul 17 2015 John Eckersberg <eck@redhat.com> - 3.11-9
8e7c42
- Add provides for python2-yaml (RHBZ#1241678)
8e7c42
8e7c42
* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.11-8
8e7c42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
8e7c42
8e7c42
* Mon Mar 23 2015 John Eckersberg <eck@redhat.com> - 3.11-7
8e7c42
- Add patch for CVE-2014-9130 (bug 1204829)
8e7c42
8e7c42
* Mon Sep 15 2014 Jakub Čajka <jcajka@redhat.com> - 3.11-6
8e7c42
- fixed typecast issues using debian patch(int->size_t)(BZ#1140189)
8e7c42
- spec file cleanup
8e7c42
8e7c42
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.11-5
8e7c42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
8e7c42
8e7c42
* Mon Aug  4 2014 Tom Callaway <spot@fedoraproject.org> - 3.11-4
8e7c42
- fix license handling
8e7c42
8e7c42
* Fri Jun 06 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.11-3
8e7c42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
8e7c42
8e7c42
* Wed May 14 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 3.11-2
8e7c42
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
8e7c42
8e7c42
* Mon Apr 21 2014 John Eckersberg <jeckersb@redhat.com> - 3.11-1
8e7c42
- New upstream release 3.11 (BZ#1081521)
8e7c42
8e7c42
* Thu Aug  8 2013 John Eckersberg <jeckersb@redhat.com> - 3.10-9
8e7c42
- Add check section and run test suite
8e7c42
8e7c42
* Fri Aug 02 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10-8
8e7c42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
8e7c42
8e7c42
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10-7
8e7c42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
8e7c42
8e7c42
* Sat Aug 04 2012 David Malcolm <dmalcolm@redhat.com> - 3.10-6
8e7c42
- rebuild for https://fedoraproject.org/wiki/Features/Python_3.3
8e7c42
8e7c42
* Wed Aug  1 2012 David Malcolm <dmalcolm@redhat.com> - 3.10-5
8e7c42
- remove rhel logic from with_python3 conditional
8e7c42
8e7c42
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10-4
8e7c42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
8e7c42
8e7c42
* Fri Apr 27 2012 John Eckersberg <jeckersb@redhat.com> - 3.10-3
8e7c42
- Add Provides for python-yaml (BZ#740390)
8e7c42
8e7c42
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10-2
8e7c42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
8e7c42
8e7c42
* Thu Jun 23 2011 John Eckersberg <jeckersb@redhat.com> - 3.10-1
8e7c42
- New upstream release 3.10
8e7c42
8e7c42
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.09-8
8e7c42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
8e7c42
8e7c42
* Wed Feb  2 2011 John Eckersberg <jeckersb@redhat.com> - 3.09-7
8e7c42
- Add support to build for python 3
8e7c42
8e7c42
* Tue Jul 27 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 3.09-6
8e7c42
- Bump release number for upgrade path
8e7c42
8e7c42
* Wed Jul 21 2010 David Malcolm <dmalcolm@redhat.com> - 3.09-3
8e7c42
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
8e7c42
8e7c42
* Fri Oct 02 2009 John Eckersberg <jeckersb@redhat.com> - 3.09-1
8e7c42
- New upstream release 3.09
8e7c42
8e7c42
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.08-6
8e7c42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
8e7c42
8e7c42
* Wed Jul 22 2009 - John Eckersberg <jeckersb@redhat.com> - 3.08-5
8e7c42
- Minor tweaks to spec file aligning with latest Fedora packaging guidelines
8e7c42
- Enforce inclusion of libyaml in build with --with-libyaml option to setup.py
8e7c42
- Deliver to %%{python_sitearch} instead of %%{python_sitelib} due to _yaml.so
8e7c42
- Thanks to Gareth Armstrong <gareth.armstrong@hp.com>
8e7c42
8e7c42
* Tue Mar 3 2009 John Eckersberg <jeckersb@redhat.com> - 3.08-4
8e7c42
- Correction, change libyaml to libyaml-devel in BuildRequires
8e7c42
8e7c42
* Mon Mar 2 2009 John Eckersberg <jeckersb@redhat.com> - 3.08-3
8e7c42
- Add libyaml to BuildRequires
8e7c42
8e7c42
* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.08-2
8e7c42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
8e7c42
8e7c42
* Wed Feb 18 2009 John Eckersberg <jeckersb@redhat.com> - 3.08-1
8e7c42
- New upstream release
8e7c42
8e7c42
* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 3.06-2
8e7c42
- Rebuild for Python 2.6
8e7c42
8e7c42
* Fri Oct 24 2008 John Eckersberg <jeckersb@redhat.com> - 3.06-1
8e7c42
- New upstream release
8e7c42
8e7c42
* Wed Jan 02 2008 John Eckersberg <jeckersb@redhat.com> - 3.05-2
8e7c42
- Remove explicit dependency on python >= 2.3
8e7c42
- Remove executable on example script in docs
8e7c42
8e7c42
* Mon Dec 17 2007 John Eckersberg <jeckersb@redhat.com> - 3.05-1
8e7c42
- Initial packaging for Fedora