diff --git a/.PyYAML.metadata b/.PyYAML.metadata new file mode 100644 index 0000000..4c6a22a --- /dev/null +++ b/.PyYAML.metadata @@ -0,0 +1 @@ +476dcfbcc6f4ebf3c06186229e8e2bd7d7b20e73 SOURCES/PyYAML-3.10.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5ae05ec --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/PyYAML-3.10.tar.gz diff --git a/SOURCES/PyYAML-size_t_not_int.patch b/SOURCES/PyYAML-size_t_not_int.patch new file mode 100644 index 0000000..d4065ed --- /dev/null +++ b/SOURCES/PyYAML-size_t_not_int.patch @@ -0,0 +1,61 @@ +--- pyyaml-3.10.orig/ext/_yaml.pxd 2011-05-29 23:31:01.000000000 -0400 ++++ pyyaml-3.10/ext/_yaml.pxd 2012-06-08 16:33:54.309407701 -0400 +@@ -86,15 +86,15 @@ + YAML_MAPPING_END_EVENT + + ctypedef int yaml_read_handler_t(void *data, char *buffer, +- int size, int *size_read) except 0 ++ size_t size, size_t *size_read) except 0 + + ctypedef int yaml_write_handler_t(void *data, char *buffer, +- int size) except 0 ++ size_t size) except 0 + + ctypedef struct yaml_mark_t: +- int index +- int line +- int column ++ size_t index ++ size_t line ++ size_t column + ctypedef struct yaml_version_directive_t: + int major + int minor +@@ -113,7 +113,7 @@ + char *suffix + ctypedef struct _yaml_token_scalar_data_t: + char *value +- int length ++ size_t length + yaml_scalar_style_t style + ctypedef struct _yaml_token_version_directive_data_t: + int major +@@ -152,7 +152,7 @@ + char *anchor + char *tag + char *value +- int length ++ size_t length + int plain_implicit + int quoted_implicit + yaml_scalar_style_t style +--- pyyaml-3.10.orig/ext/_yaml.pyx 2011-05-29 23:31:01.000000000 -0400 ++++ pyyaml-3.10/ext/_yaml.pyx 2012-06-08 16:33:54.313409701 -0400 +@@ -905,7 +905,7 @@ + raise error + return 1 + +-cdef int input_handler(void *data, char *buffer, int size, int *read) except 0: ++cdef int input_handler(void *data, char *buffer, size_t size, size_t *read) except 0: + cdef CParser parser + parser = data + if parser.stream_cache is None: +@@ -1515,7 +1515,7 @@ + self.ascend_resolver() + return 1 + +-cdef int output_handler(void *data, char *buffer, int size) except 0: ++cdef int output_handler(void *data, char *buffer, size_t size) except 0: + cdef CEmitter emitter + emitter = data + if emitter.dump_unicode == 0: diff --git a/SPECS/PyYAML.spec b/SPECS/PyYAML.spec new file mode 100644 index 0000000..94cfd2c --- /dev/null +++ b/SPECS/PyYAML.spec @@ -0,0 +1,204 @@ +%if 0%{?fedora} > 12 +%global with_python3 1 +%else +%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} +%endif + +Name: PyYAML +Version: 3.10 +Release: 11%{?dist} +Summary: YAML parser and emitter for Python + +Group: Development/Libraries +License: MIT +URL: http://pyyaml.org/ +Source0: http://pyyaml.org/download/pyyaml/%{name}-%{version}.tar.gz +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) +BuildRequires: python-devel, python-setuptools, libyaml-devel, Cython +Provides: python-yaml = %{version}-%{release} +Provides: python-yaml%{?_isa} = %{version}-%{release} +%if 0%{?with_python3} +BuildRequires: python3-devel +BuildRequires: python3-setuptools +%endif + +# http://pyyaml.org/ticket/247 +Patch0: PyYAML-size_t_not_int.patch + +%description +YAML is a data serialization format designed for human readability and +interaction with scripting languages. PyYAML is a YAML parser and +emitter for Python. + +PyYAML features a complete YAML 1.1 parser, Unicode support, pickle +support, capable extension API, and sensible error messages. PyYAML +supports standard YAML tags and provides Python-specific tags that +allow to represent an arbitrary Python object. + +PyYAML is applicable for a broad range of tasks from complex +configuration files to object serialization and persistance. + +%if 0%{?with_python3} +%package -n python3-PyYAML +Summary: YAML parser and emitter for Python +Group: Development/Libraries + +%description -n python3-PyYAML +YAML is a data serialization format designed for human readability and +interaction with scripting languages. PyYAML is a YAML parser and +emitter for Python. + +PyYAML features a complete YAML 1.1 parser, Unicode support, pickle +support, capable extension API, and sensible error messages. PyYAML +supports standard YAML tags and provides Python-specific tags that +allow to represent an arbitrary Python object. + +PyYAML is applicable for a broad range of tasks from complex +configuration files to object serialization and persistance. +%endif + + +%prep +%setup -q -n %{name}-%{version} +chmod a-x examples/yaml-highlight/yaml_hl.py +%patch0 -p1 +pushd ext +cython _yaml.pyx +popd + +%if 0%{?with_python3} +rm -rf %{py3dir} +cp -a . %{py3dir} +%endif + + +%build +CFLAGS="${RPM_OPT_FLAGS}" %{__python} setup.py --with-libyaml build + +%if 0%{?with_python3} +pushd %{py3dir} +CFLAGS="${RPM_OPT_FLAGS}" %{__python3} setup.py --with-libyaml build +popd +%endif + + +%install +rm -rf %{buildroot} +%{__python} setup.py install -O1 --skip-build --root %{buildroot} + +%if 0%{?with_python3} +pushd %{py3dir} +%{__python3} setup.py install -O1 --skip-build --root %{buildroot} +popd +%endif + + +%check +%{__python} setup.py test + +%if 0%{?with_python3} +pushd %{py3dir} +%{__python3} setup.py test +popd +%endif + + +%clean +rm -rf %{buildroot} + + +%files +%defattr(644,root,root,755) +%doc CHANGES LICENSE PKG-INFO README examples +%{python_sitearch}/* + +%if 0%{?with_python3} +%files -n python3-PyYAML +%defattr(644,root,root,755) +%doc CHANGES LICENSE PKG-INFO README examples +%{python3_sitearch}/* +%endif + + +%changelog +* Fri Jan 24 2014 Daniel Mach - 3.10-11 +- Mass rebuild 2014-01-24 + +* Tue Jan 7 2014 John Eckersberg - 3.10-10 +- Add patch to fix build issue on s390x (bz1048898) + +* Fri Dec 27 2013 Daniel Mach - 3.10-9 +- Mass rebuild 2013-12-27 + +* Thu Aug 8 2013 John Eckersberg - 3.10-8 +- Add check section and run test suite + +* Wed Feb 13 2013 Fedora Release Engineering - 3.10-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sat Aug 04 2012 David Malcolm - 3.10-6 +- rebuild for https://fedoraproject.org/wiki/Features/Python_3.3 + +* Wed Aug 1 2012 David Malcolm - 3.10-5 +- remove rhel logic from with_python3 conditional + +* Wed Jul 18 2012 Fedora Release Engineering - 3.10-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Apr 27 2012 John Eckersberg - 3.10-3 +- Add Provides for python-yaml (BZ#740390) + +* Thu Jan 12 2012 Fedora Release Engineering - 3.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu Jun 23 2011 John Eckersberg - 3.10-1 +- New upstream release 3.10 + +* Mon Feb 07 2011 Fedora Release Engineering - 3.09-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Feb 2 2011 John Eckersberg - 3.09-7 +- Add support to build for python 3 + +* Tue Jul 27 2010 Mamoru Tasaka - 3.09-6 +- Bump release number for upgrade path + +* Wed Jul 21 2010 David Malcolm - 3.09-3 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Fri Oct 02 2009 John Eckersberg - 3.09-1 +- New upstream release 3.09 + +* Fri Jul 24 2009 Fedora Release Engineering - 3.08-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Jul 22 2009 - John Eckersberg - 3.08-5 +- Minor tweaks to spec file aligning with latest Fedora packaging guidelines +- Enforce inclusion of libyaml in build with --with-libyaml option to setup.py +- Deliver to %%{python_sitearch} instead of %%{python_sitelib} due to _yaml.so +- Thanks to Gareth Armstrong + +* Tue Mar 3 2009 John Eckersberg - 3.08-4 +- Correction, change libyaml to libyaml-devel in BuildRequires + +* Mon Mar 2 2009 John Eckersberg - 3.08-3 +- Add libyaml to BuildRequires + +* Mon Feb 23 2009 Fedora Release Engineering - 3.08-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Feb 18 2009 John Eckersberg - 3.08-1 +- New upstream release + +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 3.06-2 +- Rebuild for Python 2.6 + +* Fri Oct 24 2008 John Eckersberg - 3.06-1 +- New upstream release + +* Wed Jan 02 2008 John Eckersberg - 3.05-2 +- Remove explicit dependency on python >= 2.3 +- Remove executable on example script in docs + +* Mon Dec 17 2007 John Eckersberg - 3.05-1 +- Initial packaging for Fedora