15
0
forked from pool/python-click

32 Commits

Author SHA256 Message Date
9c0809271b Sync with factory 2026-02-18 12:16:09 +01:00
9dfb63ce15 Accepting request 1291432 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1291432
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=25
2025-07-10 21:14:49 +00:00
da5df39830 Accepting request 1291320 from home:hsk17:branches:devel:languages:python
add click-8.2.1-clirunner.patch to fix clirunner breaking other modules' tests, cf. github.com/pallets/click/issues/2939.  e.g. python-mercantile fails tests since click-8.2.1.

OBS-URL: https://build.opensuse.org/request/show/1291320
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-click?expand=0&rev=58
2025-07-09 08:31:43 +00:00
5fce70d45f Accepting request 1278968 from devel:languages:python
- Update to 8.2.1:
  * Fix flag value handling for flag options with a provided type.
    #2894 #2897
  * Fix shell completion for nested groups. #2906
  * Flush sys.stderr at the end of CliRunner.invoke. #2682
  * Fix EOF handling for stdin input in CliRunner. #2787
- Update URL.

- Update to version 8.2.0:
  * Drop support for Python 3.7, 3.8, and 3.9. #2588 #2893
  * Use modern packaging metadata with pyproject.toml instead of setup.cfg.
    #2438
  * Use flit_core instead of setuptools as build backend. #2543
  * Deprecate the __version__ attribute. Use feature detection, or
    importlib.metadata.version("click"), instead. #2598
  * BaseCommand is deprecated. Command is the base class for all
    commands. #2589
  * MultiCommand is deprecated. Group is the base class for all group
    commands. #2590
  * The current parser and related classes and methods, are deprecated.
    #2205
    - OptionParser and the parser module, which is a modified copy of
      optparse in the standard library.
    - Context.protected_args is unneeded. Context.args contains any
      remaining arguments while parsing.
    - Parameter.add_to_parser (on both Argument and Option) is
      unneeded. Parsing works directly without building a separate parser.
    - split_arg_string is moved from parser to shell_completion.
  * Enable deferred evaluation of annotations with
    from __future__ import annotations. #2270

OBS-URL: https://build.opensuse.org/request/show/1278968
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=24
2025-05-31 17:14:09 +00:00
0c0c4c0a4d - Update to 8.2.1:
* Fix flag value handling for flag options with a provided type.
    #2894 #2897
  * Fix shell completion for nested groups. #2906
  * Flush sys.stderr at the end of CliRunner.invoke. #2682
  * Fix EOF handling for stdin input in CliRunner. #2787
- Update URL.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-click?expand=0&rev=56
2025-05-21 07:16:56 +00:00
f0145b331e re-format changelog as requested in request#1276563
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-click?expand=0&rev=55
2025-05-13 06:23:34 +00:00
768aeeb63b - Update to version 8.2.0:
-   Drop support for Python 3.7, 3.8, and 3.9. :pr:`2588` :pr:`2893`
 -   Use modern packaging metadata with ``pyproject.toml`` instead of ``setup.cfg``.
     :pr:`2438`
 -   Use ``flit_core`` instead of ``setuptools`` as build backend. :pr:`2543`
 -   Deprecate the ``__version__`` attribute. Use feature detection, or
     ``importlib.metadata.version("click")``, instead. :issue:`2598`
 -   ``BaseCommand`` is deprecated. ``Command`` is the base class for all
     commands. :issue:`2589`
 -   ``MultiCommand`` is deprecated. ``Group`` is the base class for all group
     commands. :issue:`2590`
 -   The current parser and related classes and methods, are deprecated.
     :issue:`2205`
     -   ``OptionParser`` and the ``parser`` module, which is a modified copy of
         ``optparse`` in the standard library.
     -   ``Context.protected_args`` is unneeded. ``Context.args`` contains any
         remaining arguments while parsing.
     -   ``Parameter.add_to_parser`` (on both ``Argument`` and ``Option``) is
         unneeded. Parsing works directly without building a separate parser.
     -   ``split_arg_string`` is moved from ``parser`` to ``shell_completion``.
 -   Enable deferred evaluation of annotations with
     ``from __future__ import annotations``. :pr:`2270`
 -   When generating a command's name from a decorated function's name, the
     suffixes ``_command``, ``_cmd``, ``_group``, and ``_grp`` are removed.
     :issue:`2322`
 -   Show the ``types.ParamType.name`` for ``types.Choice`` options within
     ``--help`` message if ``show_choices=False`` is specified.
     :issue:`2356`
 -   Do not display default values in prompts when ``Option.show_default`` is
     ``False``. :pr:`2509`

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-click?expand=0&rev=54
2025-05-12 06:35:29 +00:00
ad1dcc2cb6 Accepting request 1244737 from devel:languages:python
Revert to rev 51

OBS-URL: https://build.opensuse.org/request/show/1244737
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-click?expand=0&rev=53
2025-02-10 12:08:16 +00:00
62ff4bdfc3 Accepting request 1243308 from home:mcalabkova:branches:devel:languages:python
- Update to 8.2.0
  * Drop support for Python 3.7.
  * BaseCommand is deprecated. Command is the base class for all commands.
  * MultiCommand is deprecated. Group is the base class for all group commands.
  * The current parser and related classes and methods, are deprecated.
  * Enable deferred evaluation of annotations with from __future__ import annotations.
  * When generating a command's name from a decorated function's name, the suffixes 
    _command, _cmd, _group, and _grp are removed.
  * Add a catch_exceptions parameter to CliRunner. If catch_exceptions is not passed 
    to CliRunner.invoke, the value from CliRunner.
  * Option.flag_value will no longer have a default value set based on Option.default 
    if Option.is_flag is False.
  * Choice is now generic and supports any iterable value. This allows you to use 
    enums and other non-str values.

OBS-URL: https://build.opensuse.org/request/show/1243308
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-click?expand=0&rev=52
2025-02-05 15:41:13 +00:00
0058dc70a6 Accepting request 1236135 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1236135
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=23
2025-01-12 10:10:10 +00:00
841eec754e - Update to 8.1.8
* Fix an issue with type hints for ``click.open_file()``. :issue:`2717`
  * Fix issue where error message for invalid ``click.Path`` displays on
    multiple lines. :issue:`2697`
  * Fixed issue that prevented a default value of ``""`` from being displayed in
    the help for an option. :issue:`2500`
  * The test runner handles stripping color consistently on Windows.
    :issue:`2705`
  * Show correct value for flag default when using ``default_map``.
    :issue:`2632`
  * Fix ``click.echo(color=...)`` passing ``color`` to coloroma so it can be
    forced on Windows. :issue:`2606`.
- Switch build system from setuptools to pyproject.toml
  * Add python-pip and python-wheel to BuildRequires
  * Replace %python_build with %pyproject_wheel
  * Replace %python_install with %pyproject_install
  * Update name for dist directory in %files section
- Update BuildRequires from pyproject.toml

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-click?expand=0&rev=50
2025-01-09 10:00:31 +00:00
8ff7a7f8df Accepting request 1109509 from devel:languages:python
- update to 8.1.7:
  * Fix issue with regex flags in shell completion.
  * Bash version detection issues a warning instead of an
    error.
  * Fix issue with completion script for Fish shell.

- Update to version 4.1

OBS-URL: https://build.opensuse.org/request/show/1109509
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=22
2023-09-08 19:14:58 +00:00
f1b53e8ef1 Accepting request 1101851 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1101851
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=21
2023-08-03 15:27:08 +00:00
a365e2eece Accepting request 1085129 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1085129
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=20
2023-05-09 11:06:53 +00:00
8048aae015 Accepting request 1082055 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1082055
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=19
2023-04-22 20:03:06 +00:00
161dd2ca32 Accepting request 1074172 from devel:languages:python
- Remove not needed requirement python-setuptools

OBS-URL: https://build.opensuse.org/request/show/1074172
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=18
2023-03-26 18:19:08 +00:00
20c806c323 Accepting request 980907 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/980907
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=17
2022-06-06 09:10:06 +00:00
7a94572bd4 Accepting request 966639 from devel:languages:python
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/966639
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=16
2022-04-05 17:55:23 +00:00
ac078b95d2 Accepting request 925757 from devel:languages:python
- update to 8.0.3:
  * Fix issue with ``Path(resolve_path=True)`` type creating invalid
    paths. :issue:`2088`
  * Importing ``readline`` does not cause the ``confirm()`` prompt to
    disappear when pressing backspace. :issue:`2092`
  * Any default values injected by ``invoke()`` are cast to the
    corresponding parameter's type. :issue:`2089, 2090`
  * ``is_bool_flag`` is not set to ``True`` if ``is_flag`` is ``False``.
  * Bash version detection is locale independent. :issue:`1940`
  * Empty ``default`` value is not shown for ``multiple=True``.
  * Fix shell completion for arguments that start with a forward slash
    such as absolute file paths. :issue:`1929`
  * ``Path`` type with ``resolve_path=True`` resolves relative symlinks
    to be relative to the containing directory. :issue:`1921`
  * Completion does not skip Python's resource cleanup when exiting,
    avoiding some unexpected warning output. :issue:`1738, 2017`
  * Fix type annotation for ``type`` argument in ``prompt`` function.
  * Fix overline and italic styles, which were incorrectly added when
    adding underline. :pr:`2058`
  * An option with ``count=True`` will not show "[x>=0]" in help text.
  * Default values are not cast to the parameter type twice during
    processing.
  * Options with ``multiple`` and ``flag_value`` use the flag value
    instead of leaving an internal placeholder.

OBS-URL: https://build.opensuse.org/request/show/925757
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=15
2021-10-20 18:23:32 +00:00
3493444e30 Accepting request 915041 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/915041
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=14
2021-09-03 19:26:02 +00:00
7a7892ddda Accepting request 901106 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/901106
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=13
2021-07-10 20:53:43 +00:00
c99d6649e3 Accepting request 828408 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/828408
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=12
2020-08-25 10:39:13 +00:00
1fc830c000 Accepting request 811100 from devel:languages:python
- update to 7.1.2:
   Revert applying shell quoting to commands for ``echo_with_pager``
   and ``edit``. This was intended to allows spaces in commands, but
   caused issues if the string was actually a command and arguments, or
   on Windows. Instead, the string must be quoted manually as it should
   appear on the command line. :issue:`1514`

OBS-URL: https://build.opensuse.org/request/show/811100
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=11
2020-06-05 18:00:58 +00:00
97efde2aa8 Accepting request 790137 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/790137
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=10
2020-04-19 19:48:26 +00:00
609742652c Accepting request 740898 from devel:languages:python
- Replace %fdupes -s with plain %fdupes; hardlinks are better.

OBS-URL: https://build.opensuse.org/request/show/740898
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=9
2019-11-04 16:06:37 +00:00
7b5bf8df5e Accepting request 662313 from devel:languages:python
- update to version 7.0:
  * Drop support for Python 2.6 and 3.3.
  * Wrap ``click.Choice``'s missing message.
  * Add native ZSH autocompletion support.
  * Document that ANSI color info isn't parsed from bytearrays in
    Python 2.
  * Document byte-stripping behavior of ``CliRunner``.
  * Usage errors now hint at the ``--help`` option.
  * Implement streaming pager.
  * Extract bar formatting to its own method.
  * Add ``DateTime`` type for converting input in given date time
    formats.
  * ``secho``'s first argument can now be ``None``, like in ``echo``.
   
  * Fixes a ``ZeroDivisionError`` in ``ProgressBar.make_step``, when the
    arg passed to the first call of ``ProgressBar.update`` is 0.
   
  * Show progressbar only if total execution time is visible.
  * Added the ability to hide commands and options from help.
  * Document that options can be ``required=True``.
  * Non-standalone calls to ``Context.exit`` return the exit code,
    rather than calling ``sys.exit``.
  * ``click.getchar()`` returns Unicode in Python 3 on Windows,
    consistent with other platforms.
  * Added ``FloatRange`` type.
  * Added support for bash completion of ``type=click.Choice`` for
  ``Options`` and ``Arguments``.
  * Only allow one positional arg for ``Argument`` parameter
    declaration.
  * Add ``case_sensitive=False`` as an option to Choice.

OBS-URL: https://build.opensuse.org/request/show/662313
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=8
2019-01-08 11:16:43 +00:00
04d9b54328 Accepting request 655399 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/655399
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=7
2018-12-06 11:15:11 +00:00
512ea82523 Accepting request 523758 from devel:languages:python
1

OBS-URL: https://build.opensuse.org/request/show/523758
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=6
2017-09-13 19:38:25 +00:00
f27e6ccf47 Accepting request 485697 from devel:languages:python
- better test runner that works with pypy (forwarded request 485696 from matejcik)

OBS-URL: https://build.opensuse.org/request/show/485697
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=5
2017-04-11 07:44:50 +00:00
5701d53fb5 Accepting request 482039 from devel:languages:python
1

OBS-URL: https://build.opensuse.org/request/show/482039
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=4
2017-03-24 01:22:58 +00:00
ca74135b20 Accepting request 441867 from devel:languages:python
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/441867
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=3
2016-11-28 14:07:10 +00:00
6da1679bc3 Accepting request 428027 from devel:languages:python
1

OBS-URL: https://build.opensuse.org/request/show/428027
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=2
2016-10-10 14:19:48 +00:00
8 changed files with 76 additions and 117 deletions

3
.gitattributes vendored
View File

@@ -1,4 +1,4 @@
## Default LFS
*.changes merge=merge-changes
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
@@ -12,6 +12,7 @@
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text

5
.gitignore vendored
View File

@@ -1 +1,4 @@
.osc
*.obscpio
*.osc
_build.*
.pbuild

3
_multibuild Normal file
View File

@@ -0,0 +1,3 @@
<multibuild>
<package>test</package>
</multibuild>

View File

@@ -1,106 +0,0 @@
github.com/pallets/click/issues/2939
github.com/pallets/click/pull/2940
From 93c6966eb3a575c2b600434d1cc9f4b3aee505ac Mon Sep 17 00:00:00 2001
From: Antoine Lambert <anlambert@softwareheritage.org>
Date: Thu, 22 May 2025 22:14:23 +0200
Subject: [PATCH] testing/CliRunner: Fix regression related to EOF introduced
in 262bdf0
Commit 262bdf0 ensured to raise an EOFError exception on end of input
to simulate tty behavior and avoid blocking prompt during tests when
no more input is available.
However the introduced implementation has a side effect when testing a
click command having a File type option or argument and when it is set
to stdin: the command ends up with error due to the Abort exception
being raised when the stdin EOFError exception is caught.
To prevent this undesirable side effect, prefer to raise the EOFError
exceptions directly from the prompts functions inside the CliRunner
class instead of doing it in the method overriding the iterator protcol
for the _NamedTextIOWrapper class.
Restore previous implementation of a test broken by changes of 262bdf0.
Fixes #2939.
---
CHANGES.rst | 5 +++++
src/click/testing.py | 17 ++++++++---------
tests/test_chain.py | 4 ++--
3 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/CHANGES.rst b/CHANGES.rst
index 1b8af9a5f..decdc2d91 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -1,5 +1,10 @@
.. currentmodule:: click
+Version 8.2.2
+-------------
+
+- Fix regression related to EOF handling in CliRunner. :issue:`2939`
+
Version 8.2.1
-------------
diff --git a/src/click/testing.py b/src/click/testing.py
index 7c0e8741e..e57eacc5d 100644
--- a/src/click/testing.py
+++ b/src/click/testing.py
@@ -116,13 +116,6 @@ def name(self) -> str:
def mode(self) -> str:
return self._mode
- def __next__(self) -> str: # type: ignore
- try:
- line = super().__next__()
- except StopIteration as e:
- raise EOFError() from e
- return line
-
def make_input_stream(
input: str | bytes | t.IO[t.Any] | None, charset: str
@@ -348,7 +341,10 @@ def isolation(
@_pause_echo(echo_input) # type: ignore
def visible_input(prompt: str | None = None) -> str:
sys.stdout.write(prompt or "")
- val = next(text_input).rstrip("\r\n")
+ try:
+ val = next(text_input).rstrip("\r\n")
+ except StopIteration as e:
+ raise EOFError() from e
sys.stdout.write(f"{val}\n")
sys.stdout.flush()
return val
@@ -357,7 +353,10 @@ def visible_input(prompt: str | None = None) -> str:
def hidden_input(prompt: str | None = None) -> str:
sys.stdout.write(f"{prompt or ''}\n")
sys.stdout.flush()
- return next(text_input).rstrip("\r\n")
+ try:
+ return next(text_input).rstrip("\r\n")
+ except StopIteration as e:
+ raise EOFError() from e
@_pause_echo(echo_input) # type: ignore
def _getchar(echo: bool) -> str:
diff --git a/tests/test_chain.py b/tests/test_chain.py
index ba11b7e2a..702eaaa3e 100644
--- a/tests/test_chain.py
+++ b/tests/test_chain.py
@@ -163,8 +163,8 @@ def processor(iterator):
return processor
result = runner.invoke(cli, args, input=input)
- # last two lines are '' and 'Aborted!'
- assert result.output.splitlines()[:-2] == expect
+ assert not result.exception
+ assert result.output.splitlines() == expect
def test_args_and_chain(runner):

Binary file not shown.

BIN
click-8.3.1.tar.gz LFS Normal file

Binary file not shown.

View File

@@ -1,3 +1,43 @@
-------------------------------------------------------------------
Wed Feb 4 10:40:58 UTC 2026 - Daniel Garcia <daniel.garcia@suse.com>
- Add pythons_for_pypi macro
-------------------------------------------------------------------
Thu Jan 29 09:04:24 UTC 2026 - Daniel Garcia <daniel.garcia@suse.com>
- Run tests in a subpackage, this allows to exclude build in different
distributions
-------------------------------------------------------------------
Mon Nov 17 08:34:57 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 8.3.1
* Dont discard pager arguments by correctly using subprocess.Popen.
* Replace Sentinel.UNSET default values by None as theyre passed
through the Context.invoke() method.
* Fix conversion of Sentinel.UNSET happening too early, which caused
incorrect behavior for multiple parameters using the same name.
* Hide Sentinel.UNSET values as None when looking up for other
parameters through the context inside parameter callbacks.
* Fix rendering when prompt and confirm parameter prompt_suffix is empty.
* When Sentinel.UNSET is found during parsing, it will skip calls to
type_cast_value.
-------------------------------------------------------------------
Fri Sep 26 04:26:21 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 8.3.0:
* Improved flag option handling: Reworked the relationship between
flag_value and default parameters for better consistency.
* Show correct auto complete value for nargs option in combination with
flag option.
* Fix handling of quoted and escaped parameters in Fish autocompletion.
* Properly forward exception information to resources registered with
click.core.Context.with_resource().
* Fix regression related to EOF handling in CliRunner.
- Drop patch click-8.2.1-clirunner.patch, included upstream.
-------------------------------------------------------------------
Sat Aug 9 07:09:03 UTC 2025 - Matej Cepl <mcepl@cepl.eu>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-click
#
# Copyright (c) 2025 SUSE LLC and contributors
# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,22 +16,32 @@
#
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define psuffix -test
%bcond_without test
%else
%define psuffix %{nil}
%bcond_with test
%endif
%{?pythons_for_pypi}
%{?sle15_python_module_pythons}
Name: python-click
Version: 8.2.1
Name: python-click%{psuffix}
Version: 8.3.1
Release: 0
Summary: A wrapper around optparse for command line utilities
License: BSD-3-Clause
URL: https://github.com/pallets/click
Source: https://files.pythonhosted.org/packages/source/c/click/click-%{version}.tar.gz
## see github.com/pallets/click/issues/2939, github.com/pallets/click/pull/2940
Patch0: click-8.2.1-clirunner.patch
BuildRequires: %{python_module base >= 3.10}
BuildRequires: %{python_module flit-core}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
%if %{with test}
BuildRequires: %{python_module click == %{version}}
BuildRequires: %{python_module pytest}
%endif
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildArch: noarch
@@ -47,20 +57,28 @@ defaults out of the box.
%autosetup -p1 -n click-%{version}
%build
%if %{without test}
%pyproject_wheel
%endif
%install
%if %{without test}
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%endif
%check
%if %{with test}
export LANG=en_US.UTF-8
%pytest -rs --tb=short
%endif
%if %{without test}
%files %{python_files}
%license LICENSE.txt
%doc CHANGES.rst README.md
%{python_sitelib}/click
%{python_sitelib}/click-%{version}.dist-info
%endif
%changelog