#
# spec file for package python-typing_extensions
#
# Copyright (c) 2020 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/
#


%define modname typing_extensions
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%bcond_without python2
%define skip_python2 1
Name:           python-typing_extensions
Version:        3.7.4.2
Release:        1.2
Summary:        Backported and Experimental Type Hints for Python 35+
License:        Python-2.0
URL:            https://github.com/python/typing/
Source0:        https://files.pythonhosted.org/packages/source/t/typing_extensions/%{modname}-%{version}.tar.gz
BuildRequires:  %{python_module setuptools}
BuildRequires:  fdupes
BuildRequires:  python-rpm-macros
BuildArch:      noarch
%if %{with python2}
BuildRequires:  python-typing >= 3.7.4
%endif
%if 0%{?suse_version} < 1500
BuildRequires:  python3-typing >= 3.7.4
%endif
%if 0%{?suse_version} > 1320
BuildRequires:  python3-testsuite
%endif
%if %{python3_version_nodots} < 35
Requires:       python-typing >= 3.7.4
%endif
%ifpython2
Requires:       python-typing >= 3.7.4
%endif
%python_subpackages

%description
The ``typing`` module was added to the standard library in Python
3.5 on a provisional basis and will no longer be provisional in
Python 3.7. However, this means users of Python 3.5 - 3.6 who are
unable to upgrade will not be able to take advantage of new types
added to the ``typing`` module, such as ``typing.Text`` or
``typing.Coroutine``.

The ``typing_extensions`` module contains both backports of these
changes as well as experimental types that will eventually be
added to the ``typing`` module, such as ``Protocol``.

Users of other Python versions should continue to install and use
the ``typing`` module from PyPi instead of using this one unless
specifically writing code that must be compatible with multiple
Python versions or requires experimental types.

%prep
%setup -q -n %{modname}-%{version}

%build
%python_build

%install
%python_install
%fdupes %{buildroot}%{python3_sitelib}

%check
# X.Y -> X
%{python_expand current_bin_suffix=%{$python_bin_suffix}
$python src_py${current_bin_suffix:0:1}/test_typing_extensions.py
}

%files %{python_files}
%license LICENSE
%doc README.rst
%{python_sitelib}/*

%changelog
* Mon Apr  6 2020 Marketa Calabkova <mcalabkova@suse.com>
- update to version 3.7.4.2
  * official support for Python 3.8 and 3.9
* Thu Mar 12 2020 Tomáš Chvátal <tchvatal@suse.com>
- Fix build without python2 available
* Wed Nov  6 2019 Lars Vogdt <lars@linux-schulserver.de>
- Update to version 3.7.4.1:
  + Fix isinstance() with generic protocol subclasses after subscripting
  + Fix tests for non-default interpreters
  + Use environment marker to specify typing dependency
  + Fix unions of protocols on Python 2
* Sun Jul 21 2019 Sebastian Wagner <sebix+novell.com@sebix.at>
- Update to version 3.7.4:
  - No changelog available.
- Drop test-sys-executable.patch, merged upstream.
* Sat Mar  2 2019 Tomáš Chvátal <tchvatal@suse.com>
- Rebase the patch to the current git state
* Sat Mar  2 2019 John Vandenberg <jayvdb@gmail.com>
- Add support for Python <3.5, using upstream commit as
  test-sys-executable.patch to fix the tests, replacing custom sed.
- Remove unnecessary buid dependency on pytest and pytest-xdist
* Thu Feb 28 2019 Tomáš Chvátal <tchvatal@suse.com>
- Drop the old tarball
* Thu Feb 28 2019 John Vandenberg <jayvdb@gmail.com>
- Replace test_modules.tar.gz with python-testsuite
- Remove fix_tests.patch which is half fixing test_modules.tar.gz,
  and the other half is replaced with a less brittle sed.
- Remove unnecessary build dependencies
- Update to 3.7.2
  * Pass *args and **kwargs to superclass in Generic.__new__
  * Fix for issue #524
  * Fix typing_extensions to support PEP 560
  * Add annotations to NamedTuple children __new__ constructors
  * Add missing 'NoReturn' to __all__ in typing.py
  * Backport Generic.__new__ fix
  * Fix IO.closed to be property
  * Add Final to typing_extensions
  * Fix instance/subclass checks of functions against runtime protocols
  * Add Literal[...] types to typing_extensions
* Tue Oct 23 2018 Matej Cepl <mcepl@suse.com>
- Initial effort to package typing_extensions-3.6.6