2024-04-30 15:19:14 +00:00
|
|
|
%global commit fdd42e838e4d5199b0277fc21a920a744cdd5c9d
|
2022-05-17 10:48:35 +00:00
|
|
|
|
2024-04-30 15:19:14 +00:00
|
|
|
Name: python-ruamel-yaml-clib
|
|
|
|
Version: 0.2.7
|
|
|
|
Release: 3%{?dist}
|
2022-05-17 10:48:35 +00:00
|
|
|
Summary: C version of reader, parser and emitter for ruamel.yaml derived from libyaml
|
|
|
|
|
2024-04-30 15:19:14 +00:00
|
|
|
# SPDX
|
2022-05-17 10:48:35 +00:00
|
|
|
License: MIT
|
2024-04-30 15:19:14 +00:00
|
|
|
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
|
2022-05-17 10:48:35 +00:00
|
|
|
|
|
|
|
BuildRequires: gcc
|
|
|
|
|
2024-04-30 15:19:14 +00:00
|
|
|
%global _description %{expand:
|
|
|
|
It is the C based reader/scanner and emitter for ruamel.yaml.}
|
|
|
|
|
|
|
|
%description %{_description}
|
2022-05-17 10:48:35 +00:00
|
|
|
|
2024-04-30 15:19:14 +00:00
|
|
|
%package -n python3-ruamel-yaml-clib
|
2022-05-17 10:48:35 +00:00
|
|
|
Summary: %{summary}
|
2024-04-30 15:19:14 +00:00
|
|
|
|
2022-05-17 10:48:35 +00:00
|
|
|
BuildRequires: python3-devel
|
2024-04-30 15:19:14 +00:00
|
|
|
BuildRequires: %{py3_dist Cython}
|
2022-05-17 10:48:35 +00:00
|
|
|
|
2024-04-30 15:19:14 +00:00
|
|
|
# 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
|
2022-05-17 10:48:35 +00:00
|
|
|
Requires: python3-ruamel-yaml
|
|
|
|
|
2024-04-30 15:19:14 +00:00
|
|
|
# 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}
|
2022-05-17 10:48:35 +00:00
|
|
|
|
|
|
|
%prep
|
2024-04-30 15:19:14 +00:00
|
|
|
%autosetup -n ruamel-yaml-clib-code-%{commit}
|
2022-05-17 10:48:35 +00:00
|
|
|
# Force regenerating C files from Cython sources
|
|
|
|
rm -v $(grep -rl '/\* Generated by Cython')
|
2024-04-30 15:19:14 +00:00
|
|
|
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
|
2022-05-17 10:48:35 +00:00
|
|
|
|
|
|
|
%build
|
2024-04-30 15:19:14 +00:00
|
|
|
# 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/
|
2022-05-17 10:48:35 +00:00
|
|
|
mkdir ruamel.yaml.clib
|
|
|
|
mv *.pyx ruamel.yaml.clib
|
2024-04-30 15:19:14 +00:00
|
|
|
cythonize -3 ruamel.yaml.clib/*.pyx
|
2022-05-17 10:48:35 +00:00
|
|
|
mv ruamel.yaml.clib/* .
|
|
|
|
rmdir ruamel.yaml.clib
|
|
|
|
|
2024-04-30 15:19:14 +00:00
|
|
|
%pyproject_wheel
|
2022-05-17 10:48:35 +00:00
|
|
|
|
|
|
|
%install
|
2024-04-30 15:19:14 +00:00
|
|
|
%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
|
2022-05-17 10:48:35 +00:00
|
|
|
|
|
|
|
%doc README.rst
|
|
|
|
|
|
|
|
%changelog
|
2024-04-30 15:19:14 +00:00
|
|
|
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.7-3
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
|
|
|
|
|
|
|
* Wed Jun 14 2023 Python Maint <python-maint@redhat.com> - 0.2.7-2
|
|
|
|
- Rebuilt for Python 3.12
|
|
|
|
|
|
|
|
* Wed May 03 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.2.7-1
|
|
|
|
- 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
|
2022-05-17 10:48:35 +00:00
|
|
|
|
2024-04-30 15:19:14 +00:00
|
|
|
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.2-8
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
2022-05-17 10:48:35 +00:00
|
|
|
|
2024-04-30 15:19:14 +00:00
|
|
|
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 0.1.2-7
|
|
|
|
- Rebuilt for Python 3.10
|
2022-05-17 10:48:35 +00:00
|
|
|
|
|
|
|
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.2-6
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
|
|
|
|
|
|
* Thu Nov 12 2020 Miro Hrončok <mhroncok@redhat.com> - 0.1.2-5
|
|
|
|
- Force regenerating C files from Cython sources
|
|
|
|
- Require python3-ruamel-yaml
|
|
|
|
|
|
|
|
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.2-4
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
|
|
|
|
|
|
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 0.1.2-3
|
|
|
|
- Rebuilt for Python 3.9
|
|
|
|
|
|
|
|
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.2-2
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
|
|
|
|
|
|
* Fri Aug 30 2019 Chandan Kumar <raukadah@gmail.com> - 0.1.2-1
|
|
|
|
- Initial package
|