## START: Set by rpmautospec ## (rpmautospec version 0.3.5) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; 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 %bcond_without tests Name: python-immutables Version: 0.20 Release: %autorelease 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 %if %{with tests} BuildRequires: python3-pytest %endif # https://docs.fedoraproject.org/en-US/packaging-guidelines/#_packaging_header_only_libraries BuildRequires: pythoncapi-compat-static %description -n python3-immutables %{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 # remove bundled pythoncapi-compat rm -vf immutables/pythoncapi_compat.h %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