%if 0%{?fedora} || 0%{?rhel} >= 8 %bcond_without python3 %else %bcond_with python3 %{!?python2_sitearch: %global python2_sitearch %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %endif Name: PyYAML Version: 3.12 Release: 16%{?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 BuildRequires: gcc BuildRequires: python2-devel BuildRequires: python2-setuptools BuildRequires: python2-Cython BuildRequires: libyaml-devel %if %{with python3} BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-Cython %endif %global _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. %description %_description %package -n python2-pyyaml Summary: %summary Provides: python2-yaml = %{version}-%{release} Provides: python2-yaml%{?_isa} = %{version}-%{release} %{?python_provide:%python_provide python2-pyyaml} Obsoletes: PyYAML < %{version}-%{release} %description -n python2-pyyaml %_description %if %{with python3} %package -n python3-PyYAML Summary: YAML parser and emitter for Python Group: Development/Libraries Provides: python3-yaml = %{version}-%{release} Provides: python3-yaml%{?_isa} = %{version}-%{release} %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 # remove pre-generated file rm -rf ext/_yaml.c %build # regenerate ext/_yaml.c CFLAGS="${RPM_OPT_FLAGS}" %{__python2} setup.py --with-libyaml build_ext %if %{with python3} rm -rf %{py3dir} # ext/_yaml.c is needed cp -a . %{py3dir} pushd %{py3dir} CFLAGS="${RPM_OPT_FLAGS}" %{__python3} setup.py --with-libyaml build popd %endif CFLAGS="${RPM_OPT_FLAGS}" %{__python2} setup.py --with-libyaml build %install %{__python2} setup.py install -O1 --skip-build --root %{buildroot} %if %{with python3} pushd %{py3dir} %{__python3} setup.py install -O1 --skip-build --root %{buildroot} popd %endif %check %{__python2} setup.py test %if %{with python3} pushd %{py3dir} %{__python3} setup.py test popd %endif %files -n python2-pyyaml %{!?_licensedir:%global license %%doc} %license LICENSE %doc CHANGES PKG-INFO README examples %{python2_sitearch}/* %if %{with python3} %files -n python3-PyYAML %{!?_licensedir:%global license %%doc} %license LICENSE %doc CHANGES PKG-INFO README examples %{python3_sitearch}/* %endif %changelog * Wed Apr 03 2019 Tomas Orsava - 3.12-16 - Bumping due to problems with modular RPM upgrade path - Resolves: rhbz#1695587 * Tue Oct 09 2018 Lumír Balhar - 3.12-15 - Remove unversioned provides - Resolves: rhbz#1628242 * Fri Oct 05 2018 Lumír Balhar - 3.12-14 - Remove unversioned provides - Resolves: rhbz#1628242 * Tue Oct 02 2018 Lumír Balhar - 3.12-13 - Fix unversioned requires/buildrequires - Resolves: rhbz#1628242 * Tue Jul 31 2018 Lumír Balhar - 3.12-12 - Switch python3 coditions to bcond * Mon Jun 25 2018 Tomas Orsava - 3.12-11 - Use python2 macros instead of unversioned python macros * Wed Feb 07 2018 Fedora Release Engineering - 3.12-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Mon Dec 11 2017 Iryna Shcherbina - 3.12-9 - Fix ambiguous Python 2 dependency declarations (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) * Wed Sep 27 2017 Troy Dawson - 3.12-8 - Cleanup spec file conditionals * Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek - 3.12-7 - Add Provides for the old name without %%_isa * Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek - 3.12-6 - Python 2 binary package renamed to python2-pyyaml See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 * Wed Aug 02 2017 Fedora Release Engineering - 3.12-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 3.12-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Fri Feb 10 2017 Fedora Release Engineering - 3.12-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Mon Dec 12 2016 Charalampos Stratakis - 3.12-2 - Rebuild for Python 3.6 * Mon Aug 29 2016 John Eckersberg - 3.12-1 - New upstream release 3.12 (RHBZ#1371150) * Tue Jul 19 2016 Fedora Release Engineering - 3.11-13 - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages * Wed Feb 03 2016 Fedora Release Engineering - 3.11-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Tue Dec 8 2015 John Eckersberg - 3.11-11 - Add provides for python3-yaml (RHBZ#1288807) * Tue Nov 03 2015 Robert Kuska - 3.11-10 - Rebuilt for Python3.5 rebuild * Fri Jul 17 2015 John Eckersberg - 3.11-9 - Add provides for python2-yaml (RHBZ#1241678) * Tue Jun 16 2015 Fedora Release Engineering - 3.11-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Mon Mar 23 2015 John Eckersberg - 3.11-7 - Add patch for CVE-2014-9130 (bug 1204829) * Mon Sep 15 2014 Jakub Čajka - 3.11-6 - fixed typecast issues using debian patch(int->size_t)(BZ#1140189) - spec file cleanup * Fri Aug 15 2014 Fedora Release Engineering - 3.11-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Mon Aug 4 2014 Tom Callaway - 3.11-4 - fix license handling * Fri Jun 06 2014 Fedora Release Engineering - 3.11-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Wed May 14 2014 Bohuslav Kabrda - 3.11-2 - Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 * Mon Apr 21 2014 John Eckersberg - 3.11-1 - New upstream release 3.11 (BZ#1081521) * Thu Aug 8 2013 John Eckersberg - 3.10-9 - Add check section and run test suite * Fri Aug 02 2013 Fedora Release Engineering - 3.10-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * 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