2011-09-02 13:12:34 +00:00
|
|
|
#
|
2024-02-01 08:34:36 +00:00
|
|
|
# spec file for package python-Twisted
|
2011-09-02 13:12:34 +00:00
|
|
|
#
|
2025-06-25 12:33:07 +00:00
|
|
|
# Copyright (c) 2025 SUSE LLC
|
2011-09-02 13:12:34 +00:00
|
|
|
#
|
|
|
|
|
# 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.
|
2011-09-20 14:37:09 +00:00
|
|
|
|
2018-10-11 09:01:36 +00:00
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
2011-09-02 13:12:34 +00:00
|
|
|
#
|
|
|
|
|
|
2011-09-20 14:37:09 +00:00
|
|
|
|
2022-06-22 06:14:46 +00:00
|
|
|
%global flavor @BUILD_FLAVOR@%{nil}
|
|
|
|
|
%if "%{flavor}" == "test"
|
|
|
|
|
%define psuffix -test
|
2025-06-25 12:33:07 +00:00
|
|
|
%bcond_without test
|
2022-06-22 06:14:46 +00:00
|
|
|
%else
|
|
|
|
|
%define psuffix %{nil}
|
2025-06-25 12:33:07 +00:00
|
|
|
%bcond_with test
|
2022-06-22 06:14:46 +00:00
|
|
|
%endif
|
2025-08-12 12:33:41 +00:00
|
|
|
%if 0%{?suse_version} > 1500
|
2025-06-25 12:33:07 +00:00
|
|
|
%bcond_without libalternatives
|
2025-08-12 12:33:41 +00:00
|
|
|
%else
|
|
|
|
|
%bcond_with libalternatives
|
|
|
|
|
%endif
|
2023-04-21 15:01:00 +00:00
|
|
|
%{?sle15_python_module_pythons}
|
2022-06-22 06:14:46 +00:00
|
|
|
Name: python-Twisted%{psuffix}
|
- update to 24.10.0:
* Python 3.13 is now supported.
* twisted.internet.defer.succeed() is significantly faster, and
awaiting Deferred has also been sped up.
* twisted.python.failure.Failure creation no longer records the
place where it was created. This reduces creation time by 60%
at least, thereby speeding up Deferred error handling.
* twisted.internet.defer.Deferred no longer removes the
traceback object from Failures. This may result in more
objects staying in memory if you don't clean up failed
Deferreds, but it speeds up error handling and enables
improvements to traceback reporting.
* twisted.internet.defer APIs are 2%-4% faster in many cases.
* twisted.internet.defer.Deferred runs callbacks with chained
Deferreds a little faster.
* The reactor now will use a little less CPU when events have
been scheduled with callLater().
* Creation of twisted.python.failure.Failure is now faster.
* Fixed unreleased regression caused by PR 12109.
* twisted.logger.eventAsText can now format the output having
types/classes as input. This was a regression introduced in
Twisted 24.3.0.
* twisted.internet.endpoints.clientFromString for TLS endpoints
with "bindAddress=" no longer crashes during connect.
twisted.internet.endpoints.HostnameEndpoint() no longer
crashes when given a bindAddress= argument that is just a
string, and that argument now accepts either address strings
or (address, port) tuples.
* The URLs from README and pyproject.toml were updated.
* #11236, #12060, #12062, #12099, #12219, #12290, #12296,
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Twisted?expand=0&rev=157
2024-10-29 18:01:24 +00:00
|
|
|
Version: 24.10.0
|
2011-09-02 13:12:34 +00:00
|
|
|
Release: 0
|
|
|
|
|
Summary: An asynchronous networking framework written in Python
|
|
|
|
|
License: MIT
|
2024-01-19 00:14:59 +00:00
|
|
|
URL: https://twisted.org
|
2023-11-23 16:03:01 +00:00
|
|
|
Source0: https://files.pythonhosted.org/packages/source/t/twisted/twisted-%{version}.tar.gz
|
2022-11-21 13:25:08 +00:00
|
|
|
Source99: python-Twisted.rpmlintrc
|
- Update to 21.2.0:
* Features
+ The enableSessions argument to twisted.internet.ssl.CertificateOptions now
+ actually enables/disables OpenSSL's session cache. Also, due to
+ session-related bugs, it defaults to False. (#9583)
+ twisted.internet.defer.inlineCallbacks and ensureDeferred will now associate a contextvars.Context with the coroutines they run, meaning that ContextVar objects will maintain their value within the same coroutine, similarly to asyncio Tasks. This functionality requires Python 3.7+, or the contextvars PyPI backport to be installed for Python 3.5-3.6. (#9719, #9826)
+ twisted.internet.defer.Deferred.fromCoroutine has been added. This is similar to the existing ensureDeferred function, but is named more consistently inside Twisted and does not pass through Deferreds. (#9825)
+ trial now allows the @unittest.skipIf decorator to specify that an entire test class should be skipped. (#9829)
+ The twisted.python.deprecate.deprecatedKeywordParameter decorator can be used to mark a keyword paramater of a function or method as deprecated. (#9844)
+ Projects using Twisted can now perform type checking against a Twisted
+ installation, for example using mypy. (#9908)
+ twisted.python.util.InsensitiveDict now fully implements MutableMapping. (#9919)
+ Python 3.8 is now tested and supported. (#9955)
+ Support a coroutine function in twisted.internet.task.react (#9974)
+ PyPy 3.7 is now tested and supported. (#10093)
* Bugfixes
+ twisted.web.twcgi.CGIProcessProtocol.processEnded(...) now handles an already-finished request, for example when request.connectionLost(...) was called previously. (#9468)
+ Twisted's dependency on PyHamcrest has been moved from the base package to the new "test" extra. Consequently the test extra must be installed for Twisted's test suite to pass. (#9509)
+ Fixed serialization of timedelta, date, and time objects in twisted.spread. (#9716)
+ twisted.internet.asyncioreactor.AsyncioSelectorReactor now raises an exception if instantiated with an event loop which is not compatible with asyncio.SelectorEventLoop. This fixes the AsyncioSelectorReactor in Python 3.8+ on Windows, where in bp-34687 the default Windows asyncio event loop was changed to ProactorEventLoop. Applications that use AsyncioSelectorReactor on Windows with Python 3.8+ must call asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) before instantiating and running AsyncioSelectorReactor. (#9766)
+ twisted.internet.process.registerReapProcessHandler and ._BaseProcess.reapProcess will no longer raise a TypeError when processing a None PID (#9775)
+ INotify will close its file descriptor if a directory is automatically removed by twisted from the watchlist because it's deleted, avoiding orphaned filedescriptors. (#9777)
+ DelayedCall.reset() is now working properly with asyncioreactor (#9780)
+ AsyncioSelectorReactor.seconds() now correctly returns an epoch time. (#9787)
+ The _connDone parameter has been removed from twisted.internet.abstract.FileDescriptor.loseConnection()'s signature in order to match the signature in the base class twisted.internet._newtls.ConnectionMixin loseConnection(). (#9849)
+ The Gtk3 reactor now runs on Wayland-only sessions (#9904)
+ Descriptive error messages from twisted.internet.error are now present when running with 'python -OO'. (#9918)
+ Comparator methods such as eq() now always return NotImplemented for uncomparable types. (#9919)
+ When installing Twisted it now requires a minimum Python 3.5.4 version to match the version used with automated testing. This is the minimum Python version that we know that Twisted works with. (#10098)
- Drop patches no-pygtkcompat.patch, python-38-hmac-digestmod.patch,
python-38-no-cgi-parseqs.patch, twisted-pr1369-remove-pyopenssl-npn.patch &
twisted-pr1487-increase-ffdh-keysize.patch, they have been merged.
- Refresh other patches.
- Add no-cython_test_exception_raiser.patch to avoid another dependency.
- Update URL and make use of sitelib, not sitearch macros
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Twisted?expand=0&rev=102
2021-03-10 10:15:47 +00:00
|
|
|
Patch0: skip_MultiCast.patch
|
2020-10-12 21:16:08 +00:00
|
|
|
# PATCH-FIX-UPSTREAM no-test_successResultOfWithFailureHasTraceback.patch https://twistedmatrix.com/trac/ticket/9665 mcepl@suse.com
|
|
|
|
|
# skip over the test test_successResultOfWithFailureHasTraceback
|
- Update to 21.2.0:
* Features
+ The enableSessions argument to twisted.internet.ssl.CertificateOptions now
+ actually enables/disables OpenSSL's session cache. Also, due to
+ session-related bugs, it defaults to False. (#9583)
+ twisted.internet.defer.inlineCallbacks and ensureDeferred will now associate a contextvars.Context with the coroutines they run, meaning that ContextVar objects will maintain their value within the same coroutine, similarly to asyncio Tasks. This functionality requires Python 3.7+, or the contextvars PyPI backport to be installed for Python 3.5-3.6. (#9719, #9826)
+ twisted.internet.defer.Deferred.fromCoroutine has been added. This is similar to the existing ensureDeferred function, but is named more consistently inside Twisted and does not pass through Deferreds. (#9825)
+ trial now allows the @unittest.skipIf decorator to specify that an entire test class should be skipped. (#9829)
+ The twisted.python.deprecate.deprecatedKeywordParameter decorator can be used to mark a keyword paramater of a function or method as deprecated. (#9844)
+ Projects using Twisted can now perform type checking against a Twisted
+ installation, for example using mypy. (#9908)
+ twisted.python.util.InsensitiveDict now fully implements MutableMapping. (#9919)
+ Python 3.8 is now tested and supported. (#9955)
+ Support a coroutine function in twisted.internet.task.react (#9974)
+ PyPy 3.7 is now tested and supported. (#10093)
* Bugfixes
+ twisted.web.twcgi.CGIProcessProtocol.processEnded(...) now handles an already-finished request, for example when request.connectionLost(...) was called previously. (#9468)
+ Twisted's dependency on PyHamcrest has been moved from the base package to the new "test" extra. Consequently the test extra must be installed for Twisted's test suite to pass. (#9509)
+ Fixed serialization of timedelta, date, and time objects in twisted.spread. (#9716)
+ twisted.internet.asyncioreactor.AsyncioSelectorReactor now raises an exception if instantiated with an event loop which is not compatible with asyncio.SelectorEventLoop. This fixes the AsyncioSelectorReactor in Python 3.8+ on Windows, where in bp-34687 the default Windows asyncio event loop was changed to ProactorEventLoop. Applications that use AsyncioSelectorReactor on Windows with Python 3.8+ must call asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) before instantiating and running AsyncioSelectorReactor. (#9766)
+ twisted.internet.process.registerReapProcessHandler and ._BaseProcess.reapProcess will no longer raise a TypeError when processing a None PID (#9775)
+ INotify will close its file descriptor if a directory is automatically removed by twisted from the watchlist because it's deleted, avoiding orphaned filedescriptors. (#9777)
+ DelayedCall.reset() is now working properly with asyncioreactor (#9780)
+ AsyncioSelectorReactor.seconds() now correctly returns an epoch time. (#9787)
+ The _connDone parameter has been removed from twisted.internet.abstract.FileDescriptor.loseConnection()'s signature in order to match the signature in the base class twisted.internet._newtls.ConnectionMixin loseConnection(). (#9849)
+ The Gtk3 reactor now runs on Wayland-only sessions (#9904)
+ Descriptive error messages from twisted.internet.error are now present when running with 'python -OO'. (#9918)
+ Comparator methods such as eq() now always return NotImplemented for uncomparable types. (#9919)
+ When installing Twisted it now requires a minimum Python 3.5.4 version to match the version used with automated testing. This is the minimum Python version that we know that Twisted works with. (#10098)
- Drop patches no-pygtkcompat.patch, python-38-hmac-digestmod.patch,
python-38-no-cgi-parseqs.patch, twisted-pr1369-remove-pyopenssl-npn.patch &
twisted-pr1487-increase-ffdh-keysize.patch, they have been merged.
- Refresh other patches.
- Add no-cython_test_exception_raiser.patch to avoid another dependency.
- Update URL and make use of sitelib, not sitearch macros
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Twisted?expand=0&rev=102
2021-03-10 10:15:47 +00:00
|
|
|
Patch2: no-test_successResultOfWithFailureHasTraceback.patch
|
2021-02-23 18:47:30 +00:00
|
|
|
# PATCH-FIX-UPSTREAM 1521_delegate_parseqs_stdlib_bpo42967.patch https://twistedmatrix.com/trac/ticket/10096 mcepl@suse.com
|
|
|
|
|
# overcome incompatibility with the solution for bpo#42967.
|
- Update to 21.2.0:
* Features
+ The enableSessions argument to twisted.internet.ssl.CertificateOptions now
+ actually enables/disables OpenSSL's session cache. Also, due to
+ session-related bugs, it defaults to False. (#9583)
+ twisted.internet.defer.inlineCallbacks and ensureDeferred will now associate a contextvars.Context with the coroutines they run, meaning that ContextVar objects will maintain their value within the same coroutine, similarly to asyncio Tasks. This functionality requires Python 3.7+, or the contextvars PyPI backport to be installed for Python 3.5-3.6. (#9719, #9826)
+ twisted.internet.defer.Deferred.fromCoroutine has been added. This is similar to the existing ensureDeferred function, but is named more consistently inside Twisted and does not pass through Deferreds. (#9825)
+ trial now allows the @unittest.skipIf decorator to specify that an entire test class should be skipped. (#9829)
+ The twisted.python.deprecate.deprecatedKeywordParameter decorator can be used to mark a keyword paramater of a function or method as deprecated. (#9844)
+ Projects using Twisted can now perform type checking against a Twisted
+ installation, for example using mypy. (#9908)
+ twisted.python.util.InsensitiveDict now fully implements MutableMapping. (#9919)
+ Python 3.8 is now tested and supported. (#9955)
+ Support a coroutine function in twisted.internet.task.react (#9974)
+ PyPy 3.7 is now tested and supported. (#10093)
* Bugfixes
+ twisted.web.twcgi.CGIProcessProtocol.processEnded(...) now handles an already-finished request, for example when request.connectionLost(...) was called previously. (#9468)
+ Twisted's dependency on PyHamcrest has been moved from the base package to the new "test" extra. Consequently the test extra must be installed for Twisted's test suite to pass. (#9509)
+ Fixed serialization of timedelta, date, and time objects in twisted.spread. (#9716)
+ twisted.internet.asyncioreactor.AsyncioSelectorReactor now raises an exception if instantiated with an event loop which is not compatible with asyncio.SelectorEventLoop. This fixes the AsyncioSelectorReactor in Python 3.8+ on Windows, where in bp-34687 the default Windows asyncio event loop was changed to ProactorEventLoop. Applications that use AsyncioSelectorReactor on Windows with Python 3.8+ must call asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) before instantiating and running AsyncioSelectorReactor. (#9766)
+ twisted.internet.process.registerReapProcessHandler and ._BaseProcess.reapProcess will no longer raise a TypeError when processing a None PID (#9775)
+ INotify will close its file descriptor if a directory is automatically removed by twisted from the watchlist because it's deleted, avoiding orphaned filedescriptors. (#9777)
+ DelayedCall.reset() is now working properly with asyncioreactor (#9780)
+ AsyncioSelectorReactor.seconds() now correctly returns an epoch time. (#9787)
+ The _connDone parameter has been removed from twisted.internet.abstract.FileDescriptor.loseConnection()'s signature in order to match the signature in the base class twisted.internet._newtls.ConnectionMixin loseConnection(). (#9849)
+ The Gtk3 reactor now runs on Wayland-only sessions (#9904)
+ Descriptive error messages from twisted.internet.error are now present when running with 'python -OO'. (#9918)
+ Comparator methods such as eq() now always return NotImplemented for uncomparable types. (#9919)
+ When installing Twisted it now requires a minimum Python 3.5.4 version to match the version used with automated testing. This is the minimum Python version that we know that Twisted works with. (#10098)
- Drop patches no-pygtkcompat.patch, python-38-hmac-digestmod.patch,
python-38-no-cgi-parseqs.patch, twisted-pr1369-remove-pyopenssl-npn.patch &
twisted-pr1487-increase-ffdh-keysize.patch, they have been merged.
- Refresh other patches.
- Add no-cython_test_exception_raiser.patch to avoid another dependency.
- Update URL and make use of sitelib, not sitearch macros
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Twisted?expand=0&rev=102
2021-03-10 10:15:47 +00:00
|
|
|
Patch3: 1521_delegate_parseqs_stdlib_bpo42967.patch
|
2024-01-19 00:14:59 +00:00
|
|
|
# PATCH-FIX-OPENSUSE We don't want to package yet another module, and it is easily skippable
|
|
|
|
|
Patch5: no-cython_test_exception_raiser.patch
|
2021-09-01 18:56:34 +00:00
|
|
|
# PATCH-FIX-OPENSUSE remove-dependency-version-upper-bounds.patch boo#1190036 -- run with h2 >= 4.0.0 and priority >= 2.0
|
|
|
|
|
Patch6: remove-dependency-version-upper-bounds.patch
|
2023-11-23 16:03:01 +00:00
|
|
|
BuildRequires: %{python_module hatch-fancy-pypi-readme}
|
|
|
|
|
BuildRequires: %{python_module hatchling}
|
2024-09-20 21:39:51 +00:00
|
|
|
BuildRequires: %{python_module incremental >= 24.7.0}
|
2023-11-23 16:03:01 +00:00
|
|
|
BuildRequires: %{python_module pip}
|
2017-06-20 12:25:48 +00:00
|
|
|
BuildRequires: %{python_module setuptools}
|
2023-11-23 16:03:01 +00:00
|
|
|
BuildRequires: %{python_module wheel}
|
2017-06-20 12:25:48 +00:00
|
|
|
BuildRequires: fdupes
|
- Update to 21.2.0:
* Features
+ The enableSessions argument to twisted.internet.ssl.CertificateOptions now
+ actually enables/disables OpenSSL's session cache. Also, due to
+ session-related bugs, it defaults to False. (#9583)
+ twisted.internet.defer.inlineCallbacks and ensureDeferred will now associate a contextvars.Context with the coroutines they run, meaning that ContextVar objects will maintain their value within the same coroutine, similarly to asyncio Tasks. This functionality requires Python 3.7+, or the contextvars PyPI backport to be installed for Python 3.5-3.6. (#9719, #9826)
+ twisted.internet.defer.Deferred.fromCoroutine has been added. This is similar to the existing ensureDeferred function, but is named more consistently inside Twisted and does not pass through Deferreds. (#9825)
+ trial now allows the @unittest.skipIf decorator to specify that an entire test class should be skipped. (#9829)
+ The twisted.python.deprecate.deprecatedKeywordParameter decorator can be used to mark a keyword paramater of a function or method as deprecated. (#9844)
+ Projects using Twisted can now perform type checking against a Twisted
+ installation, for example using mypy. (#9908)
+ twisted.python.util.InsensitiveDict now fully implements MutableMapping. (#9919)
+ Python 3.8 is now tested and supported. (#9955)
+ Support a coroutine function in twisted.internet.task.react (#9974)
+ PyPy 3.7 is now tested and supported. (#10093)
* Bugfixes
+ twisted.web.twcgi.CGIProcessProtocol.processEnded(...) now handles an already-finished request, for example when request.connectionLost(...) was called previously. (#9468)
+ Twisted's dependency on PyHamcrest has been moved from the base package to the new "test" extra. Consequently the test extra must be installed for Twisted's test suite to pass. (#9509)
+ Fixed serialization of timedelta, date, and time objects in twisted.spread. (#9716)
+ twisted.internet.asyncioreactor.AsyncioSelectorReactor now raises an exception if instantiated with an event loop which is not compatible with asyncio.SelectorEventLoop. This fixes the AsyncioSelectorReactor in Python 3.8+ on Windows, where in bp-34687 the default Windows asyncio event loop was changed to ProactorEventLoop. Applications that use AsyncioSelectorReactor on Windows with Python 3.8+ must call asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) before instantiating and running AsyncioSelectorReactor. (#9766)
+ twisted.internet.process.registerReapProcessHandler and ._BaseProcess.reapProcess will no longer raise a TypeError when processing a None PID (#9775)
+ INotify will close its file descriptor if a directory is automatically removed by twisted from the watchlist because it's deleted, avoiding orphaned filedescriptors. (#9777)
+ DelayedCall.reset() is now working properly with asyncioreactor (#9780)
+ AsyncioSelectorReactor.seconds() now correctly returns an epoch time. (#9787)
+ The _connDone parameter has been removed from twisted.internet.abstract.FileDescriptor.loseConnection()'s signature in order to match the signature in the base class twisted.internet._newtls.ConnectionMixin loseConnection(). (#9849)
+ The Gtk3 reactor now runs on Wayland-only sessions (#9904)
+ Descriptive error messages from twisted.internet.error are now present when running with 'python -OO'. (#9918)
+ Comparator methods such as eq() now always return NotImplemented for uncomparable types. (#9919)
+ When installing Twisted it now requires a minimum Python 3.5.4 version to match the version used with automated testing. This is the minimum Python version that we know that Twisted works with. (#10098)
- Drop patches no-pygtkcompat.patch, python-38-hmac-digestmod.patch,
python-38-no-cgi-parseqs.patch, twisted-pr1369-remove-pyopenssl-npn.patch &
twisted-pr1487-increase-ffdh-keysize.patch, they have been merged.
- Refresh other patches.
- Add no-cython_test_exception_raiser.patch to avoid another dependency.
- Update URL and make use of sitelib, not sitearch macros
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Twisted?expand=0&rev=102
2021-03-10 10:15:47 +00:00
|
|
|
BuildRequires: git-core
|
2017-06-20 12:25:48 +00:00
|
|
|
BuildRequires: python-rpm-macros
|
2025-06-25 12:33:07 +00:00
|
|
|
# twisted[tls] is so common, let's keep it tied to the main package for the time being.
|
|
|
|
|
Requires: python-Twisted-tls = %{version}
|
|
|
|
|
BuildArch: noarch
|
2022-06-22 06:14:46 +00:00
|
|
|
# SECTION install requires
|
- Update to 21.2.0:
* Features
+ The enableSessions argument to twisted.internet.ssl.CertificateOptions now
+ actually enables/disables OpenSSL's session cache. Also, due to
+ session-related bugs, it defaults to False. (#9583)
+ twisted.internet.defer.inlineCallbacks and ensureDeferred will now associate a contextvars.Context with the coroutines they run, meaning that ContextVar objects will maintain their value within the same coroutine, similarly to asyncio Tasks. This functionality requires Python 3.7+, or the contextvars PyPI backport to be installed for Python 3.5-3.6. (#9719, #9826)
+ twisted.internet.defer.Deferred.fromCoroutine has been added. This is similar to the existing ensureDeferred function, but is named more consistently inside Twisted and does not pass through Deferreds. (#9825)
+ trial now allows the @unittest.skipIf decorator to specify that an entire test class should be skipped. (#9829)
+ The twisted.python.deprecate.deprecatedKeywordParameter decorator can be used to mark a keyword paramater of a function or method as deprecated. (#9844)
+ Projects using Twisted can now perform type checking against a Twisted
+ installation, for example using mypy. (#9908)
+ twisted.python.util.InsensitiveDict now fully implements MutableMapping. (#9919)
+ Python 3.8 is now tested and supported. (#9955)
+ Support a coroutine function in twisted.internet.task.react (#9974)
+ PyPy 3.7 is now tested and supported. (#10093)
* Bugfixes
+ twisted.web.twcgi.CGIProcessProtocol.processEnded(...) now handles an already-finished request, for example when request.connectionLost(...) was called previously. (#9468)
+ Twisted's dependency on PyHamcrest has been moved from the base package to the new "test" extra. Consequently the test extra must be installed for Twisted's test suite to pass. (#9509)
+ Fixed serialization of timedelta, date, and time objects in twisted.spread. (#9716)
+ twisted.internet.asyncioreactor.AsyncioSelectorReactor now raises an exception if instantiated with an event loop which is not compatible with asyncio.SelectorEventLoop. This fixes the AsyncioSelectorReactor in Python 3.8+ on Windows, where in bp-34687 the default Windows asyncio event loop was changed to ProactorEventLoop. Applications that use AsyncioSelectorReactor on Windows with Python 3.8+ must call asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) before instantiating and running AsyncioSelectorReactor. (#9766)
+ twisted.internet.process.registerReapProcessHandler and ._BaseProcess.reapProcess will no longer raise a TypeError when processing a None PID (#9775)
+ INotify will close its file descriptor if a directory is automatically removed by twisted from the watchlist because it's deleted, avoiding orphaned filedescriptors. (#9777)
+ DelayedCall.reset() is now working properly with asyncioreactor (#9780)
+ AsyncioSelectorReactor.seconds() now correctly returns an epoch time. (#9787)
+ The _connDone parameter has been removed from twisted.internet.abstract.FileDescriptor.loseConnection()'s signature in order to match the signature in the base class twisted.internet._newtls.ConnectionMixin loseConnection(). (#9849)
+ The Gtk3 reactor now runs on Wayland-only sessions (#9904)
+ Descriptive error messages from twisted.internet.error are now present when running with 'python -OO'. (#9918)
+ Comparator methods such as eq() now always return NotImplemented for uncomparable types. (#9919)
+ When installing Twisted it now requires a minimum Python 3.5.4 version to match the version used with automated testing. This is the minimum Python version that we know that Twisted works with. (#10098)
- Drop patches no-pygtkcompat.patch, python-38-hmac-digestmod.patch,
python-38-no-cgi-parseqs.patch, twisted-pr1369-remove-pyopenssl-npn.patch &
twisted-pr1487-increase-ffdh-keysize.patch, they have been merged.
- Refresh other patches.
- Add no-cython_test_exception_raiser.patch to avoid another dependency.
- Update URL and make use of sitelib, not sitearch macros
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Twisted?expand=0&rev=102
2021-03-10 10:15:47 +00:00
|
|
|
Requires: python-Automat >= 0.8.0
|
2020-05-29 09:06:37 +00:00
|
|
|
Requires: python-attrs >= 19.2.0
|
2018-07-17 19:43:10 +00:00
|
|
|
Requires: python-constantly >= 15.1
|
|
|
|
|
Requires: python-hyperlink >= 17.1.1
|
2024-09-20 21:39:51 +00:00
|
|
|
Requires: python-incremental >= 24.7.0
|
2021-08-02 07:03:49 +00:00
|
|
|
Requires: python-typing_extensions >= 3.6.5
|
2018-07-17 19:43:10 +00:00
|
|
|
Requires: python-zope.interface >= 4.4.2
|
2022-06-22 06:14:46 +00:00
|
|
|
# /SECTION
|
2025-08-12 12:33:41 +00:00
|
|
|
%if %{with libalternatives}
|
|
|
|
|
BuildRequires: alts
|
|
|
|
|
Requires: alts
|
|
|
|
|
%else
|
|
|
|
|
Requires(post): update-alternatives
|
|
|
|
|
Requires(postun): update-alternatives
|
|
|
|
|
%endif
|
2022-06-22 06:14:46 +00:00
|
|
|
%if %{with test}
|
|
|
|
|
BuildRequires: %{python_module Twisted-all_non_platform = %{version}}
|
|
|
|
|
BuildRequires: %{python_module Twisted-conch_nacl = %{version}}
|
2024-10-29 22:22:20 +00:00
|
|
|
BuildRequires: %{python_module httpx}
|
|
|
|
|
BuildRequires: %{python_module hypothesis}
|
2022-06-22 06:14:46 +00:00
|
|
|
# declared nowhere but required to pass 8 tests with timezone checks
|
|
|
|
|
BuildRequires: %{python_module pytz}
|
|
|
|
|
%endif
|
2017-06-20 12:25:48 +00:00
|
|
|
%python_subpackages
|
|
|
|
|
|
2011-09-02 13:12:34 +00:00
|
|
|
%description
|
|
|
|
|
An extensible framework for Python programming, with special focus
|
|
|
|
|
on event-based network programming and multiprotocol integration.
|
|
|
|
|
|
2023-05-25 15:53:01 +00:00
|
|
|
%if 0%{?suse_version} > 1500
|
2017-06-20 12:25:48 +00:00
|
|
|
%package -n %{name}-doc
|
2011-09-02 13:12:34 +00:00
|
|
|
Summary: An asynchronous networking framework written in Python - Documentation
|
|
|
|
|
|
2017-06-20 12:25:48 +00:00
|
|
|
%description -n %{name}-doc
|
2011-09-02 13:12:34 +00:00
|
|
|
An extensible framework for Python programming, with special focus
|
|
|
|
|
on event-based network programming and multiprotocol integration.
|
|
|
|
|
|
|
|
|
|
This package contains the documentation for python-Twisted
|
2023-05-25 15:53:01 +00:00
|
|
|
%endif
|
2011-09-02 13:12:34 +00:00
|
|
|
|
2022-06-22 06:14:46 +00:00
|
|
|
%package tls
|
|
|
|
|
Summary: TLS support for Twisted
|
|
|
|
|
Requires: python-Twisted = %{version}
|
|
|
|
|
Requires: python-idna >= 2.4
|
|
|
|
|
Requires: python-pyOpenSSL >= 16.0.0
|
|
|
|
|
Requires: python-service_identity >= 18.1.0
|
|
|
|
|
|
|
|
|
|
%description tls
|
|
|
|
|
Twisted is an extensible framework for Python programming, with special focus
|
|
|
|
|
on event-based network programming and multiprotocol integration.
|
|
|
|
|
|
|
|
|
|
This metapackage is for the optional feature tls
|
|
|
|
|
|
|
|
|
|
%package conch
|
|
|
|
|
Summary: Conch for Twisted
|
|
|
|
|
Requires: python-Twisted = %{version}
|
|
|
|
|
Requires: python-appdirs >= 1.4.0
|
|
|
|
|
Requires: python-bcrypt >= 3.0.0
|
|
|
|
|
Requires: python-cryptography >= 2.6
|
|
|
|
|
|
|
|
|
|
%description conch
|
|
|
|
|
Twisted is an extensible framework for Python programming, with special focus
|
|
|
|
|
on event-based network programming and multiprotocol integration.
|
|
|
|
|
|
|
|
|
|
Twisted Conch: The Twisted Shell. Terminal emulation, SSHv2 and telnet.
|
|
|
|
|
|
|
|
|
|
%package conch_nacl
|
|
|
|
|
Summary: Conch w/ NaCl for Twisted
|
|
|
|
|
Requires: python-Twisted-conch = %{version}
|
|
|
|
|
|
|
|
|
|
%description conch_nacl
|
|
|
|
|
Twisted is an extensible framework for Python programming, with special focus
|
|
|
|
|
on event-based network programming and multiprotocol integration.
|
|
|
|
|
|
|
|
|
|
%package serial
|
|
|
|
|
Summary: Serial support for Twisted
|
|
|
|
|
Requires: python-Twisted = %{version}
|
|
|
|
|
Requires: python-pyserial >= 3.0
|
|
|
|
|
|
|
|
|
|
%description serial
|
|
|
|
|
Twisted is an extensible framework for Python programming, with special focus
|
|
|
|
|
on event-based network programming and multiprotocol integration.
|
|
|
|
|
|
|
|
|
|
This metapackage is for the optional feature serial
|
|
|
|
|
|
|
|
|
|
%package http2
|
|
|
|
|
Summary: HTTP/2 support for Twisted
|
|
|
|
|
Requires: python-Twisted = %{version}
|
|
|
|
|
Requires: python-h2 >= 3.0
|
|
|
|
|
Requires: python-priority >= 1.1.0
|
|
|
|
|
|
|
|
|
|
%description http2
|
|
|
|
|
Twisted is an extensible framework for Python programming, with special focus
|
|
|
|
|
on event-based network programming and multiprotocol integration.
|
|
|
|
|
|
|
|
|
|
This metapackage is for the optional feature http2
|
|
|
|
|
|
|
|
|
|
%package contextvars
|
|
|
|
|
Summary: Contextvars extra for Twisted
|
|
|
|
|
Requires: python-Twisted = %{version}
|
|
|
|
|
|
|
|
|
|
%description contextvars
|
|
|
|
|
Twisted is an extensible framework for Python programming, with special focus
|
|
|
|
|
on event-based network programming and multiprotocol integration.
|
|
|
|
|
|
|
|
|
|
This metapackage is for the optional dependency contextvars
|
|
|
|
|
|
|
|
|
|
%package all_non_platform
|
|
|
|
|
Summary: The all_non_platform dependency extra for Twisted
|
|
|
|
|
Requires: python-PyHamcrest >= 1.9.0
|
|
|
|
|
Requires: python-Twisted-conch = %{version}
|
|
|
|
|
Requires: python-Twisted-contextvars = %{version}
|
|
|
|
|
Requires: python-Twisted-http2 = %{version}
|
|
|
|
|
Requires: python-Twisted-serial = %{version}
|
|
|
|
|
Requires: python-Twisted-tls = %{version}
|
|
|
|
|
|
|
|
|
|
%description all_non_platform
|
|
|
|
|
Twisted is an extensible framework for Python programming, with special focus
|
|
|
|
|
on event-based network programming and multiprotocol integration.
|
|
|
|
|
|
|
|
|
|
This metapackage is for the optional dependency all_non_platform
|
|
|
|
|
|
2011-09-02 13:12:34 +00:00
|
|
|
%prep
|
2023-11-23 16:03:01 +00:00
|
|
|
%autosetup -p1 -n twisted-%{version}
|
2021-12-10 15:51:11 +00:00
|
|
|
sed -i '1{/env python/d}' src/twisted/mail/test/pop3testserver.py src/twisted/trial/test/scripttest.py
|
2024-01-19 00:14:59 +00:00
|
|
|
find src/twisted -name .gitignore -delete
|
|
|
|
|
find src/twisted -name '*.misc' -size 0 -delete
|
2011-09-02 13:12:34 +00:00
|
|
|
|
2022-06-22 06:14:46 +00:00
|
|
|
%if ! %{with test}
|
2011-09-02 13:12:34 +00:00
|
|
|
%build
|
2023-11-23 16:03:01 +00:00
|
|
|
%pyproject_wheel
|
2023-05-25 15:53:01 +00:00
|
|
|
|
|
|
|
|
# empty files
|
|
|
|
|
rm docs/{fun/Twisted.Quotes,_static/.placeholder,_templates/.placeholder}
|
|
|
|
|
%fdupes docs
|
2022-06-22 06:14:46 +00:00
|
|
|
%endif
|
2011-09-02 13:12:34 +00:00
|
|
|
|
2022-06-22 06:14:46 +00:00
|
|
|
%if ! %{with test}
|
2011-09-02 13:12:34 +00:00
|
|
|
%install
|
2023-11-23 16:03:01 +00:00
|
|
|
%pyproject_install
|
2017-07-04 06:34:13 +00:00
|
|
|
find %{buildroot} -regex '.*\.[ch]' -exec rm {} ";" # Remove leftover C sources
|
2017-06-20 12:25:48 +00:00
|
|
|
install -dm0755 %{buildroot}%{_mandir}/man1/
|
|
|
|
|
install -m0644 docs/*/man/*.1 %{buildroot}%{_mandir}/man1/ # Install man pages
|
2017-07-04 06:34:13 +00:00
|
|
|
find docs -type f -print0 | xargs -0 chmod a-x # Fix doc-file dependency by removing x flags
|
2017-06-23 15:17:10 +00:00
|
|
|
#sed -i "s/\r//" docs/core/howto/listings/udp/{MulticastClient,MulticastServer}.py
|
2021-07-31 06:18:53 +00:00
|
|
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
2024-01-19 00:14:59 +00:00
|
|
|
%if 0%{?suse_version} > 1500
|
|
|
|
|
mkdir -p %{buildroot}%{_docdir}/%{name}-doc
|
|
|
|
|
cp -r docs/* %{buildroot}%{_docdir}/%{name}-doc
|
|
|
|
|
%fdupes %{buildroot}%{_docdir}/%{name}-doc
|
|
|
|
|
%endif
|
2011-09-02 13:12:34 +00:00
|
|
|
|
2015-10-12 11:31:59 +00:00
|
|
|
# Prepare for update-alternatives usage
|
2017-11-10 12:19:58 +00:00
|
|
|
for p in twistd cftp ckeygen conch pyhtmlizer tkconch trial ; do
|
2020-05-29 09:06:37 +00:00
|
|
|
%python_clone -a %{buildroot}%{_bindir}/$p
|
|
|
|
|
%python_clone -a %{buildroot}%{_mandir}/man1/$p.1
|
2015-10-12 11:31:59 +00:00
|
|
|
done
|
|
|
|
|
|
2020-05-29 09:06:37 +00:00
|
|
|
# mailmail is useful only on Python 2
|
2019-09-16 07:36:25 +00:00
|
|
|
rm %{buildroot}%{_bindir}/mailmail %{buildroot}%{_mandir}/man1/mailmail.1
|
|
|
|
|
|
2016-09-03 18:16:23 +00:00
|
|
|
# no manpage for twist yet:
|
2020-05-29 09:06:37 +00:00
|
|
|
%python_clone -a %{buildroot}%{_bindir}/twist
|
2025-06-25 12:33:07 +00:00
|
|
|
# group all the alternatives under one master
|
|
|
|
|
%python_group_libalternatives twistd cftp ckeygen conch pyhtmlizer tkconch trial twist
|
2022-06-22 06:14:46 +00:00
|
|
|
%endif
|
2021-12-10 15:51:11 +00:00
|
|
|
|
2022-06-22 06:14:46 +00:00
|
|
|
%if %{with test}
|
2018-10-11 09:01:36 +00:00
|
|
|
%check
|
|
|
|
|
export LANG=en_US.UTF-8
|
2018-10-22 08:57:29 +00:00
|
|
|
export PYTHONDONTWRITEBYTECODE=1
|
2021-02-12 09:42:36 +00:00
|
|
|
|
2022-06-22 06:14:46 +00:00
|
|
|
%{python_expand # provide flavored commands for testing
|
|
|
|
|
# (= python_flavored_alternatives from gh#openSUSE/python-rpm-macros#120, but sadly not available for non-TW)
|
2021-12-10 15:51:11 +00:00
|
|
|
mkdir -p build/bin/
|
|
|
|
|
for f in %{buildroot}%{_bindir}/*-%{$python_bin_suffix}; do
|
|
|
|
|
ln -s $f build/bin/$(basename ${f%%%%-%{$python_bin_suffix}})
|
|
|
|
|
done
|
|
|
|
|
}
|
|
|
|
|
export PATH=$PWD/build/bin/:$PATH
|
|
|
|
|
|
2021-02-12 09:42:36 +00:00
|
|
|
# Relax the crypto policies for the test-suite
|
|
|
|
|
export OPENSSL_SYSTEM_CIPHERS_OVERRIDE=xyz_nonexistent_file
|
|
|
|
|
export OPENSSL_CONF=''
|
|
|
|
|
|
- Update to 21.2.0:
* Features
+ The enableSessions argument to twisted.internet.ssl.CertificateOptions now
+ actually enables/disables OpenSSL's session cache. Also, due to
+ session-related bugs, it defaults to False. (#9583)
+ twisted.internet.defer.inlineCallbacks and ensureDeferred will now associate a contextvars.Context with the coroutines they run, meaning that ContextVar objects will maintain their value within the same coroutine, similarly to asyncio Tasks. This functionality requires Python 3.7+, or the contextvars PyPI backport to be installed for Python 3.5-3.6. (#9719, #9826)
+ twisted.internet.defer.Deferred.fromCoroutine has been added. This is similar to the existing ensureDeferred function, but is named more consistently inside Twisted and does not pass through Deferreds. (#9825)
+ trial now allows the @unittest.skipIf decorator to specify that an entire test class should be skipped. (#9829)
+ The twisted.python.deprecate.deprecatedKeywordParameter decorator can be used to mark a keyword paramater of a function or method as deprecated. (#9844)
+ Projects using Twisted can now perform type checking against a Twisted
+ installation, for example using mypy. (#9908)
+ twisted.python.util.InsensitiveDict now fully implements MutableMapping. (#9919)
+ Python 3.8 is now tested and supported. (#9955)
+ Support a coroutine function in twisted.internet.task.react (#9974)
+ PyPy 3.7 is now tested and supported. (#10093)
* Bugfixes
+ twisted.web.twcgi.CGIProcessProtocol.processEnded(...) now handles an already-finished request, for example when request.connectionLost(...) was called previously. (#9468)
+ Twisted's dependency on PyHamcrest has been moved from the base package to the new "test" extra. Consequently the test extra must be installed for Twisted's test suite to pass. (#9509)
+ Fixed serialization of timedelta, date, and time objects in twisted.spread. (#9716)
+ twisted.internet.asyncioreactor.AsyncioSelectorReactor now raises an exception if instantiated with an event loop which is not compatible with asyncio.SelectorEventLoop. This fixes the AsyncioSelectorReactor in Python 3.8+ on Windows, where in bp-34687 the default Windows asyncio event loop was changed to ProactorEventLoop. Applications that use AsyncioSelectorReactor on Windows with Python 3.8+ must call asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) before instantiating and running AsyncioSelectorReactor. (#9766)
+ twisted.internet.process.registerReapProcessHandler and ._BaseProcess.reapProcess will no longer raise a TypeError when processing a None PID (#9775)
+ INotify will close its file descriptor if a directory is automatically removed by twisted from the watchlist because it's deleted, avoiding orphaned filedescriptors. (#9777)
+ DelayedCall.reset() is now working properly with asyncioreactor (#9780)
+ AsyncioSelectorReactor.seconds() now correctly returns an epoch time. (#9787)
+ The _connDone parameter has been removed from twisted.internet.abstract.FileDescriptor.loseConnection()'s signature in order to match the signature in the base class twisted.internet._newtls.ConnectionMixin loseConnection(). (#9849)
+ The Gtk3 reactor now runs on Wayland-only sessions (#9904)
+ Descriptive error messages from twisted.internet.error are now present when running with 'python -OO'. (#9918)
+ Comparator methods such as eq() now always return NotImplemented for uncomparable types. (#9919)
+ When installing Twisted it now requires a minimum Python 3.5.4 version to match the version used with automated testing. This is the minimum Python version that we know that Twisted works with. (#10098)
- Drop patches no-pygtkcompat.patch, python-38-hmac-digestmod.patch,
python-38-no-cgi-parseqs.patch, twisted-pr1369-remove-pyopenssl-npn.patch &
twisted-pr1487-increase-ffdh-keysize.patch, they have been merged.
- Refresh other patches.
- Add no-cython_test_exception_raiser.patch to avoid another dependency.
- Update URL and make use of sitelib, not sitearch macros
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Twisted?expand=0&rev=102
2021-03-10 10:15:47 +00:00
|
|
|
%python_expand PYTHONPATH=%{buildroot}%{$python_sitelib} $python -m twisted.trial twisted
|
2022-06-22 06:14:46 +00:00
|
|
|
%endif
|
2018-10-11 09:01:36 +00:00
|
|
|
|
2025-06-25 12:33:07 +00:00
|
|
|
%pre
|
|
|
|
|
%python_libalternatives_reset_alternative twistd
|
|
|
|
|
# these were master alternatives until Dec 2020
|
2020-12-11 07:54:16 +00:00
|
|
|
for f in cftp ckeygen conch pyhtmlizer tkconch trial twist; do
|
2025-06-25 12:33:07 +00:00
|
|
|
%python_libalternatives_reset_alternative $f
|
2020-12-11 07:54:16 +00:00
|
|
|
done
|
2020-05-18 14:20:53 +00:00
|
|
|
|
2025-08-12 12:33:41 +00:00
|
|
|
%post
|
|
|
|
|
%if !%{with libalternatives}
|
|
|
|
|
# these were master alternatives until Dec 2020. Remove before the install as slave links
|
|
|
|
|
for f in cftp ckeygen conch pyhtmlizer tkconch trial twist; do
|
|
|
|
|
(update-alternatives --quiet --list $f 2>&1 >/dev/null) && update-alternatives --quiet --remove-all $f
|
|
|
|
|
done
|
|
|
|
|
%endif
|
|
|
|
|
%{python_install_alternative twistd cftp ckeygen conch pyhtmlizer tkconch trial twist
|
|
|
|
|
twistd.1 cftp.1 ckeygen.1 conch.1 pyhtmlizer.1 tkconch.1 trial.1}
|
|
|
|
|
|
|
|
|
|
%postun
|
|
|
|
|
%python_uninstall_alternative twistd
|
|
|
|
|
|
2022-06-22 06:14:46 +00:00
|
|
|
%if ! %{with test}
|
|
|
|
|
%files %{python_files tls}
|
|
|
|
|
%license LICENSE
|
|
|
|
|
|
|
|
|
|
%files %{python_files conch}
|
|
|
|
|
%license LICENSE
|
|
|
|
|
|
|
|
|
|
%files %{python_files conch_nacl}
|
|
|
|
|
%license LICENSE
|
|
|
|
|
|
|
|
|
|
%files %{python_files serial}
|
|
|
|
|
%license LICENSE
|
|
|
|
|
|
|
|
|
|
%files %{python_files http2}
|
|
|
|
|
%license LICENSE
|
|
|
|
|
|
|
|
|
|
%files %{python_files contextvars}
|
|
|
|
|
%license LICENSE
|
|
|
|
|
|
|
|
|
|
%files %{python_files all_non_platform}
|
|
|
|
|
%license LICENSE
|
|
|
|
|
|
2017-06-20 12:25:48 +00:00
|
|
|
%files %{python_files}
|
2018-07-17 19:44:35 +00:00
|
|
|
%license LICENSE
|
|
|
|
|
%doc NEWS.rst README.rst
|
2022-06-22 06:14:46 +00:00
|
|
|
%python_alternative %{_bindir}/conch
|
|
|
|
|
%python_alternative %{_bindir}/tkconch
|
|
|
|
|
%python_alternative %{_mandir}/man1/conch.1%{?ext_man}
|
|
|
|
|
%python_alternative %{_mandir}/man1/tkconch.1%{?ext_man}
|
2020-05-18 14:20:53 +00:00
|
|
|
%python_alternative %{_bindir}/twistd
|
|
|
|
|
%python_alternative %{_bindir}/cftp
|
|
|
|
|
%python_alternative %{_bindir}/ckeygen
|
|
|
|
|
%python_alternative %{_bindir}/pyhtmlizer
|
|
|
|
|
%python_alternative %{_bindir}/trial
|
|
|
|
|
%python_alternative %{_bindir}/twist
|
|
|
|
|
%python_alternative %{_mandir}/man1/twistd.1%{?ext_man}
|
|
|
|
|
%python_alternative %{_mandir}/man1/cftp.1%{?ext_man}
|
|
|
|
|
%python_alternative %{_mandir}/man1/ckeygen.1%{?ext_man}
|
|
|
|
|
%python_alternative %{_mandir}/man1/pyhtmlizer.1%{?ext_man}
|
|
|
|
|
%python_alternative %{_mandir}/man1/trial.1%{?ext_man}
|
- Update to 21.2.0:
* Features
+ The enableSessions argument to twisted.internet.ssl.CertificateOptions now
+ actually enables/disables OpenSSL's session cache. Also, due to
+ session-related bugs, it defaults to False. (#9583)
+ twisted.internet.defer.inlineCallbacks and ensureDeferred will now associate a contextvars.Context with the coroutines they run, meaning that ContextVar objects will maintain their value within the same coroutine, similarly to asyncio Tasks. This functionality requires Python 3.7+, or the contextvars PyPI backport to be installed for Python 3.5-3.6. (#9719, #9826)
+ twisted.internet.defer.Deferred.fromCoroutine has been added. This is similar to the existing ensureDeferred function, but is named more consistently inside Twisted and does not pass through Deferreds. (#9825)
+ trial now allows the @unittest.skipIf decorator to specify that an entire test class should be skipped. (#9829)
+ The twisted.python.deprecate.deprecatedKeywordParameter decorator can be used to mark a keyword paramater of a function or method as deprecated. (#9844)
+ Projects using Twisted can now perform type checking against a Twisted
+ installation, for example using mypy. (#9908)
+ twisted.python.util.InsensitiveDict now fully implements MutableMapping. (#9919)
+ Python 3.8 is now tested and supported. (#9955)
+ Support a coroutine function in twisted.internet.task.react (#9974)
+ PyPy 3.7 is now tested and supported. (#10093)
* Bugfixes
+ twisted.web.twcgi.CGIProcessProtocol.processEnded(...) now handles an already-finished request, for example when request.connectionLost(...) was called previously. (#9468)
+ Twisted's dependency on PyHamcrest has been moved from the base package to the new "test" extra. Consequently the test extra must be installed for Twisted's test suite to pass. (#9509)
+ Fixed serialization of timedelta, date, and time objects in twisted.spread. (#9716)
+ twisted.internet.asyncioreactor.AsyncioSelectorReactor now raises an exception if instantiated with an event loop which is not compatible with asyncio.SelectorEventLoop. This fixes the AsyncioSelectorReactor in Python 3.8+ on Windows, where in bp-34687 the default Windows asyncio event loop was changed to ProactorEventLoop. Applications that use AsyncioSelectorReactor on Windows with Python 3.8+ must call asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) before instantiating and running AsyncioSelectorReactor. (#9766)
+ twisted.internet.process.registerReapProcessHandler and ._BaseProcess.reapProcess will no longer raise a TypeError when processing a None PID (#9775)
+ INotify will close its file descriptor if a directory is automatically removed by twisted from the watchlist because it's deleted, avoiding orphaned filedescriptors. (#9777)
+ DelayedCall.reset() is now working properly with asyncioreactor (#9780)
+ AsyncioSelectorReactor.seconds() now correctly returns an epoch time. (#9787)
+ The _connDone parameter has been removed from twisted.internet.abstract.FileDescriptor.loseConnection()'s signature in order to match the signature in the base class twisted.internet._newtls.ConnectionMixin loseConnection(). (#9849)
+ The Gtk3 reactor now runs on Wayland-only sessions (#9904)
+ Descriptive error messages from twisted.internet.error are now present when running with 'python -OO'. (#9918)
+ Comparator methods such as eq() now always return NotImplemented for uncomparable types. (#9919)
+ When installing Twisted it now requires a minimum Python 3.5.4 version to match the version used with automated testing. This is the minimum Python version that we know that Twisted works with. (#10098)
- Drop patches no-pygtkcompat.patch, python-38-hmac-digestmod.patch,
python-38-no-cgi-parseqs.patch, twisted-pr1369-remove-pyopenssl-npn.patch &
twisted-pr1487-increase-ffdh-keysize.patch, they have been merged.
- Refresh other patches.
- Add no-cython_test_exception_raiser.patch to avoid another dependency.
- Update URL and make use of sitelib, not sitearch macros
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Twisted?expand=0&rev=102
2021-03-10 10:15:47 +00:00
|
|
|
%{python_sitelib}/twisted
|
2023-11-23 16:03:01 +00:00
|
|
|
%{python_sitelib}/twisted-%{version}*-info
|
2023-05-25 15:53:01 +00:00
|
|
|
|
|
|
|
|
%if 0%{?suse_version} > 1500
|
|
|
|
|
%files -n %{name}-doc
|
2024-01-19 00:14:59 +00:00
|
|
|
%doc %{_docdir}/%{name}-doc
|
|
|
|
|
%else
|
2023-05-25 15:53:01 +00:00
|
|
|
%doc docs/
|
2024-01-19 00:14:59 +00:00
|
|
|
%endif
|
2023-05-25 15:53:01 +00:00
|
|
|
|
2022-06-22 06:14:46 +00:00
|
|
|
%endif
|
2011-09-02 13:12:34 +00:00
|
|
|
|
|
|
|
|
%changelog
|