Compare commits

..

No commits in common. "imports/c9/python-ruamel-yaml-clib-0.1.2-8.el9.1" and "c9-beta" have entirely different histories.

5 changed files with 168 additions and 39 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/ruamel-yaml-clib-code-955989c1f022b95ca1f92bf0abd761ef8aa0b940.zip SOURCES/ruamel-yaml-clib-code-fdd42e838e4d5199b0277fc21a920a744cdd5c9d.zip

View File

@ -1 +1 @@
907faea426e46eb3e74517d25bbf522ec5b0ca65 SOURCES/ruamel-yaml-clib-code-955989c1f022b95ca1f92bf0abd761ef8aa0b940.zip ff23dd8a8266f256987fc42e1d7e88260409efc6 SOURCES/ruamel-yaml-clib-code-fdd42e838e4d5199b0277fc21a920a744cdd5c9d.zip

19
SOURCES/LICENSE-libyaml Normal file
View File

@ -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.

View File

@ -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 = <CParser>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 = <CEmitter>data
if emitter.dump_unicode == 0:
diff -up ruamel-yaml-clib-code-85e484db2b7c37107e4edd2ae6fc380877bbc08e/yaml.h.s390x ruamel-yaml-clib-code-85e484db2b7c37107e4edd2ae6fc380877bbc08e/yaml.h

View File

@ -1,71 +1,143 @@
%global pypi_name ruamel.yaml.clib %global commit fdd42e838e4d5199b0277fc21a920a744cdd5c9d
%global pname ruamel-yaml-clib
# This means version 0.1.2: Name: python-ruamel-yaml-clib
%global hash 955989c1f022b95ca1f92bf0abd761ef8aa0b940 Version: 0.2.7
Release: 3%{?dist}
Name: python-%{pname}
Version: 0.1.2
Release: 8%{?dist}.1
Summary: C version of reader, parser and emitter for ruamel.yaml derived from libyaml Summary: C version of reader, parser and emitter for ruamel.yaml derived from libyaml
# SPDX
License: MIT License: MIT
URL: https://bitbucket.org/ruamel/yaml.clib 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-%{hash}.zip 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 BuildRequires: gcc
BuildRequires: libyaml-devel
%description %global _description %{expand:
It is the C based reader/scanner and emitter for ruamel.yaml. It is the C based reader/scanner and emitter for ruamel.yaml.}
%package -n python3-%{pname} %description %{_description}
%package -n python3-ruamel-yaml-clib
Summary: %{summary} Summary: %{summary}
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-Cython
Requires: python3-setuptools 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 Requires: python3-ruamel-yaml
%description -n python3-%{pname} # Bundled sources from libyaml are:
It is the C based reader/scanner and emitter for ruamel.yaml. # - 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 %prep
%autosetup -n %{pname}-code-%{hash} %autosetup -n ruamel-yaml-clib-code-%{commit}
# Force regenerating C files from Cython sources # Force regenerating C files from Cython sources
rm -v $(grep -rl '/\* Generated by Cython') 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 %build
# cython refuses to cythonize a file in a directory that cannot be a Python module ¯\_(ツ)_/¯ # 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 mkdir ruamel.yaml.clib
mv *.pyx ruamel.yaml.clib mv *.pyx ruamel.yaml.clib
cythonize ruamel.yaml.clib/*.pyx cythonize -3 ruamel.yaml.clib/*.pyx
mv ruamel.yaml.clib/* . mv ruamel.yaml.clib/* .
rmdir ruamel.yaml.clib rmdir ruamel.yaml.clib
%py3_build %pyproject_wheel
%install %install
%{__python3} setup.py install --single-version-externally-managed --skip-build --root $RPM_BUILD_ROOT %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
%files -n python3-%{pname}
%license LICENSE
%doc README.rst %doc README.rst
%{python3_sitearch}/_ruamel_yaml.cpython-*
%{python3_sitearch}/%{pypi_name}-%{version}-py%{python3_version}.egg-info
%changelog %changelog
* Thu Sep 30 2021 Akira TAGOH <tagoh@redhat.com> - 0.1.2-8.1 * Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.7-3
- Add CI test. - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Resolves: rhbz#2009159
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 0.1.2-8 * Wed Jun 14 2023 Python Maint <python-maint@redhat.com> - 0.2.7-2
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags - Rebuilt for Python 3.12
Related: rhbz#1991688
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 0.1.2-7 * Wed May 03 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.2.7-1
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 - Update to 0.2.7
* Wed May 03 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 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 <releng@fedoraproject.org> - 0.2.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 0.2.6-2
- Rebuilt for Python 3.11
* Tue May 10 2022 Jakub Čajka <jcajka@redhat.com> - 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 <releng@fedoraproject.org> - 0.1.2-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.2-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 0.1.2-7
- Rebuilt for Python 3.10
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.2-6 * Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild