14
0
forked from pool/python-black
Files
python-black/python-black.spec
Steve Kowalik 4483c08ff4 - Update to 21.12.0b1:
* Fix determination of f-string expression spans (#2654)
  * Fix bad formatting of error messages about EOF in multi-line statements (#2343)
  * Functions and classes in blocks now have more consistent surrounding spacing (#2472)
  * from __future__ import annotations statement now implies Python 3.7+ (#2690)
  * Fix assignment to environment variables in Jupyter Notebooks (#2642)
  * Point users to using --target-version py310 if we detect 3.10-only syntax (#2668)
  * Fix match statements with open sequence subjects, like match a, b: or match a, *b: (#2639) (#2659)
  * Fix match/case statements that contain match/case soft keywords multiple times, like match re.match() (#2661)
  * Fix case statements with an inline body (#2665)
  * Fix styling of starred expressions inside match subject (#2667)
  * Fix parser error location on invalid syntax in a match statement (#2649)
  * Fix Python 3.10 support on platforms without ProcessPoolExecutor (#2631)
  * Improve parsing performance on code that uses match under --target-version py310 up to ~50% (#2670)
  * Remove dependency on regex (#2644) (#2663)
  * Warn about Python 2 deprecation in more cases by improving Python 2 only syntax detection (#2592)
  * Add experimental PyPy support (#2559)
  * Add partial support for the match statement. As it's experimental, it's only enabled when --target-version py310 is explicitly specified (#2586)
  * Add support for parenthesized with (#2586)
  * Declare support for Python 3.10 for running Black (#2562)
  * Add new --workers parameter (#2514)
  * Fixed feature detection for positional-only arguments in lambdas (#2532)
  * Fixed a Python 3.10 compatibility issue where the loop argument was still being passed even though it has been removed (#2580)
  * Deprecate Python 2 formatting support (#2523)
  * Fix missing modules in self-contained binaries (#2466)
  * Fix missing toml extra used during installation (#2475)
  * Add support for formatting Jupyter Notebook files (#2357)
  * Move from appdirs dependency to platformdirs (#2375)
  * Present a more user-friendly error if .gitignore is invalid (#2414)
  * Pin setuptools-scm build-time dependency version (#2457)

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-black?expand=0&rev=25
2022-01-12 03:16:26 +00:00

124 lines
4.3 KiB
RPMSpec

#
# spec file for package python-black
#
# 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
# 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/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-black
Version: 21.12b0
Release: 0
Summary: A code formatter written in, and written for Python
License: MIT
URL: https://github.com/psf/black
Source: https://files.pythonhosted.org/packages/source/b/black/black-%{version}.tar.gz
BuildRequires: %{python_module aiohttp >= 3.3.2}
BuildRequires: %{python_module aiohttp_cors}
BuildRequires: %{python_module attrs >= 18.1.0}
BuildRequires: %{python_module base >= 3.6}
BuildRequires: %{python_module click >= 7.1.2}
BuildRequires: %{python_module mypy_extensions >= 0.4.3}
BuildRequires: %{python_module pathspec >= 0.9.0}
BuildRequires: %{python_module platformdirs >= 2}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools_scm}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module tomli >= 1.1.0}
BuildRequires: %{python_module typing_extensions}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildRequires: (python3-dataclasses if python3-base < 3.7)
BuildRequires: (python36-dataclasses if python36-base)
Requires: python-aiohttp >= 3.3.2
Requires: python-aiohttp_cors
Requires: python-attrs >= 18.1.0
Requires: python-click >= 7.1.2
Requires: python-mypy_extensions >= 0.4.3
Requires: python-pathspec >= 0.9.0
Requires: python-platformdirs >= 2
Requires: python-tomli >= 1.1.0
Requires: python-typing_extensions
%if 0%{?python_version_nodots} == 36
Requires: python-dataclasses
%endif
Requires(post): update-alternatives
Requires(postun):update-alternatives
BuildArch: noarch
%python_subpackages
%description
Black is a code formatter written in Python, and reformats Python 2.x
and 3.x code.
Black reformats entire files in place. It is not configurable. It
does not take previous formatting into account. The coding style
enforced is a PEP-8 subset, adheres to PEP-257, and otherwise passes
the rules of the "pycodestyle" checker. Black skips over blocks that
start and end with "# fmt: off" and "# fmt: on", respectively. It
also recognizes YAPF's block comments to the same effect.
%prep
%setup -q -n black-%{version}
sed -i '1{/#!/d}' src/black_primer/cli.py src/black_primer/lib.py
%build
%python_build
%install
%python_install
%python_clone -a %{buildroot}%{_bindir}/black
%python_clone -a %{buildroot}%{_bindir}/blackd
%python_clone -a %{buildroot}%{_bindir}/black-primer
%{python_expand cp src/black_primer/primer.json %{buildroot}%{$python_sitelib}/black_primer/
%fdupes %{buildroot}%{$python_sitelib}
}
%check
# Copy one of the executable scripts into the PATH
mkdir ~/bin
cp $(ls %{buildroot}%{_bindir}/black-* | head -1) ~/bin/black
export PATH=$PATH:~/bin
# test_expression_diff - sometimes fails on async timing in OBS
skiptests="test_expression_diff"
# https://github.com/psf/black/issues/1109
if [ $(python3 -c 'import sys; print(sys.byteorder)') == 'big' ]; then
skiptests+=" or test_python2"
fi
%pytest -k "not ($skiptests)"
%post
%python_install_alternative black blackd black-primer
%postun
%python_uninstall_alternative black
%files %{python_files}
%doc README.md CHANGES.md docs/*.md
%license LICENSE
%python_alternative %{_bindir}/black
%python_alternative %{_bindir}/blackd
%python_alternative %{_bindir}/black-primer
%{python_sitelib}/_black_version.py*
%{python_sitelib}/black_primer/
%{python_sitelib}/black/
%{python_sitelib}/blackd/
%{python_sitelib}/blib2to3/
%{python_sitelib}/black-%{version}-py*.egg-info
%pycache_only %{python_sitelib}/__pycache__/*
%changelog