rdobuilder 2adcd1
%global srcname immutables
rdobuilder 2adcd1
rdobuilder 2adcd1
%bcond_without  tests
rdobuilder 2adcd1
rdobuilder 2adcd1
Name:           python-immutables
rdobuilder 2adcd1
Version:        0.20
rdobuilder 2adcd1
Release:        1%{?dist}
rdobuilder 2adcd1
Summary:        Immutable Collections
rdobuilder 2adcd1
# The entire source code is Apache-2.0, except pythoncapi_compat.h, which is
rdobuilder 2adcd1
# 0BSD. While this file is unbundled, it is a header-only library; its entire
rdobuilder 2adcd1
# contents are compiled into the binary RPM, and packaging guidelines treat it
rdobuilder 2adcd1
# as a static library. Its license therefore contributes to the license of the
rdobuilder 2adcd1
# binary RPM. See discussion in
rdobuilder 2adcd1
# https://src.fedoraproject.org/rpms/python-immutables/pull-request/2, and the
rdobuilder 2adcd1
# (Rust-specific but relevant) policy
rdobuilder 2adcd1
# https://docs.fedoraproject.org/en-US/legal/license-field/#_rust_packages.
rdobuilder 2adcd1
License:        Apache-2.0 AND 0BSD
rdobuilder 2adcd1
URL:            https://github.com/MagicStack/immutables
rdobuilder 2adcd1
Source:         %{pypi_source immutables}
rdobuilder 2adcd1
rdobuilder 2adcd1
BuildRequires:  gcc
rdobuilder 2adcd1
rdobuilder 2adcd1
%global common_description %{expand:
rdobuilder 2adcd1
An immutable mapping type for Python.
rdobuilder 2adcd1
rdobuilder 2adcd1
The underlying datastructure is a Hash Array Mapped Trie (HAMT) used in
rdobuilder 2adcd1
Clojure, Scala, Haskell, and other functional languages. This implementation is
rdobuilder 2adcd1
used in CPython 3.7 in the contextvars module (see PEP 550 and PEP 567 for more
rdobuilder 2adcd1
details).
rdobuilder 2adcd1
rdobuilder 2adcd1
Immutable mappings based on HAMT have O(log N) performance for both set() and
rdobuilder 2adcd1
get() operations, which is essentially O(1) for relatively small mappings.}
rdobuilder 2adcd1
rdobuilder 2adcd1
rdobuilder 2adcd1
%description %{common_description}
rdobuilder 2adcd1
rdobuilder 2adcd1
rdobuilder 2adcd1
%package -n python3-immutables
rdobuilder 2adcd1
Summary:        %{summary}
rdobuilder 2adcd1
BuildRequires:  python3-devel
rdobuilder 2adcd1
BuildRequires:  pyproject-rpm-macros
rdobuilder 2adcd1
%if %{with tests}
rdobuilder 2adcd1
BuildRequires:  python3-pytest
rdobuilder 2adcd1
%endif
rdobuilder 2adcd1
# https://github.com/python/pythoncapi-compat
rdobuilder 2adcd1
#
rdobuilder 2adcd1
# Not yet packaged separately in Fedora (review request:
rdobuilder 2adcd1
# https://bugzilla.redhat.com/show_bug.cgi?id=2154546).
rdobuilder 2adcd1
#
rdobuilder 2adcd1
# Upstream has never versioned this header; the contents of the file suggest
rdobuilder 2adcd1
# that it corresponds to commit eaff3c172f94ed32ac38860c38d7a8fa27483e57
rdobuilder 2adcd1
Provides:       bundled(pythoncapi-compat) = 0^20230721giteaff3c1
rdobuilder 2adcd1
%description -n python3-%{srcname} %{common_description}
rdobuilder 2adcd1
rdobuilder 2adcd1
%prep
rdobuilder 2adcd1
%autosetup -n immutables-%{version} -p 1
rdobuilder 2adcd1
rdobuilder 2adcd1
# don't install source files
rdobuilder 2adcd1
sed -e '/include_package_data=/ s/True/False/' -i setup.py
rdobuilder 2adcd1
rdobuilder 2adcd1
# delete mypy tests to avoid that dependency
rdobuilder 2adcd1
rm tests/conftest.py tests/test_mypy.py
rdobuilder 2adcd1
rdobuilder 2adcd1
%generate_buildrequires
rdobuilder 2adcd1
%pyproject_buildrequires
rdobuilder 2adcd1
rdobuilder 2adcd1
rdobuilder 2adcd1
%build
rdobuilder 2adcd1
%pyproject_wheel
rdobuilder 2adcd1
rdobuilder 2adcd1
rdobuilder 2adcd1
%install
rdobuilder 2adcd1
%pyproject_install
rdobuilder 2adcd1
%pyproject_save_files immutables
rdobuilder 2adcd1
rdobuilder 2adcd1
rdobuilder 2adcd1
%check
rdobuilder 2adcd1
%if %{with tests}
rdobuilder 2adcd1
%pytest --verbose
rdobuilder 2adcd1
%else
rdobuilder 2adcd1
%pyproject_check_import
rdobuilder 2adcd1
%endif
rdobuilder 2adcd1
rdobuilder 2adcd1
rdobuilder 2adcd1
%files -n python3-immutables -f %{pyproject_files}
rdobuilder 2adcd1
%doc README.rst
rdobuilder 2adcd1
rdobuilder 2adcd1
rdobuilder 2adcd1
%changelog
rdobuilder 2adcd1
* Tue Dec 05 2023 Carl George <carlwgeorge@fedoraproject.org> - 0.20-1
rdobuilder 2adcd1
- Update to version 0.20 rhbz#2232104
rdobuilder 2adcd1
rdobuilder 2adcd1
* Mon Jul 24 2023 Carl George <carl@george.computer> - 0.19-6
rdobuilder 2adcd1
- Use upstream merged commit for Python 3.12 compatibility
rdobuilder 2adcd1
rdobuilder 2adcd1
* Fri Jul 21 2023 Carl George <carl@george.computer> - 0.19-5
rdobuilder 2adcd1
- Python 3.12 compatibility, resolves rhbz#2220276
rdobuilder 2adcd1
rdobuilder 2adcd1
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.19-4
rdobuilder 2adcd1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
rdobuilder 2adcd1
rdobuilder 2adcd1
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 0.19-3
rdobuilder 2adcd1
- Rebuilt for Python 3.12
rdobuilder 2adcd1
rdobuilder 2adcd1
* Mon Jan 09 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.19-2
rdobuilder 2adcd1
- Unbundle pythoncapi-compat
rdobuilder 2adcd1
rdobuilder 2adcd1
* Fri Dec 16 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 0.19-1
rdobuilder 2adcd1
- Update License to SPDX
rdobuilder 2adcd1
- Indicate bundling of pythoncapi-compat header-only library
rdobuilder 2adcd1
- Update to 0.19 (close RHBZ#2126990)
rdobuilder 2adcd1
rdobuilder 2adcd1
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.18-3
rdobuilder 2adcd1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
rdobuilder 2adcd1
rdobuilder 2adcd1
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 0.18-2
rdobuilder 2adcd1
- Rebuilt for Python 3.11
rdobuilder 2adcd1
rdobuilder 2adcd1
* Wed Jun 01 2022 Carl George <carl@george.computer> - 0.18-1
rdobuilder 2adcd1
- Latest upstream, resolves: rhbz#2092222
rdobuilder 2adcd1
- Convert to pyproject macros
rdobuilder 2adcd1
rdobuilder 2adcd1
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.15-5
rdobuilder 2adcd1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
rdobuilder 2adcd1
rdobuilder 2adcd1
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.15-4
rdobuilder 2adcd1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
rdobuilder 2adcd1
rdobuilder 2adcd1
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 0.15-3
rdobuilder 2adcd1
- Rebuilt for Python 3.10
rdobuilder 2adcd1
rdobuilder 2adcd1
* Wed Apr 21 2021 Carl George <carl@george.computer> - 0.15-2
rdobuilder 2adcd1
- Include missing upstream license
rdobuilder 2adcd1
- Disable package data in setup.py to avoid installing source files
rdobuilder 2adcd1
rdobuilder 2adcd1
* Wed Apr 21 2021 Carl George <carl@george.computer> - 0.15-1
rdobuilder 2adcd1
- Initial package rhbz#1951868
rdobuilder 2adcd1