5cafbe8
%if 0%{?fedora} > 12
50265f1
%global with_python3 1
50265f1
%else
78db20d
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
50265f1
%endif
74ec1ce
74ec1ce
Name:           PyYAML
9448c69
Version:        3.11
6c051be
Release:        11%{?dist}
74ec1ce
Summary:        YAML parser and emitter for Python
74ec1ce
74ec1ce
Group:          Development/Libraries
74ec1ce
License:        MIT
74ec1ce
URL:            http://pyyaml.org/
74ec1ce
Source0:        http://pyyaml.org/download/pyyaml/%{name}-%{version}.tar.gz
3a057b6
BuildRequires:  python-devel, python-setuptools, libyaml-devel
72978d4
BuildRequires:  Cython
72978d4
BuildRequires:  libyaml-devel
927b2d9
Provides:       python-yaml = %{version}-%{release}
0c86512
Provides:       python-yaml%{?_isa} = %{version}-%{release}
d1fc70f
Provides:       python2-yaml = %{version}-%{release}
d1fc70f
Provides:       python2-yaml%{?_isa} = %{version}-%{release}
50265f1
%if 0%{?with_python3}
50265f1
BuildRequires: python3-devel
50265f1
BuildRequires: python3-setuptools
72978d4
BuildRequires: python3-Cython
50265f1
%endif
72978d4
# debian patch, upstream ticket http://pyyaml.org/ticket/247 and
72978d4
# https://bitbucket.org/xi/pyyaml/issue/35/test-fails-on-be-s390-x-ppc64
72978d4
Patch0: debian-big-endian-fix.patch
74ec1ce
c249734
# CVE-2014-9130 assert failure when processing wrapped strings
c249734
# https://bugzilla.redhat.com/show_bug.cgi?id=1204829
c249734
Patch1: PyYAML-CVE-2014-9130.patch
c249734
74ec1ce
%description
74ec1ce
YAML is a data serialization format designed for human readability and
74ec1ce
interaction with scripting languages.  PyYAML is a YAML parser and
74ec1ce
emitter for Python.
74ec1ce
74ec1ce
PyYAML features a complete YAML 1.1 parser, Unicode support, pickle
74ec1ce
support, capable extension API, and sensible error messages.  PyYAML
78db20d
supports standard YAML tags and provides Python-specific tags that
78db20d
allow to represent an arbitrary Python object.
74ec1ce
74ec1ce
PyYAML is applicable for a broad range of tasks from complex
74ec1ce
configuration files to object serialization and persistance.
74ec1ce
50265f1
%if 0%{?with_python3}
50265f1
%package -n python3-PyYAML
50265f1
Summary: YAML parser and emitter for Python
50265f1
Group: Development/Libraries
6c051be
Provides: python3-yaml = %{version}-%{release}
6c051be
Provides: python3-yaml%{?_isa} = %{version}-%{release}
50265f1
50265f1
%description -n python3-PyYAML
50265f1
YAML is a data serialization format designed for human readability and
50265f1
interaction with scripting languages.  PyYAML is a YAML parser and
50265f1
emitter for Python.
50265f1
50265f1
PyYAML features a complete YAML 1.1 parser, Unicode support, pickle
50265f1
support, capable extension API, and sensible error messages.  PyYAML
50265f1
supports standard YAML tags and provides Python-specific tags that
50265f1
allow to represent an arbitrary Python object.
50265f1
50265f1
PyYAML is applicable for a broad range of tasks from complex
50265f1
configuration files to object serialization and persistance.
50265f1
%endif
50265f1
50265f1
74ec1ce
%prep
74ec1ce
%setup -q -n %{name}-%{version}
72978d4
%patch0 -p1 -b .be
78db20d
chmod a-x examples/yaml-highlight/yaml_hl.py
74ec1ce
c249734
%patch1 -p1
c249734
72978d4
# remove pre-generated file
72978d4
rm -rf ext/_yaml.c
50265f1
74ec1ce
74ec1ce
%build
72978d4
# regenerate ext/_yaml.c
72978d4
CFLAGS="${RPM_OPT_FLAGS}" %{__python} setup.py --with-libyaml build_ext
74ec1ce
50265f1
%if 0%{?with_python3}
72978d4
rm -rf %{py3dir}
72978d4
# ext/_yaml.c is needed
72978d4
cp -a . %{py3dir}
50265f1
pushd %{py3dir}
50265f1
CFLAGS="${RPM_OPT_FLAGS}" %{__python3} setup.py --with-libyaml build
50265f1
popd
50265f1
%endif
50265f1
72978d4
CFLAGS="${RPM_OPT_FLAGS}" %{__python} setup.py --with-libyaml build
72978d4
74ec1ce
74ec1ce
%install
78db20d
%{__python} setup.py install -O1 --skip-build --root %{buildroot}
74ec1ce
50265f1
%if 0%{?with_python3}
50265f1
pushd %{py3dir}
50265f1
%{__python3} setup.py install -O1 --skip-build --root %{buildroot}
50265f1
popd
50265f1
%endif
50265f1
74ec1ce
5609e58
%check
5609e58
%{__python} setup.py test
5609e58
5609e58
%if 0%{?with_python3}
5609e58
pushd %{py3dir}
5609e58
%{__python3} setup.py test
5609e58
popd
5609e58
%endif
5609e58
5609e58
74ec1ce
%files
d5e73fe
%{!?_licensedir:%global license %%doc}
d5e73fe
%license LICENSE
d5e73fe
%doc CHANGES PKG-INFO README examples
78db20d
%{python_sitearch}/*
74ec1ce
50265f1
%if 0%{?with_python3}
50265f1
%files -n python3-PyYAML
d5e73fe
%{!?_licensedir:%global license %%doc}
d5e73fe
%license LICENSE
d5e73fe
%doc CHANGES PKG-INFO README examples
50265f1
%{python3_sitearch}/*
50265f1
%endif
50265f1
74ec1ce
74ec1ce
%changelog
6c051be
* Tue Dec  8 2015 John Eckersberg <eck@redhat.com> - 3.11-11
6c051be
- Add provides for python3-yaml (RHBZ#1288807)
6c051be
Robert Kuska 4dac1c6
* Tue Nov 03 2015 Robert Kuska <rkuska@redhat.com> - 3.11-10
Robert Kuska 4dac1c6
- Rebuilt for Python3.5 rebuild
Robert Kuska 4dac1c6
d1fc70f
* Fri Jul 17 2015 John Eckersberg <eck@redhat.com> - 3.11-9
d1fc70f
- Add provides for python2-yaml (RHBZ#1241678)
d1fc70f
58939d7
* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.11-8
58939d7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
58939d7
c249734
* Mon Mar 23 2015 John Eckersberg <eck@redhat.com> - 3.11-7
c249734
- Add patch for CVE-2014-9130 (bug 1204829)
c249734
72978d4
* Mon Sep 15 2014 Jakub ńĆajka <jcajka@redhat.com> - 3.11-6
72978d4
- fixed typecast issues using debian patch(int->size_t)(BZ#1140189)
72978d4
- spec file cleanup
72978d4
21632c5
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.11-5
21632c5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
21632c5
d5e73fe
* Mon Aug  4 2014 Tom Callaway <spot@fedoraproject.org> - 3.11-4
d5e73fe
- fix license handling
d5e73fe
6247260
* Fri Jun 06 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.11-3
6247260
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
6247260
24e6324
* Wed May 14 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 3.11-2
24e6324
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
24e6324
9448c69
* Mon Apr 21 2014 John Eckersberg <jeckersb@redhat.com> - 3.11-1
9448c69
- New upstream release 3.11 (BZ#1081521)
9448c69
5609e58
* Thu Aug  8 2013 John Eckersberg <jeckersb@redhat.com> - 3.10-9
5609e58
- Add check section and run test suite
5609e58
835acb4
* Fri Aug 02 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10-8
835acb4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
835acb4
a33ccb5
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10-7
a33ccb5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
a33ccb5
ef573ba
* Sat Aug 04 2012 David Malcolm <dmalcolm@redhat.com> - 3.10-6
ef573ba
- rebuild for https://fedoraproject.org/wiki/Features/Python_3.3
ef573ba
5cafbe8
* Wed Aug  1 2012 David Malcolm <dmalcolm@redhat.com> - 3.10-5
5cafbe8
- remove rhel logic from with_python3 conditional
5cafbe8
f4e4e28
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10-4
f4e4e28
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
f4e4e28
927b2d9
* Fri Apr 27 2012 John Eckersberg <jeckersb@redhat.com> - 3.10-3
927b2d9
- Add Provides for python-yaml (BZ#740390)
927b2d9
5f596a7
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10-2
5f596a7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
5f596a7
6272371
* Thu Jun 23 2011 John Eckersberg <jeckersb@redhat.com> - 3.10-1
6272371
- New upstream release 3.10
6272371
03e2aa6
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.09-8
03e2aa6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
03e2aa6
50265f1
* Wed Feb  2 2011 John Eckersberg <jeckersb@redhat.com> - 3.09-7
50265f1
- Add support to build for python 3
50265f1
b2d86cc
* Tue Jul 27 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 3.09-6
9c0bf5e
- Bump release number for upgrade path
9c0bf5e
2454497
* Wed Jul 21 2010 David Malcolm <dmalcolm@redhat.com> - 3.09-3
2454497
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
2454497
9240021
* Fri Oct 02 2009 John Eckersberg <jeckersb@redhat.com> - 3.09-1
9240021
- New upstream release 3.09
9240021
bbb12f2
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.08-6
bbb12f2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
bbb12f2
78db20d
* Wed Jul 22 2009 - John Eckersberg <jeckersb@redhat.com> - 3.08-5
78db20d
- Minor tweaks to spec file aligning with latest Fedora packaging guidelines
78db20d
- Enforce inclusion of libyaml in build with --with-libyaml option to setup.py
78db20d
- Deliver to %%{python_sitearch} instead of %%{python_sitelib} due to _yaml.so
78db20d
- Thanks to Gareth Armstrong <gareth.armstrong@hp.com>
78db20d
3a057b6
* Tue Mar 3 2009 John Eckersberg <jeckersb@redhat.com> - 3.08-4
3a057b6
- Correction, change libyaml to libyaml-devel in BuildRequires
3a057b6
e452fff
* Mon Mar 2 2009 John Eckersberg <jeckersb@redhat.com> - 3.08-3
e452fff
- Add libyaml to BuildRequires
e452fff
94d52e0
* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.08-2
94d52e0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
94d52e0
7a85b8d
* Wed Feb 18 2009 John Eckersberg <jeckersb@redhat.com> - 3.08-1
7a85b8d
- New upstream release
7a85b8d
5b4754b
* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 3.06-2
5b4754b
- Rebuild for Python 2.6
5b4754b
b8e0d83
* Fri Oct 24 2008 John Eckersberg <jeckersb@redhat.com> - 3.06-1
b8e0d83
- New upstream release
b8e0d83
74ec1ce
* Wed Jan 02 2008 John Eckersberg <jeckersb@redhat.com> - 3.05-2
74ec1ce
- Remove explicit dependency on python >= 2.3
74ec1ce
- Remove executable on example script in docs
74ec1ce
74ec1ce
* Mon Dec 17 2007 John Eckersberg <jeckersb@redhat.com> - 3.05-1
74ec1ce
- Initial packaging for Fedora