import python-cattrs-24.1.2-3.el10

i10ce changed/i10ce/python-cattrs-24.1.2-3.el10
Arkady L. Shane 4 weeks ago
commit f24d09bfb8
Signed by: tigro
GPG Key ID: 1EC08A25C9DB2503

1
.gitignore vendored

@ -0,0 +1 @@
SOURCES/cattrs-24.1.2.tar.gz

@ -0,0 +1 @@
47a60e9de97b86cb39db7993ae2a48448a707727 SOURCES/cattrs-24.1.2.tar.gz

@ -0,0 +1,406 @@
## START: Set by rpmautospec
## (rpmautospec version 0.7.2)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
release_number = 3;
base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec
# Currently, the version of python-pymongo in Rawhide is too old; at least
# 4.4.0 is required. See: https://bugzilla.redhat.com/show_bug.cgi?id=1823014
%bcond bson 0
# Not currently in EPEL10:
%bcond cbor2 %{expr:!0%{?el10}}
# Not currently in EPEL10:
%bcond msgpack %{expr:!0%{?el10}}
# Not currently in EPEL10:
%bcond msgspec %{expr:!0%{?el10}}
# Not currently in EPEL10:
%bcond orjson %{expr:!0%{?el10}}
# Sphinx-generated HTML documentation is not suitable for packaging; see
# https://bugzilla.redhat.com/show_bug.cgi?id=2006555 for discussion.
#
# We can generate PDF documentation as a substitute. EPEL10 does not have the
# necessary dependencies, and this will probably remain true of EPELs.
%bcond doc_pdf %{expr:!0%{?rhel}}
Name: python-cattrs
Version: 24.1.2
Release: %autorelease
Summary: Python library for structuring and unstructuring data
# SPDX
License: MIT
URL: https://github.com/python-attrs/cattrs
# The GitHub archive contains tests and docs, which the PyPI sdist lacks
Source: %{url}/archive/v%{version}/cattrs-%{version}.tar.gz
# Because an extras metapackage is conditionalized on architecture, the base
# package cannot be noarch but the rest of the binary packages *are* noarch,
# with no compiled code.
%global debug_package %{nil}
BuildRequires: python3-devel
# There is no obvious, straightforward way to generate dependencies from
# [tool.pdm.dev-dependencies] in pyproject.toml, so we maintain them here
# manually.
# test = [
# "hypothesis>=6.79.4",
BuildRequires: %{py3_dist hypothesis} >= 6.79.4
# "pytest>=7.4.0",
BuildRequires: %{py3_dist pytest} >= 7.4
# "pytest-benchmark>=4.0.0",
# We choose not to run benchmarks with the tests.
# BuildRequires: %%{py3_dist pytest-benchmark} >= 4.0.0
# "immutables>=0.20",
BuildRequires: %{py3_dist immutables} >= 0.20
# "typing-extensions>=4.7.1",
BuildRequires: %{py3_dist typing-extensions} >= 4.7.1
# "coverage>=7.4.0",
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_linters
# BuildRequires: %%{py3_dist coverage} >= 7.4.0
# "pytest-xdist>=3.4.0",
BuildRequires: %{py3_dist pytest-xdist} >= 3.4
#]
%if %{with doc_pdf}
# docs = [
# "sphinx>=5.3.0",
BuildRequires: %{py3_dist sphinx} >= 5.3
# "furo>=2024.1.29",
BuildRequires: %{py3_dist furo} >= 2023.3.27
# "sphinx-copybutton>=0.5.2",
# Loosened until https://bugzilla.redhat.com/show_bug.cgi?id=2186733 is fixed.
BuildRequires: %{py3_dist sphinx-copybutton} >= 0.5.1
# "myst-parser>=1.0.0",
BuildRequires: %{py3_dist myst-parser} >= 1
# "pendulum>=2.1.2",
BuildRequires: %{py3_dist pendulum} >= 2.1.2
# "sphinx-autobuild",
# sphinx-autobuild is useful for developers, but not needed to build the docs
# BuildRequires: %%{py3_dist sphinx-autobuild}
# "typing-extensions>=4.8.0",
BuildRequires: %{py3_dist typing-extensions} >= 4.8
# ]
BuildRequires: make
BuildRequires: python3-sphinx-latex
BuildRequires: latexmk
BuildRequires: /usr/bin/xindy
BuildRequires: tex-xetex-bin
%endif
%global msgspec_enabled 0
%if %{with msgspec}
%ifnarch s390x %{ix86}
%global msgspec_enabled 1
%endif
%endif
%global _description %{expand:
cattrs is an open source Python library for structuring and
unstructuring data. cattrs works best with attrs classes and the usual
Python collections, but other kinds of classes are supported by
manually registering converters.}
%description %_description
%package -n python3-cattrs
Summary: %{summary}
BuildArch: noarch
Obsoletes: python3-cattrs+bson < 23.2.3-1
%description -n python3-cattrs %_description
%package doc
Summary: Documentation for python-cattrs
# If the msgspec extra (which is unavailable on s390x and i686) is enabled,
# then the -doc subpackage becomes arch-dependent, because the presence of
# msgspec affects the contents of the documentation.
%if %{without msgspec}
BuildArch: noarch
%endif
%description doc %{_description}
# Most extras metapackages are noarch:
%pyproject_extras_subpkg -n python3-cattrs -a ujson pyyaml tomlkit
%if %{with bson}
%pyproject_extras_subpkg -n python3-cattrs -a bson
%endif
%if %{with cbor2}
%pyproject_extras_subpkg -n python3-cattrs -a cbor2
%endif
%if %{msgspec_enabled}
# python-msgspec is ExcludeArch: s390x i686; the extras metapackage is arched
# because it is not present on every architecture
%pyproject_extras_subpkg -n python3-cattrs msgspec
%endif
%if %{with msgpack}
%pyproject_extras_subpkg -n python3-cattrs -a msgpack
%endif
%if %{with orjson}
%pyproject_extras_subpkg -n python3-cattrs -a orjson
%endif
%prep
%autosetup -n cattrs-%{version}
# Dont run benchmarks when testing (we dont depend on pytest-benchmark)
sed -r -i 's/ --benchmark[^[:blank:]"]*//g' pyproject.toml
# The version-finding code in docs/conf.py relies on a real installed
# “distribution” with metadata, which we dont have at the time the
# documentation is built.
sed -r -i 's/^(version = ).*/\1 "%{version}"/' docs/conf.py
# Remove bundled fonts to show they are not packaged:
rm -rv docs/_static/fonts/
# Since pdflatex cannot handle Unicode inputs in general:
echo "latex_engine = 'xelatex'" >> docs/conf.py
%generate_buildrequires
export SETUPTOOLS_SCM_PRETEND_VERSION='%{version}'
%{pyproject_buildrequires \
-x ujson \
%if %{with orjson}
-x orjson \
%endif
%if %{with msgpack}
-x msgpack \
%endif
-x pyyaml \
-x tomlkit \
%if %{with cbor2}
-x cbor2 \
%endif
%if %{with bson}
-x bson \
%endif
%if %{msgspec_enabled}
-x msgspec \
%endif
%{nil}}
%build
export SETUPTOOLS_SCM_PRETEND_VERSION='%{version}'
%pyproject_wheel
%if %{with doc_pdf}
PYTHONPATH="${PWD}/src" %make_build -C docs latex \
SPHINXBUILD=sphinx-build \
SPHINXOPTS='-j%{?_smp_build_ncpus}'
%make_build -C docs/_build/latex LATEXMKOPTS='-quiet'
%endif
%install
%pyproject_install
%pyproject_save_files -l cattrs cattr
%check
%if %{without bson}
# These unconditionally import bson, so they error during test collection
ignore="${ignore-} --ignore=tests/test_preconf.py"
ignore="${ignore-} --ignore=tests/preconf/test_pyyaml.py"
%endif
%if !%{msgspec_enabled}
# These unconditionally import msgspec, so they error during test collection
ignore="${ignore-} --ignore=tests/preconf/test_msgspec_cpython.py"
%endif
%if v"0%{python3_version}" >= v"3.13"
# Deselect tests failing on Python 3.13
# https://github.com/python-attrs/cattrs/issues/547#issuecomment-2353748516
# Some appear to be related to https://github.com/python/cpython/issues/120645
k="${k-}${k+ and }not test_310_optional_field_roundtrip"
k="${k-}${k+ and }not test_310_union_field_roundtrip"
k="${k-}${k+ and }not test_nested_roundtrip"
k="${k-}${k+ and }not test_nested_roundtrip_tuple"
k="${k-}${k+ and }not test_nodefs_generated_unstructuring_cl"
k="${k-}${k+ and }not test_omit_default_roundtrip"
k="${k-}${k+ and }not test_optional_field_roundtrip"
k="${k-}${k+ and }not test_renaming"
k="${k-}${k+ and }not test_simple_roundtrip"
k="${k-}${k+ and }not test_simple_roundtrip_defaults"
k="${k-}${k+ and }not test_simple_roundtrip_tuple"
k="${k-}${k+ and }not test_simple_roundtrip_with_extra_keys_forbidden"
k="${k-}${k+ and }not test_structure_simple_from_dict_default"
k="${k-}${k+ and }not test_union_field_roundtrip"
k="${k-}${k+ and }not test_unmodified_generated_structuring"
k="${k-}${k+ and }not test_unstructure_deeply_nested_generics_list[False]"
k="${k-}${k+ and }not test_unstructure_deeply_nested_generics_list[True]"
# Flaky:
k="${k-}${k+ and }not test_individual_overrides"
%endif
%pytest --ignore-glob='bench/*' ${ignore-} -k "${k-}" -n auto
%files -n python3-cattrs -f %{pyproject_files}
%files doc
%license LICENSE
%doc HISTORY.md
%doc README.md
%if %{with doc_pdf}
%doc docs/_build/latex/cattrs.pdf
%endif
%changelog
* Sun Jan 05 2025 Arkady L. Shane <tigro@msvsphere-os.ru> - 24.1.2-3
- Rebuilt for MSVSphere 10
## START: Generated by rpmautospec
* Fri Oct 11 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 24.1.2-3
- Deconditionalize using pytest-xdist
- It is now available in EPEL10.
* Fri Oct 11 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 24.1.2-2
- Enable the msgspec extra on Fedora F41 and later
- The python-msgspec package now works with Python 3.13.
* Sun Sep 22 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 24.1.2-1
- Update to 24.1.2 (close RHBZ#2314095)
* Tue Sep 17 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 24.1.1-2
- Add conditionals to prepare for EPEL10 branching
* Mon Sep 16 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 24.1.1-1
- Update to 24.1.1 (close RHBZ#2301121, fix RHBZ#2309012)
* Mon Sep 16 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 23.2.3-10
- Enable the cbor2 extra
* Mon Sep 16 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 23.2.3-9
- Remove bundled fonts before building to show they are not packaged
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 23.2.3-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Mon Jun 10 2024 Python Maint <python-maint@redhat.com> - 23.2.3-6
- Rebuilt for Python 3.13
* Mon Jun 10 2024 Miro Hrončok <miro@hroncok.cz> - 23.2.3-5
- Drop unneeded build dependency on sphinx-autobuild
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 23.2.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 23.2.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Tue Jan 02 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 23.2.3-2
- Assert that the .dist-info directory contains a license file
- Do not package a duplicate license file
* Tue Dec 12 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 23.2.3-1
- Update to 23.2.3 (close RHBZ#2252344, fix RHBZ#2237277)
- Drop “bson” extra because python-pymongo is too old
* Tue Dec 12 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 23.1.2-2
- Confirm License is SPDX MIT
* Mon Aug 28 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 23.1.2-1
- Update to 23.1.2 (close RHBZ#2211212)
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 22.2.0-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Apr 13 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 22.2.0-13
- Depend on python-orjson now that it is available
* Sat Mar 18 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 22.2.0-12
- Dont assume %%_smp_mflags is -j%%_smp_build_ncpus
* Wed Mar 01 2023 Miro Hrončok <miro@hroncok.cz> - 22.2.0-11
- Explicitly BuildRequire setuptools to build the documentation
* Thu Jan 26 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 22.2.0-10
- Build and package Sphinx documentation
* Thu Jan 26 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 22.2.0-9
- Run the tests
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 22.2.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Dec 07 2022 Ankur Sinha (Ankur Sinha Gmail) <sanjay.ankur@gmail.com> - 22.2.0-7
- chore: check in sources
* Wed Dec 07 2022 Ankur Sinha (Ankur Sinha Gmail) <sanjay.ankur@gmail.com> - 22.2.0-6
- feat: remove more more unneeded BRs
* Wed Dec 07 2022 Ankur Sinha (Ankur Sinha Gmail) <sanjay.ankur@gmail.com> - 22.2.0-5
- feat: remove unneeded BRs
* Wed Dec 07 2022 Ankur Sinha (Ankur Sinha Gmail) <sanjay.ankur@gmail.com> - 22.2.0-4
- chore: remove macro for consistency
* Wed Dec 07 2022 Ankur Sinha (Ankur Sinha Gmail) <sanjay.ankur@gmail.com> - 22.2.0-3
- fix: explicitly mention license file
* Wed Dec 07 2022 Ankur Sinha (Ankur Sinha Gmail) <sanjay.ankur@gmail.com> - 22.2.0-2
- feat: loosed poetry call
* Wed Dec 07 2022 Ankur Sinha (Ankur Sinha Gmail) <sanjay.ankur@gmail.com> - 22.2.0-1
- feat: ready for re-review
* Wed Dec 07 2022 Ankur Sinha (Ankur Sinha Gmail) <sanjay.ankur@gmail.com> - 22.1.0-1
- wip: requires orjson, which requires maturin
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 0.9.0-5
- Rebuilt for Python 3.8
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Oct 17 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.9.0-2
- Subpackage python2-cattrs has been removed
See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal
* Thu Sep 13 2018 Miro Hrončok <mhroncok@redhat.com> - 0.9.0-1
- Update to 0.9.0 to fix Python 3.7 FTBFS (#1605625)
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 0.6.0-4
- Rebuilt for Python 3.7
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Mon Jan 29 2018 Eric Smith <brouhaha@fedoraproject.org> 0.6.0-2
- Added missing BuildRequires for python2-enum34.
* Thu Jan 11 2018 Eric Smith <brouhaha@fedoraproject.org> 0.6.0-1
- Initial version.
## END: Generated by rpmautospec
Loading…
Cancel
Save