git: 28de41d46b1a - main - sysutils/py-mitogen: update to 0.3.3
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 09 Aug 2022 10:44:52 UTC
The branch main has been updated by dch:
URL: https://cgit.FreeBSD.org/ports/commit/?id=28de41d46b1ae5162ef5ba379386c3611497749a
commit 28de41d46b1ae5162ef5ba379386c3611497749a
Author: Dave Cottlehuber <dch@FreeBSD.org>
AuthorDate: 2022-08-09 10:44:34 +0000
Commit: Dave Cottlehuber <dch@FreeBSD.org>
CommitDate: 2022-08-09 10:44:34 +0000
sysutils/py-mitogen: update to 0.3.3
- monkeypatch python3.9 support until upstream does a release
Sponsored by: SkunkWerks, GmbH
---
sysutils/py-mitogen/Makefile | 2 +-
sysutils/py-mitogen/distinfo | 8 +-
.../files/patch-ansible__mitogen_loaders.py | 11 ++
sysutils/py-mitogen/files/patch-mitogen_core.py | 32 ---
sysutils/py-mitogen/files/patch-mitogen_master.py | 214 ---------------------
5 files changed, 15 insertions(+), 252 deletions(-)
diff --git a/sysutils/py-mitogen/Makefile b/sysutils/py-mitogen/Makefile
index 258ba5b37a29..5835b417fea5 100644
--- a/sysutils/py-mitogen/Makefile
+++ b/sysutils/py-mitogen/Makefile
@@ -1,5 +1,5 @@
PORTNAME= mitogen
-DISTVERSION= 0.3.2
+DISTVERSION= 0.3.3
CATEGORIES= sysutils python
MASTER_SITES= CHEESESHOP
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/sysutils/py-mitogen/distinfo b/sysutils/py-mitogen/distinfo
index d34920fb5b9e..bab25fa9a6d6 100644
--- a/sysutils/py-mitogen/distinfo
+++ b/sysutils/py-mitogen/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1653396026
-SHA256 (mitogen-0.3.2.tar.gz) = 49e1e391cb4fa3627e290fea656a3c38cce990778137f013291d7e7085304c3d
-SIZE (mitogen-0.3.2.tar.gz) = 218661
-SHA256 (913.patch) = 29e678a1eb6fbea615b25f3114f17cd5504ae2a11bb691124bef253ca2e9ba98
-SIZE (913.patch) = 16016
+TIMESTAMP = 1659648435
+SHA256 (mitogen-0.3.3.tar.gz) = db9dbc1ca8acb59f8f70c25a0fbdf11698b1a8b8355f39a8c540e0874496fb34
+SIZE (mitogen-0.3.3.tar.gz) = 219703
diff --git a/sysutils/py-mitogen/files/patch-ansible__mitogen_loaders.py b/sysutils/py-mitogen/files/patch-ansible__mitogen_loaders.py
new file mode 100644
index 000000000000..61cc5690f103
--- /dev/null
+++ b/sysutils/py-mitogen/files/patch-ansible__mitogen_loaders.py
@@ -0,0 +1,11 @@
+--- ansible_mitogen/loaders.py.orig 2022-08-09 10:30:15 UTC
++++ ansible_mitogen/loaders.py
+@@ -48,7 +48,7 @@ ANSIBLE_VERSION_MIN = (2, 10)
+
+
+ ANSIBLE_VERSION_MIN = (2, 10)
+-ANSIBLE_VERSION_MAX = (2, 12)
++ANSIBLE_VERSION_MAX = (2, 13)
+
+ NEW_VERSION_MSG = (
+ "Your Ansible version (%s) is too recent. The most recent version\n"
diff --git a/sysutils/py-mitogen/files/patch-mitogen_core.py b/sysutils/py-mitogen/files/patch-mitogen_core.py
deleted file mode 100644
index 66abd739671b..000000000000
--- a/sysutils/py-mitogen/files/patch-mitogen_core.py
+++ /dev/null
@@ -1,32 +0,0 @@
---- mitogen/core.py.orig 2022-01-12 07:45:19 UTC
-+++ mitogen/core.py
-@@ -1357,6 +1357,16 @@ class Importer(object):
- fp.close()
-
- def find_module(self, fullname, path=None):
-+ """
-+ Return a loader (ourself) or None, for the module with fullname.
-+
-+ Implements importlib.abc.MetaPathFinder.find_module().
-+ Deprecrated in Python 3.4+, replaced by find_spec().
-+ Raises ImportWarning in Python 3.10+.
-+
-+ fullname A (fully qualified?) module name, e.g. "os.path".
-+ path __path__ of parent packge. None for a top level module.
-+ """
- if hasattr(_tls, 'running'):
- return None
-
-@@ -1478,6 +1488,12 @@ class Importer(object):
- callback()
-
- def load_module(self, fullname):
-+ """
-+ Return the loaded module specified by fullname.
-+
-+ Implements importlib.abc.Loader.load_module().
-+ Deprecated in Python 3.4+, replaced by create_module() & exec_module().
-+ """
- fullname = to_text(fullname)
- _v and self._log.debug('requesting %s', fullname)
- self._refuse_imports(fullname)
diff --git a/sysutils/py-mitogen/files/patch-mitogen_master.py b/sysutils/py-mitogen/files/patch-mitogen_master.py
deleted file mode 100644
index 6e669e792c55..000000000000
--- a/sysutils/py-mitogen/files/patch-mitogen_master.py
+++ /dev/null
@@ -1,214 +0,0 @@
---- mitogen/master.py.orig 2022-01-12 07:45:19 UTC
-+++ mitogen/master.py
-@@ -122,6 +122,13 @@ def is_stdlib_name(modname):
- """
- Return :data:`True` if `modname` appears to come from the standard library.
- """
-+ # `imp.is_builtin()` isn't a documented as part of Python's stdlib API.
-+ #
-+ # """
-+ # Main is a little special - imp.is_builtin("__main__") will return False,
-+ # but BuiltinImporter is still the most appropriate initial setting for
-+ # its __loader__ attribute.
-+ # """ -- comment in CPython pylifecycle.c:add_main_module()
- if imp.is_builtin(modname) != 0:
- return True
-
-@@ -512,42 +519,57 @@ class PkgutilMethod(FinderMethod):
- Find `fullname` using :func:`pkgutil.find_loader`.
- """
- try:
-+ # If fullname refers to a submodule that's not already imported
-+ # then the containing package is imported.
- # Pre-'import spec' this returned None, in Python3.6 it raises
- # ImportError.
- loader = pkgutil.find_loader(fullname)
- except ImportError:
- e = sys.exc_info()[1]
-- LOG.debug('%r._get_module_via_pkgutil(%r): %s',
-- self, fullname, e)
-+ LOG.debug('%r: find_loader(%r) failed: %s', self, fullname, e)
- return None
-
-- IOLOG.debug('%r._get_module_via_pkgutil(%r) -> %r',
-- self, fullname, loader)
- if not loader:
-+ LOG.debug('%r: find_loader(%r) returned %r, aborting',
-+ self, fullname, loader)
- return
-
- try:
-- path, is_special = _py_filename(loader.get_filename(fullname))
-- source = loader.get_source(fullname)
-- is_pkg = loader.is_package(fullname)
--
-- # workaround for special python modules that might only exist in memory
-- if is_special and is_pkg and not source:
-- source = '\n'
-+ path = loader.get_filename(fullname)
- except (AttributeError, ImportError):
-- # - Per PEP-302, get_source() and is_package() are optional,
-- # calling them may throw AttributeError.
- # - get_filename() may throw ImportError if pkgutil.find_loader()
- # picks a "parent" package's loader for some crap that's been
- # stuffed in sys.modules, for example in the case of urllib3:
- # "loader for urllib3.contrib.pyopenssl cannot handle
- # requests.packages.urllib3.contrib.pyopenssl"
- e = sys.exc_info()[1]
-- LOG.debug('%r: loading %r using %r failed: %s',
-- self, fullname, loader, e)
-+ LOG.debug('%r: %r.get_file_name(%r) failed: %r', self, loader, fullname, e)
- return
-
-+ path, is_special = _py_filename(path)
-+
-+ try:
-+ source = loader.get_source(fullname)
-+ except AttributeError:
-+ # Per PEP-302, get_source() is optional,
-+ e = sys.exc_info()[1]
-+ LOG.debug('%r: %r.get_source() failed: %r', self, loader, fullname, e)
-+ return
-+
-+ try:
-+ is_pkg = loader.is_package(fullname)
-+ except AttributeError:
-+ # Per PEP-302, is_package() is optional,
-+ e = sys.exc_info()[1]
-+ LOG.debug('%r: %r.is_package(%r) failed: %r', self, loader, fullname, e)
-+ return
-+
-+ # workaround for special python modules that might only exist in memory
-+ if is_special and is_pkg and not source:
-+ source = '\n'
-+
- if path is None or source is None:
-+ LOG.debug('%r: path=%r, source=%r, aborting', self, path, source)
- return
-
- if isinstance(source, mitogen.core.UnicodeType):
-@@ -567,23 +589,37 @@ class SysModulesMethod(FinderMethod):
- """
- Find `fullname` using its :data:`__file__` attribute.
- """
-- module = sys.modules.get(fullname)
-+ try:
-+ module = sys.modules[fullname]
-+ except KeyError:
-+ LOG.debug('%r: sys.modules[%r] absent, aborting', self, fullname)
-+ return
-+
- if not isinstance(module, types.ModuleType):
-- LOG.debug('%r: sys.modules[%r] absent or not a regular module',
-- self, fullname)
-+ LOG.debug('%r: sys.modules[%r] is %r, aborting',
-+ self, fullname, module)
- return
-
-- LOG.debug('_get_module_via_sys_modules(%r) -> %r', fullname, module)
-- alleged_name = getattr(module, '__name__', None)
-- if alleged_name != fullname:
-- LOG.debug('sys.modules[%r].__name__ is incorrect, assuming '
-- 'this is a hacky module alias and ignoring it. '
-- 'Got %r, module object: %r',
-- fullname, alleged_name, module)
-+ try:
-+ resolved_name = module.__name__
-+ except AttributeError:
-+ LOG.debug('%r: %r has no __name__, aborting', self, module)
- return
-
-- path, _ = _py_filename(getattr(module, '__file__', ''))
-+ if resolved_name != fullname:
-+ LOG.debug('%r: %r.__name__ is %r, aborting',
-+ self, module, resolved_name)
-+ return
-+
-+ try:
-+ path = module.__file__
-+ except AttributeError:
-+ LOG.debug('%r: %r has no __file__, aborting', self, module)
-+ return
-+
-+ path, _ = _py_filename(path)
- if not path:
-+ LOG.debug('%r: %r.__file__ is %r, aborting', self, module, path)
- return
-
- LOG.debug('%r: sys.modules[%r]: found %s', self, fullname, path)
-@@ -628,10 +664,24 @@ class ParentEnumerationMethod(FinderMethod):
- module object or any parent package's :data:`__path__`, since they have all
- been overwritten. Some men just want to watch the world burn.
- """
-+
-+ @staticmethod
-+ def _iter_parents(fullname):
-+ """
-+ >>> list(ParentEnumerationMethod._iter_parents('a'))
-+ [('', 'a')]
-+ >>> list(ParentEnumerationMethod._iter_parents('a.b.c'))
-+ [('a.b', 'c'), ('a', 'b'), ('', 'a')]
-+ """
-+ while fullname:
-+ fullname, _, modname = str_rpartition(fullname, u'.')
-+ yield fullname, modname
-+
- def _find_sane_parent(self, fullname):
- """
- Iteratively search :data:`sys.modules` for the least indirect parent of
-- `fullname` that is loaded and contains a :data:`__path__` attribute.
-+ `fullname` that's from the same package and has a :data:`__path__`
-+ attribute.
-
- :return:
- `(parent_name, path, modpath)` tuple, where:
-@@ -644,21 +694,40 @@ class ParentEnumerationMethod(FinderMethod):
- * `modpath`: list of module name components leading from `path`
- to the target module.
- """
-- path = None
- modpath = []
-- while True:
-- pkgname, _, modname = str_rpartition(to_text(fullname), u'.')
-+ for pkgname, modname in self._iter_parents(fullname):
- modpath.insert(0, modname)
- if not pkgname:
- return [], None, modpath
-
-- pkg = sys.modules.get(pkgname)
-- path = getattr(pkg, '__path__', None)
-- if pkg and path:
-- return pkgname.split('.'), path, modpath
-+ try:
-+ pkg = sys.modules[pkgname]
-+ except KeyError:
-+ LOG.debug('%r: sys.modules[%r] absent, skipping', self, pkgname)
-+ continue
-
-- LOG.debug('%r: %r lacks __path__ attribute', self, pkgname)
-- fullname = pkgname
-+ try:
-+ resolved_pkgname = pkg.__name__
-+ except AttributeError:
-+ LOG.debug('%r: %r has no __name__, skipping', self, pkg)
-+ continue
-+
-+ if resolved_pkgname != pkgname:
-+ LOG.debug('%r: %r.__name__ is %r, skipping',
-+ self, pkg, resolved_pkgname)
-+ continue
-+
-+ try:
-+ path = pkg.__path__
-+ except AttributeError:
-+ LOG.debug('%r: %r has no __path__, skipping', self, pkg)
-+ continue
-+
-+ if not path:
-+ LOG.debug('%r: %r.__path__ is %r, skipping', self, pkg, path)
-+ continue
-+
-+ return pkgname.split('.'), path, modpath
-
- def _found_package(self, fullname, path):
- path = os.path.join(path, '__init__.py')