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
|