commit:     b7aeaf6d8ea3a794c8e394416a120609c1890ab7
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jan  3 06:04:03 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jan  3 06:23:40 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b7aeaf6d

dev-python/pydocstyle: Bump to 6.2.0

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/pydocstyle/Manifest                     |  1 +
 .../pydocstyle/files/pydocstyle-6.2.0-tomli.patch  | 91 ++++++++++++++++++++++
 dev-python/pydocstyle/pydocstyle-6.2.0.ebuild      | 49 ++++++++++++
 3 files changed, 141 insertions(+)

diff --git a/dev-python/pydocstyle/Manifest b/dev-python/pydocstyle/Manifest
index 70448015989d..716834b1a5bb 100644
--- a/dev-python/pydocstyle/Manifest
+++ b/dev-python/pydocstyle/Manifest
@@ -1 +1,2 @@
 DIST pydocstyle-6.1.1.tar.gz 73982 BLAKE2B 
6a896221fdcd257f0475472e1cf87ef892d8292a4c0faf661595adb17e2d18f4a8277cda498197309d34597c448203856c272256277a7e35fba20e2e5ba47f2b
 SHA512 
ce4932a6601c80d05a46600f5af7df54798025a5f3dc41ab8cf1bc0d63e7f78b70cccb17dc99ddab25eda9abd639f91468fca1b1ceb4539708350212e481a156
+DIST pydocstyle-6.2.0.gh.tar.gz 77296 BLAKE2B 
22f6d8691763b6c3e41bca7d0ef5193a282189f442072089aebb6d96d2e039e971e9e5645e50f4bcb8433f36cdf0e33c956c4ac381f2e7e649d010d63f5db501
 SHA512 
382c74d22072337a624ac635d95c9cf5fbbd373c11c85b6302c56bf21f099ebc4dd8eec2f896a8c02d4548524078daebbceef7c4fb055dfb6a6eadab0e42a190

diff --git a/dev-python/pydocstyle/files/pydocstyle-6.2.0-tomli.patch 
b/dev-python/pydocstyle/files/pydocstyle-6.2.0-tomli.patch
new file mode 100644
index 000000000000..f7600d1973bb
--- /dev/null
+++ b/dev-python/pydocstyle/files/pydocstyle-6.2.0-tomli.patch
@@ -0,0 +1,91 @@
+From b45a393b2f0c4ce0f17c3e58cf5d768bd653e155 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <[email protected]>
+Date: Tue, 3 Jan 2023 06:49:32 +0100
+Subject: [PATCH] Use tomllib/tomli for reading .toml configs
+
+Use the built-in `tomllib` module in Python 3.11 and the modern `tomli`
+package in older Python versions to read .toml configs instead of
+the unmaintained and broken `toml` package.
+
+Fixes #599
+Fixes #600
+---
+ docs/release_notes.rst   |  7 +++++++
+ poetry.lock              | 16 ++++++++--------
+ pyproject.toml           |  4 ++--
+ requirements/runtime.txt |  2 +-
+ requirements/tests.txt   |  1 -
+ src/pydocstyle/config.py | 20 ++++++++++++--------
+ 6 files changed, 30 insertions(+), 20 deletions(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index 607aa3f..84bfe0d 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -21,11 +21,11 @@ classifiers = [
+ [tool.poetry.dependencies]
+ python = ">=3.6"
+ snowballstemmer = ">=2.2.0"
+-toml = {version = ">=0.10.2", optional = true}
++tomli = {version = ">=1.2.3", optional = true, python = "<3.11"}
+ importlib-metadata = {version = ">=2.0.0,<5.0.0", python = "<3.8"}
+ 
+ [tool.poetry.extras]
+-toml = ["toml"]
++toml = ["tomli"]
+ 
+ [tool.poetry.scripts]
+ pydocstyle = "pydocstyle.cli:main"
+diff --git a/src/pydocstyle/config.py b/src/pydocstyle/config.py
+index 4819cde..c05f7dc 100644
+--- a/src/pydocstyle/config.py
++++ b/src/pydocstyle/config.py
+@@ -4,6 +4,7 @@ import copy
+ import itertools
+ import operator
+ import os
++import sys
+ from collections import namedtuple
+ from collections.abc import Set
+ from configparser import NoOptionError, NoSectionError, RawConfigParser
+@@ -14,10 +15,13 @@ from ._version import __version__
+ from .utils import log
+ from .violations import ErrorRegistry, conventions
+ 
+-try:
+-    import toml
+-except ImportError:  # pragma: no cover
+-    toml = None  # type: ignore
++if sys.version_info >= (3, 11):
++    import tomllib
++else:
++    try:
++        import tomli as tomllib
++    except ImportError:  # pragma: no cover
++        tomllib = None  # type: ignore
+ 
+ 
+ def check_initialized(method):
+@@ -60,15 +64,15 @@ class TomlParser:
+         read_ok = []
+         for filename in filenames:
+             try:
+-                with open(filename, encoding=encoding) as fp:
+-                    if not toml:
++                with open(filename, "rb") as fp:
++                    if not tomllib:
+                         log.warning(
+                             "The %s configuration file was ignored, "
+-                            "because the `toml` package is not installed.",
++                            "because the `tomli` package is not installed.",
+                             filename,
+                         )
+                         continue
+-                    self._config.update(toml.load(fp))
++                    self._config.update(tomllib.load(fp))
+             except OSError:
+                 continue
+             if isinstance(filename, os.PathLike):
+-- 
+2.39.0
+

diff --git a/dev-python/pydocstyle/pydocstyle-6.2.0.ebuild 
b/dev-python/pydocstyle/pydocstyle-6.2.0.ebuild
new file mode 100644
index 000000000000..ae9b07a98370
--- /dev/null
+++ b/dev-python/pydocstyle/pydocstyle-6.2.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{8..11} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python docstring style checker"
+HOMEPAGE="
+       https://github.com/PyCQA/pydocstyle/
+       https://pypi.org/project/pydocstyle/
+"
+SRC_URI="
+       https://github.com/PyCQA/pydocstyle/archive/${PV}.tar.gz
+               -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+       >=dev-python/snowballstemmer-2.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+       test? (
+               $(python_gen_cond_dep '
+                       dev-python/tomli[${PYTHON_USEDEP}]
+               ' 3.{8..10})
+       )
+"
+
+distutils_enable_tests pytest
+# Requires network to lookup github issues
+#distutils_enable_sphinx docs dev-python/sphinx_rtd_theme 
dev-python/sphinxcontrib-issuetracker
+
+PATCHES=(
+       "${FILESDIR}"/pydocstyle-6.1.1-disarm-pip-install.patch
+       "${FILESDIR}"/${P}-tomli.patch
+)
+
+src_prepare() {
+       # poetry sucks
+       sed -i -e "s:0.0.0-dev:${PV}:" pyproject.toml || die
+       distutils-r1_src_prepare
+}

Reply via email to