From 9b90d0154aa736bc5ae984d2623c0aa3a3f02a26 Mon Sep 17 00:00:00 2001 From: MSVSphere Packaging Team Date: Thu, 28 Mar 2024 18:13:10 +0300 Subject: [PATCH] import python-ruamel-yaml-clib-0.2.7-3.el9 --- .gitignore | 1 + .python-ruamel-yaml-clib.metadata | 1 + SOURCES/LICENSE-libyaml | 19 ++++ SOURCES/fix-typecasts-s390x.patch | 38 +++++++ SPECS/python-ruamel-yaml-clib.spec | 159 +++++++++++++++++++++++++++++ 5 files changed, 218 insertions(+) create mode 100644 .gitignore create mode 100644 .python-ruamel-yaml-clib.metadata create mode 100644 SOURCES/LICENSE-libyaml create mode 100644 SOURCES/fix-typecasts-s390x.patch create mode 100644 SPECS/python-ruamel-yaml-clib.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3959729 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/ruamel-yaml-clib-code-fdd42e838e4d5199b0277fc21a920a744cdd5c9d.zip diff --git a/.python-ruamel-yaml-clib.metadata b/.python-ruamel-yaml-clib.metadata new file mode 100644 index 0000000..3e5045f --- /dev/null +++ b/.python-ruamel-yaml-clib.metadata @@ -0,0 +1 @@ +ff23dd8a8266f256987fc42e1d7e88260409efc6 SOURCES/ruamel-yaml-clib-code-fdd42e838e4d5199b0277fc21a920a744cdd5c9d.zip diff --git a/SOURCES/LICENSE-libyaml b/SOURCES/LICENSE-libyaml new file mode 100644 index 0000000..050ced2 --- /dev/null +++ b/SOURCES/LICENSE-libyaml @@ -0,0 +1,19 @@ +Copyright (c) 2006 Kirill Simonov + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/SOURCES/fix-typecasts-s390x.patch b/SOURCES/fix-typecasts-s390x.patch new file mode 100644 index 0000000..0a38063 --- /dev/null +++ b/SOURCES/fix-typecasts-s390x.patch @@ -0,0 +1,38 @@ +diff -up ruamel-yaml-clib-code-85e484db2b7c37107e4edd2ae6fc380877bbc08e/_ruamel_yaml.pxd.s390x ruamel-yaml-clib-code-85e484db2b7c37107e4edd2ae6fc380877bbc08e/_ruamel_yaml.pxd +--- ruamel-yaml-clib-code-85e484db2b7c37107e4edd2ae6fc380877bbc08e/_ruamel_yaml.pxd.s390x 2022-05-11 17:33:41.727476439 +0200 ++++ ruamel-yaml-clib-code-85e484db2b7c37107e4edd2ae6fc380877bbc08e/_ruamel_yaml.pxd 2022-05-11 17:34:34.197700039 +0200 +@@ -86,10 +86,10 @@ cdef extern from "_ruamel_yaml.h": + 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 +diff -up ruamel-yaml-clib-code-85e484db2b7c37107e4edd2ae6fc380877bbc08e/_ruamel_yaml.pyx.s390x ruamel-yaml-clib-code-85e484db2b7c37107e4edd2ae6fc380877bbc08e/_ruamel_yaml.pyx +--- ruamel-yaml-clib-code-85e484db2b7c37107e4edd2ae6fc380877bbc08e/_ruamel_yaml.pyx.s390x 2022-05-12 13:05:17.540913818 +0200 ++++ ruamel-yaml-clib-code-85e484db2b7c37107e4edd2ae6fc380877bbc08e/_ruamel_yaml.pyx 2022-05-12 13:06:38.211269280 +0200 +@@ -904,7 +904,7 @@ cdef class CParser: + 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: +@@ -1514,7 +1514,7 @@ cdef class CEmitter: + 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 -up ruamel-yaml-clib-code-85e484db2b7c37107e4edd2ae6fc380877bbc08e/yaml.h.s390x ruamel-yaml-clib-code-85e484db2b7c37107e4edd2ae6fc380877bbc08e/yaml.h diff --git a/SPECS/python-ruamel-yaml-clib.spec b/SPECS/python-ruamel-yaml-clib.spec new file mode 100644 index 0000000..a0ba5d2 --- /dev/null +++ b/SPECS/python-ruamel-yaml-clib.spec @@ -0,0 +1,159 @@ +%global commit fdd42e838e4d5199b0277fc21a920a744cdd5c9d + +Name: python-ruamel-yaml-clib +Version: 0.2.7 +Release: 3%{?dist} +Summary: C version of reader, parser and emitter for ruamel.yaml derived from libyaml + +# SPDX +License: MIT +URL: https://sourceforge.net/projects/ruamel-yaml-clib +Source0: https://sourceforge.net/code-snapshots/hg/r/ru/ruamel-yaml-clib/code/ruamel-yaml-clib-code-%{commit}.zip +# Include license file for bundled libyaml +# https://sourceforge.net/p/ruamel-yaml-clib/tickets/16/ +# This should be fixed upstream in a future ruamel.yaml.clib release >0.2.7 +Source1: https://github.com/yaml/libyaml/raw/0.1.7/LICENSE#/LICENSE-libyaml +Patch: fix-typecasts-s390x.patch + +BuildRequires: gcc + +%global _description %{expand: +It is the C based reader/scanner and emitter for ruamel.yaml.} + +%description %{_description} + +%package -n python3-ruamel-yaml-clib +Summary: %{summary} + +BuildRequires: python3-devel +BuildRequires: %{py3_dist Cython} + +# Unfortunately, the circular dependency is intentional; the clib extension +# packaged here imports from ruamel.yaml, which in turn uses the extension for +# performance. +BuildRequires: python3-ruamel-yaml +Requires: python3-ruamel-yaml + +# Bundled sources from libyaml are: +# - config.h yaml.h yaml_private.h +# - api.c dumper.c emitter.c loader.c parser.c reader.c scanner.c writer.c +# +# Support building with an external/system copy of libyaml? +# https://sourceforge.net/p/ruamel-yaml-clib/tickets/15/ +# +# Upstream replied: +# +# The copy is because there have been improvements where libyaml had not been +# maintained for several years. But that is minor reason to do that, as I am +# working on an alternative for clib. +# +# Version number from VERSION in config.h: +Provides: bundled(libyaml) = 0.1.7 + +%py_provides python3-ruamel.yaml.clib + +%description -n python3-ruamel-yaml-clib %{_description} + +%prep +%autosetup -n ruamel-yaml-clib-code-%{commit} +# Force regenerating C files from Cython sources +rm -v $(grep -rl '/\* Generated by Cython') +cp -p '%{SOURCE1}' . + +%generate_buildrequires +# Upstream has a tox.ini, but it is for a build-and-install check, not a test +# suite, so we do not use it to generate dependencies (-t). +%pyproject_buildrequires + +%build +# cython refuses to cythonize a file in a directory that cannot be a Python +# module ¯\_(ツ)_/¯ +# +# Top-level structure seems to be incompatible with Cython 0.29.34 +# ('ruamel-yaml-clib-code._ruamel_yaml' is not a valid module name) +# https://sourceforge.net/p/ruamel-yaml-clib/tickets/14/ +mkdir ruamel.yaml.clib +mv *.pyx ruamel.yaml.clib +cythonize -3 ruamel.yaml.clib/*.pyx +mv ruamel.yaml.clib/* . +rmdir ruamel.yaml.clib + +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files _ruamel_yaml + +%check +%py3_check_import _ruamel_yaml + +%files -n python3-ruamel-yaml-clib -f %{pyproject_files} +# pyproject_files handles LICENSE; verify with “rpm -qL -p …” +# Remove the following once we no longer have a separate LICENSE-libyaml: +%license LICENSE LICENSE-libyaml + +%doc README.rst + +%changelog +* Fri Jul 21 2023 Fedora Release Engineering - 0.2.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jun 14 2023 Python Maint - 0.2.7-2 +- Rebuilt for Python 3.12 + +* Wed May 03 2023 Benjamin A. Beasley - 0.2.7-1 +- Update to 0.2.7 + +* Wed May 03 2023 Benjamin A. Beasley - 0.2.6-5 +- Confirm License is SPDX MIT +- Reduce macro indirection, etc. +- Drop unused manual runtime dependency on setuptools +- Add a note about the circular dependency with ruamel.yaml +- Stop numbering sources and patches +- Update URL (close RHBZ#1840610) +- Add an import-only “smoke test” +- Properly handle libyaml bundling +- Port to pyproject-rpm-macros (“new Python guidelines”) +- Add a link to the upstream issue for the Cython workaround + +* Fri Jan 20 2023 Fedora Release Engineering - 0.2.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jul 22 2022 Fedora Release Engineering - 0.2.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 0.2.6-2 +- Rebuilt for Python 3.11 + +* Tue May 10 2022 Jakub Čajka - 0.2.6-1 +- Update to 0.2.6 +- Fix for type demotion issues on s390x +- Resolves: BZ#2042422 + +* Fri Jan 21 2022 Fedora Release Engineering - 0.1.2-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 0.1.2-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 0.1.2-7 +- Rebuilt for Python 3.10 + +* Wed Jan 27 2021 Fedora Release Engineering - 0.1.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Nov 12 2020 Miro Hrončok - 0.1.2-5 +- Force regenerating C files from Cython sources +- Require python3-ruamel-yaml + +* Wed Jul 29 2020 Fedora Release Engineering - 0.1.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue May 26 2020 Miro Hrončok - 0.1.2-3 +- Rebuilt for Python 3.9 + +* Thu Jan 30 2020 Fedora Release Engineering - 0.1.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Aug 30 2019 Chandan Kumar - 0.1.2-1 +- Initial package