diff --git a/_multibuild b/_multibuild
new file mode 100644
index 0000000..fcc7b97
--- /dev/null
+++ b/_multibuild
@@ -0,0 +1,3 @@
+
+ test
+
diff --git a/python-sphinx-autodoc-typehints-system-object.inv.patch b/python-sphinx-autodoc-typehints-system-object.inv.patch
index c8d5621..9bf2de0 100644
--- a/python-sphinx-autodoc-typehints-system-object.inv.patch
+++ b/python-sphinx-autodoc-typehints-system-object.inv.patch
@@ -1,20 +1,21 @@
---
- tests/conftest.py | 12 ++----------
- 1 file changed, 2 insertions(+), 10 deletions(-)
+ tests/conftest.py | 13 ++-----------
+ 1 file changed, 2 insertions(+), 11 deletions(-)
--- a/tests/conftest.py
+++ b/tests/conftest.py
-@@ -14,16 +14,8 @@ collect_ignore = ['roots']
+@@ -18,17 +18,8 @@ collect_ignore = ["roots"]
- @pytest.fixture(scope='session')
- def inv(pytestconfig):
-- cache_path = 'python{v.major}.{v.minor}/objects.inv'.format(v=sys.version_info)
+ @pytest.fixture(scope="session")
+ def inv(pytestconfig: Config) -> Inventory:
+- cache_path = f"python{sys.version_info.major}.{sys.version_info.minor}/objects.inv"
+- assert pytestconfig.cache is not None
- inv_dict = pytestconfig.cache.get(cache_path, None)
- if inv_dict is not None:
- return Inventory(inv_dict)
-
- print("Downloading objects.inv")
-- url = 'https://docs.python.org/{v.major}.{v.minor}/objects.inv'.format(v=sys.version_info)
+- url = "https://docs.python.org/{v.major}.{v.minor}/objects.inv".format(v=sys.version_info)
- inv = Inventory(url=url)
- pytestconfig.cache.set(cache_path, inv.json_dict())
- return inv
diff --git a/python-sphinx-autodoc-typehints.changes b/python-sphinx-autodoc-typehints.changes
index e6b7452..de17502 100644
--- a/python-sphinx-autodoc-typehints.changes
+++ b/python-sphinx-autodoc-typehints.changes
@@ -1,3 +1,59 @@
+-------------------------------------------------------------------
+Wed May 11 10:08:38 UTC 2022 - Matej Cepl
+
+- Switch to multibuild to break build cycles.
+
+-------------------------------------------------------------------
+Thu May 5 05:35:05 UTC 2022 - Matej Cepl
+
+- Upgrade to 1.18.1:
+ - Fix mocked module import not working when used as guarded
+ import
+ - Support and require nptyping>=2
+ - Handle UnionType
+ - Mark it as requiring nptyping<2
+ - Add typehints_use_rtype option
+ - Handles TypeError when getting source code via inspect
+ - Add support for type subscriptions with multiple elements,
+ where one or more elements are tuples; e.g.,
+ nptyping.NDArray[(Any, ...), nptyping.Float]
+ - Fix bug for arbitrary types accepting singleton
+ subscriptions; e.g., nptyping.Float[64]
+ - Resolve forward references
+ - Expand and better handle TypeVar
+ - Add intershpinx reference link for ... to Ellipsis (as is
+ just an alias)
+ - Prevents reaching inner blocks that contains if TYPE_CHECKING
+ - Log a warning instead of crashing when a type guard import
+ fails to resolve
+ - When resolving type guard imports if the target module does
+ not have source code (such is the case for C-extension
+ modules) do nothing instead of crashing
+ - Fix fully_qualified should be typehints_fully_qualified
+ - Resolve type guard imports before evaluating annotations for
+ objects
+ - Remove set_type_checking_flag flag as this is now done by
+ default
+ - Fix crash when the inspect module returns an invalid python
+ syntax source
+ - Made formatting function configurable using the option
+ typehints_formatter
+ - Fixed normalize_source_lines() messing with the indentation
+ of methods with decorators that have parameters starting with
+ def.
+ - Handle ValueError or TypeError being raised when signature of
+ an object cannot be determined
+ - Fix KeyError being thrown when argument is not documented
+ (e.g. cls argument for class methods, and self for methods)
+ - Added typehints_defaults config option allowing to
+ automatically annotate parameter defaults.
+ - Fixed NewType inserts a reference as first argument instead
+ of a string
+ - Dropped Python 3.6 support
+ - Python 3.10 support
+ - Normalize async functions properly
+ - Allow py310 style annotations (PEP-563)
+
-------------------------------------------------------------------
Mon Dec 27 17:20:01 UTC 2021 - Ben Greiner
diff --git a/python-sphinx-autodoc-typehints.spec b/python-sphinx-autodoc-typehints.spec
index 5ab818c..4543240 100644
--- a/python-sphinx-autodoc-typehints.spec
+++ b/python-sphinx-autodoc-typehints.spec
@@ -1,7 +1,7 @@
#
-# spec file for package python-sphinx-autodoc-typehints
+# spec file
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,32 +18,42 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
-%define skip_python310 1
-Name: python-sphinx-autodoc-typehints
-Version: 1.12.0
+%define modname sphinx_autodoc_typehints
+%global flavor @BUILD_FLAVOR@%{nil}
+%if "%{flavor}" == "test"
+%define psuffix -test
+%bcond_without test
+%else
+%define psuffix %{nil}
+%bcond_with test
+%endif
+Name: python-sphinx-autodoc-typehints%{psuffix}
+Version: 1.18.1
Release: 0
Summary: Type hints (PEP 484) support for the Sphinx autodoc extension
License: MIT
Group: Development/Languages/Python
URL: https://github.com/agronholm/sphinx-autodoc-typehints
-Source: https://files.pythonhosted.org/packages/source/s/sphinx-autodoc-typehints/sphinx-autodoc-typehints-%{version}.tar.gz
-# PATCH-FIX-UPSTREAM python-sphinx-autodoc-typehints-system-object.inv.patch gh#agronholm/sphinx-autodoc-typehints#174 mcepl@suse.com
-# skip network tests
+Source: https://files.pythonhosted.org/packages/source/s/sphinx-autodoc-typehints/sphinx_autodoc_typehints-%{version}.tar.gz
+# PATCH-FIX-OPENSUSE python-sphinx-autodoc-typehints-system-object.inv.patch gh#agronholm/sphinx-autodoc-typehints#174 mcepl@suse.com
+# Don't download inventory from the Internet, but use the local one.
Patch0: python-sphinx-autodoc-typehints-system-object.inv.patch
BuildRequires: %{python_module setuptools >= 36.2.7}
BuildRequires: %{python_module setuptools_scm >= 1.7.0}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-Sphinx >= 1.7
-Requires: python-typing_extensions
BuildArch: noarch
+%if %{with test}
# SECTION tests
BuildRequires: %{python_module Sphinx >= 1.7}
BuildRequires: %{python_module doc}
+BuildRequires: %{python_module nptyping}
BuildRequires: %{python_module pathlib}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module sphobjinv}
BuildRequires: %{python_module typing_extensions}
+%endif
# /SECTION
%python_subpackages
@@ -52,23 +62,32 @@ This is a Sphinx extension which allows to use Python 3 annotations for document
and return value types of functions.
%prep
-%autosetup -p1 -n sphinx-autodoc-typehints-%{version}
+%autosetup -p1 -n sphinx_autodoc_typehints-%{version}
%build
%python_build
%python_expand sed -i -e 's/@PYTHON_VERSION@/%{$python_version}/' tests/conftest.py
%install
+%if %{without test}
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
+%endif
%check
+export PYTHONPATH=./src
+%if %{with test}
# test_sphinx_output -- too depenedent on sphinx version available
-%pytest -k 'not test_sphinx_output'
+# gh#tox-dev/sphinx-autodoc-typehints#229
+%pytest -k 'not (test_sphinx_output or test_format_annotation)'
+%endif
+%if %{without test}
%files %{python_files}
-%{python_sitelib}/*
%license LICENSE
-%doc README.rst CHANGELOG.rst
+%doc README.md CHANGELOG.md
+%{python_sitelib}/%{modname}-%{version}*-info
+%{python_sitelib}/%{modname}
+%endif
%changelog
diff --git a/sphinx-autodoc-typehints-1.12.0.tar.gz b/sphinx-autodoc-typehints-1.12.0.tar.gz
deleted file mode 100644
index eb50061..0000000
--- a/sphinx-autodoc-typehints-1.12.0.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:193617d9dbe0847281b1399d369e74e34cd959c82e02c7efde077fca908a9f52
-size 19494
diff --git a/sphinx_autodoc_typehints-1.18.1.tar.gz b/sphinx_autodoc_typehints-1.18.1.tar.gz
new file mode 100644
index 0000000..2c3d9ec
--- /dev/null
+++ b/sphinx_autodoc_typehints-1.18.1.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:07631c5f0c6641e5ba27143494aefc657e029bed3982138d659250e617f6f929
+size 31198