SHA256
1
0
forked from pool/python-trio
python-trio/python-trio.spec
Matej Cepl d9bf2aeb47 Accepting request 940110 from home:bnavigator:python-rpm-macros
- Update to version 0.19.0
  * Trio now supports Python 3.10. (#1921)
  * Use slots for `~.lowlevel.Task` which should make them slightly
    smaller and faster. (#1927)
  * Make `~.Event` more lightweight by using less objects (about 2
    rather than 5, including a nested ParkingLot and attribute
    dicts) and simpler structures (set rather than OrderedDict).
    This may benefit applications that create a large number of
    event instances, such as with the "replace event object on
    every set()" idiom. (#1948)
  * The event loop now holds on to references of coroutine frames
    for only the minimum necessary period of time. (#1864)
  * The `~.lowlevel.TrioToken` class can now be used as a target of
    a weak reference. (#1924)
- Release 0.18.0
  * Add synchronous .close() methods and context manager (with x)
    support for .MemorySendChannel and .MemoryReceiveChannel.
    (#1797)
  * Previously, on Windows, Trio programs using thousands of
    sockets at the same time could trigger extreme slowdowns in the
    Windows kernel. Now, Trio works around this issue, so you
    should be able to use as many sockets as you want. (#1280)
  * `trio.from_thread.run` no longer crashes the Trio run if it is
    executed after the system nursery has been closed but before
    the run has finished. Calls made at this time will now raise
    trio.RunFinishedError. This fixes a regression introduced in
    Trio 0.17.0. The window in question is only one scheduler tick
    long in most cases, but may be longer if async generators need
    to be cleaned up. (#1738)
  * Fix a crash in pypy-3.7 (#1765)

OBS-URL: https://build.opensuse.org/request/show/940110
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-trio?expand=0&rev=21
2021-12-14 18:13:45 +00:00

97 lines
3.6 KiB
RPMSpec

#
# spec file for package python-trio
#
# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python3-%{**}}
%define skip_python2 1
Name: python-trio
Version: 0.19.0
Release: 0
Summary: Python async/await-native I/O library
License: Apache-2.0 OR MIT
URL: https://github.com/python-trio/trio
Source: https://github.com/python-trio/trio/archive/v%{version}.tar.gz#/trio-%{version}.tar.gz
#PATCH-FIX-UPSTREAM trio-pr2043-py310ssl-deprecationwarnings.patch -- gh#python-trio/trio#2043
Patch0: https://github.com/python-trio/trio/pull/2043.patch#/trio-pr2043-py310ssl-deprecationwarnings.patch
BuildRequires: %{python_module astor >= 0.8}
BuildRequires: %{python_module async_generator >= 1.9}
BuildRequires: %{python_module attrs >= 19.2.0}
BuildRequires: %{python_module base >= 3.6}
BuildRequires: %{python_module idna}
BuildRequires: %{python_module outcome}
BuildRequires: %{python_module pyOpenSSL}
BuildRequires: %{python_module pytest >= 5.0}
BuildRequires: %{python_module setuptools}
# for protocol specifications
BuildRequires: %{python_module sniffio}
BuildRequires: %{python_module contextvars >= 2.1 if %python-base < 3.7}
BuildRequires: %{python_module sortedcontainers}
BuildRequires: %{python_module trustme}
BuildRequires: %{python_module yapf >= 0.27.0}
BuildRequires: fdupes
BuildRequires: netcfg
BuildRequires: python-rpm-macros
Requires: python-async_generator >= 1.9
Requires: python-attrs >= 19.2.0
Requires: python-idna
Requires: python-outcome
Requires: python-sniffio
Requires: python-sortedcontainers
%if 0%{?python_version_nodots} < 37
Requires: python-contextvars >= 2.1
%endif
BuildArch: noarch
%python_subpackages
%description
The Trio project produces an async/await-native I/O library for
Python. Like all async libraries, its main purpose is to help write
programs that do multiple things at the same time with parallelized
I/O, such as a web spider that wants to fetch lots of pages in
parallel, a web server that needs to juggle lots of downloads and
websocket connections at the same time, a process supervisor
monitoring multiple subprocesses. Compared to other libraries, Trio
has an obsessive focus on usability and correctness.
%prep
%autosetup -p1 -n trio-%{version}
sed -i '1{/^#!/d}' trio/_tools/gen_exports.py
%build
%python_build
%install
%python_install
%{python_expand rm -r %{buildroot}%{$python_sitelib}/trio/tests/
%fdupes %{buildroot}%{$python_sitelib}
}
%check
# test_static_tool_sees_all_symbols uses jedi/pylint for static analysis,
# pointless for us.
# test_SSLStream_generic deadlocks in OBS
# test_close_at_bad_time_for_send_all fails on PPC https://github.com/python-trio/trio/issues/1753
%pytest -k 'not (test_static_tool_sees_all_symbols or test_SSLStream_generic or test_close_at_bad_time_for_send_all)'
%files %{python_files}
%doc README.rst
%license LICENSE LICENSE.APACHE2 LICENSE.MIT
%{python_sitelib}/trio
%{python_sitelib}/trio-%{version}*-info
%changelog