commit df8fe17576f023796b77737ff772786638dbd5f0 Author: eabdullin Date: Mon Apr 1 08:02:23 2024 +0000 import CS python3.12-pyyaml-6.0.1-2.el8 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..66d1676 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/6.0.1.tar.gz diff --git a/.python3.12-pyyaml.metadata b/.python3.12-pyyaml.metadata new file mode 100644 index 0000000..e76a0b2 --- /dev/null +++ b/.python3.12-pyyaml.metadata @@ -0,0 +1 @@ +92973f1325d583f46728248bf26975fe3f62432a SOURCES/6.0.1.tar.gz diff --git a/SOURCES/731.patch b/SOURCES/731.patch new file mode 100644 index 0000000..4c924f4 --- /dev/null +++ b/SOURCES/731.patch @@ -0,0 +1,39 @@ +From 17dc5b6cd96dcfe64fd71789c771ca9b96d260e5 Mon Sep 17 00:00:00 2001 +From: "Andrew J. Hesford" +Date: Fri, 21 Jul 2023 09:50:00 -0400 +Subject: [PATCH] Fix builds with Cython 3 + +This is a *de minimis* fix for building with Cython 3. Recent Cython<3 +releases provided `Cython.Distutils.build_ext` as an alias to +`Cython.Distutils.old_build_ext.old_build_ext`; Cython 3 drops this +alias and instead uses a wholly new `Cython.Distutils.build_ext` that +does not provide the `cython_sources` function used in `setup.py`. + +Explicitly importing `old_build_ext` preserves the existing behavior for +recent Cython<3 and uses the correct behavior for Cython 3. Should the +import fail (*e.g.*, because the version of Cython available predates +the availability of `old_build_ext`), the import falls back to just +`Cython.Distutils.build_ext`. + +Signed-off-by: Andrew J. Hesford +--- + setup.py | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 944e7fa2..462b1e95 100644 +--- a/setup.py ++++ b/setup.py +@@ -82,7 +82,11 @@ + with_cython = True + try: + from Cython.Distutils.extension import Extension as _Extension +- from Cython.Distutils import build_ext as _build_ext ++ try: ++ from Cython.Distutils.old_build_ext import old_build_ext as _build_ext ++ except ImportError: ++ from Cython.Distutils import build_ext as _build_ext ++ + with_cython = True + except ImportError: + if with_cython: diff --git a/SPECS/python3.12-pyyaml.spec b/SPECS/python3.12-pyyaml.spec new file mode 100644 index 0000000..7c68ff9 --- /dev/null +++ b/SPECS/python3.12-pyyaml.spec @@ -0,0 +1,104 @@ +%global __python3 /usr/bin/python3.12 +%global python3_pkgversion 3.12 + +Name: python%{python3_pkgversion}-pyyaml +Version: 6.0.1 +Release: 2%{?dist} +Summary: YAML parser and emitter for Python + +# SPDX +License: MIT +URL: https://github.com/yaml/pyyaml +Source: https://github.com/yaml/pyyaml/archive/%{version}.tar.gz + +# Fix build with Cython 3 +# Proposed upstream but refused (upstream does not want Cython 3) +Patch: https://github.com/yaml/pyyaml/pull/731.patch + +BuildRequires: gcc +BuildRequires: libyaml-devel +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-rpm-macros +BuildRequires: python%{python3_pkgversion}-setuptools +BuildRequires: python%{python3_pkgversion}-Cython + +%py_provides python%{python3_pkgversion}-yaml +%py_provides python%{python3_pkgversion}-PyYAML + +%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 persistence. + +%description %_description + + +%prep +%autosetup -p1 -n pyyaml-%{version} +chmod a-x examples/yaml-highlight/yaml_hl.py + +# remove pre-generated file +rm -rf ext/_yaml.c + +# we have a patch for Cython 3 +sed -i 's/Cython<3.0/Cython/' pyproject.toml + + +%build +%py3_build + + +%install +%py3_install + + +%check +%{py3_test_envvars} %{python3} tests/lib/test_all.py + + +%files -n python%{python3_pkgversion}-pyyaml +%license LICENSE +%doc CHANGES README.md examples +%{python3_sitearch}/yaml/ +%{python3_sitearch}/_yaml/ +%{python3_sitearch}/PyYAML-%{version}-py%{python3_version}.egg-info/ + + +%changelog +* Tue Jan 23 2024 Miro Hrončok - 6.0.1-2 +- Rebuilt for timestamp .pyc invalidation mode + +* Thu Oct 19 2023 Tomáš Hrnčiar - 6.0.1-1 +- Initial package +- Fedora contributions by: + Bill Nottingham + Charalampos Stratakis + Dan Horák + David Malcolm + Dennis Gilmore + Ignacio Vazquez-Abrams + Igor Gnatenko + Iryna Shcherbina + Jakub Čajka + Jesse Keating + John Eckersberg + Kalev Lember + Karolina Surma + Lumir Balhar + Mamoru Tasaka + Miro Hrončok + Peter Robinson + Petr Viktorin + Robert Kuska + Slavek Kabrda + Tom Callaway + Troy Dawson + Zbigniew Jędrzejewski-Szmek