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