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