summaryrefslogtreecommitdiff
path: root/sniffio.spec
blob: ec6bb06b95bf5939d05d4edeb0a5fdba74eed464 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# 构建方案: pip(pyproject.toml build-backend=setuptools.build_meta,源码无 setup.py,走 PEP 517 pip 路径)
# 上游源码: https://github.com/python-trio/sniffio
# 构建工具链: python3=3.11.6, python3-setuptools=68.0.0 (openeuler-24.03_LTS_SP4-x86_64)
# 版本来源: sniffio/_version.py 硬编码 __version__="1.3.1"(pyproject dynamic version = attr,非 scm 计算)
# 注: pyproject.toml [build-system].requires 声明了 setuptools_scm>=6.4,但版本走 attr 读取 _version.py,
#     setuptools_scm 从未被导入;且构建用 --no-build-isolation 不安装 build-system.requires。
#     chroot 无 python3-setuptools-scm 包,故不声明该 BuildRequires(已验证 check_existing_package=introduce_new)。
# topdir: sniffio-1.3.1
%global pypi_name sniffio

Name:           python-%{pypi_name}
Version:        1.3.1
Release:        2%{?dist}
Summary:        Sniff out which async library your code is running under
License:        MIT OR Apache-2.0
URL:            https://github.com/python-trio/sniffio
Source0:        https://github.com/python-trio/sniffio/archive/refs/tags/v%{version}/%{pypi_name}-%{version}.tar.gz
BuildArch:      noarch

BuildRequires:  python3-devel
BuildRequires:  python3-pip
BuildRequires:  python3-wheel
BuildRequires:  python3-setuptools >= 64

%description
Sniff out which async library your code is running under. This is a tiny
package whose only purpose is to let you detect which async library your
code is running under, so you can write cross-library code.


%package -n python3-%{pypi_name}
Summary:        Sniff out which async library your code is running under
Provides:       python-%{pypi_name}
Provides:       python3dist(%{pypi_name}) = %{version}

%description -n python3-%{pypi_name}
Sniff out which async library your code is running under. This is a tiny
package whose only purpose is to let you detect which async library your
code is running under, so you can write cross-library code.


%package help
Summary:        Development documents and examples for %{pypi_name}
Provides:       python3-%{pypi_name}-doc
Requires:       python3-%{pypi_name}

%description help
This package provides development documents and examples for %{pypi_name}.


%prep
%autosetup -n %{pypi_name}-%{version} -p1


%build
pip3 wheel --no-build-isolation --no-deps --wheel-dir %{_builddir}/wheels .


%install
pip3 install --no-build-isolation --no-index \
    --find-links %{_builddir}/wheels \
    --root %{buildroot} --prefix /usr \
    %{pypi_name}==%{version}


%files -n python3-%{pypi_name}
%license LICENSE LICENSE.MIT LICENSE.APACHE2
%{python3_sitelib}/sniffio/
%{python3_sitelib}/sniffio-%{version}*.dist-info/


%files help
%license LICENSE LICENSE.MIT LICENSE.APACHE2
%doc README.rst CHEATSHEET.rst


%changelog
* Tue Oct 27 2026 Python_Bot <Python_Bot@openeuler.org> - 1.3.1-2
- Drop unneeded BuildRequires on python3-setuptools-scm (version sourced from
  hardcoded _version.py attr, not scm; package absent in chroot)
- Add explicit BuildRequires on python3-wheel for pip3 wheel build command

* Tue Oct 27 2026 Python_Bot <Python_Bot@openeuler.org> - 1.3.1-1
- Initial package