summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2023-01-26 15:32:54 +0100
committerMichał Górny <mgorny@gentoo.org>2023-01-26 15:33:21 +0100
commitaa8da0c8d86b04859bf4f3f944bffbef1b772914 (patch)
treee9ae7f99cd0b846bfb605114c55c63adb5b9ddf8 /dev-python/pylama
parentdev-python/sip: Port to tomllib/tomli (diff)
downloadgentoo-aa8da0c8d86b04859bf4f3f944bffbef1b772914.tar.gz
gentoo-aa8da0c8d86b04859bf4f3f944bffbef1b772914.tar.bz2
gentoo-aa8da0c8d86b04859bf4f3f944bffbef1b772914.zip
dev-python/pylama: Port to tomllib/tomli
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/pylama')
-rw-r--r--dev-python/pylama/files/pylama-8.4.1-tomli.patch69
-rw-r--r--dev-python/pylama/pylama-8.4.1-r1.ebuild (renamed from dev-python/pylama/pylama-8.4.1.ebuild)18
2 files changed, 84 insertions, 3 deletions
diff --git a/dev-python/pylama/files/pylama-8.4.1-tomli.patch b/dev-python/pylama/files/pylama-8.4.1-tomli.patch
new file mode 100644
index 000000000000..291bc9f530e7
--- /dev/null
+++ b/dev-python/pylama/files/pylama-8.4.1-tomli.patch
@@ -0,0 +1,69 @@
+From 8b7908fec960a05af0a0a9b10d24ed458fcf97c7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Tue, 8 Nov 2022 14:33:59 +0100
+Subject: [PATCH] Use tomli/tomllib instead of the unmaintained toml package
+
+Replace the use of the unmaintained `toml` package with the modern
+alternatives: the built-in `tomllib` in Python 3.11+, and its equivalent
+`tomli` in older Python versions. `tomli` installs type stubs, so there
+is no need for an additional `types-*` package for it.
+---
+ pylama/config_toml.py | 9 +++++++--
+ requirements/requirements-tests.txt | 3 +--
+ setup.py | 2 +-
+ 3 files changed, 9 insertions(+), 5 deletions(-)
+
+diff --git a/pylama/config_toml.py b/pylama/config_toml.py
+index 2af02a5..ea6e17a 100644
+--- a/pylama/config_toml.py
++++ b/pylama/config_toml.py
+@@ -1,16 +1,21 @@
+ """Pylama TOML configuration."""
+
+-import toml
++import sys
+
+ from pylama.libs.inirama import Namespace as _Namespace
+
++if sys.version_info >= (3, 11):
++ import tomllib
++else:
++ import tomli as tomllib
++
+
+ class Namespace(_Namespace):
+ """Inirama-style wrapper for TOML config."""
+
+ def parse(self, source: str, update: bool = True, **params):
+ """Parse TOML source as string."""
+- content = toml.loads(source)
++ content = tomllib.loads(source)
+ tool = content.get("tool", {})
+ pylama = tool.get("pylama", {})
+ linters = pylama.pop("linter", {})
+diff --git a/requirements/requirements-tests.txt b/requirements/requirements-tests.txt
+index d786f1f..e62ccae 100644
+--- a/requirements/requirements-tests.txt
++++ b/requirements/requirements-tests.txt
+@@ -5,8 +5,7 @@ radon >= 5.1.0
+ mypy
+ pylint >= 2.11.1
+ pylama-quotes
+-toml
++tomli >= 1.2.3 ; python_version < "3.11"
+ vulture
+
+ types-setuptools
+-types-toml
+diff --git a/setup.py b/setup.py
+index 911aea6..6d0222b 100644
+--- a/setup.py
++++ b/setup.py
+@@ -21,6 +21,6 @@ def parse_requirements(path: str) -> "list[str]":
+ extras_require=dict(
+ tests=parse_requirements("requirements/requirements-tests.txt"),
+ all=OPTIONAL_LINTERS, **{linter: [linter] for linter in OPTIONAL_LINTERS},
+- toml="toml>=0.10.2",
++ toml="tomli>=1.2.3; python_version < '3.11'",
+ ),
+ )
diff --git a/dev-python/pylama/pylama-8.4.1.ebuild b/dev-python/pylama/pylama-8.4.1-r1.ebuild
index 0d21af8a8555..c1a76432c6e9 100644
--- a/dev-python/pylama/pylama-8.4.1.ebuild
+++ b/dev-python/pylama/pylama-8.4.1-r1.ebuild
@@ -9,8 +9,14 @@ PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1
DESCRIPTION="Code audit tool for python"
-HOMEPAGE="https://github.com/klen/pylama"
-SRC_URI="https://github.com/klen/pylama/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+HOMEPAGE="
+ https://github.com/klen/pylama/
+ https://pypi.org/project/pylama/
+"
+SRC_URI="
+ https://github.com/klen/pylama/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="MIT"
SLOT="0"
@@ -28,13 +34,19 @@ BDEPEND="
dev-python/mypy[${PYTHON_USEDEP}]
dev-python/pylint[${PYTHON_USEDEP}]
dev-python/radon[${PYTHON_USEDEP}]
- dev-python/toml[${PYTHON_USEDEP}]
dev-vcs/git
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.{8..10})
)
"
distutils_enable_tests pytest
+PATCHES=(
+ "${FILESDIR}"/${P}-tomli.patch
+)
+
EPYTEST_DESELECT=(
# not packaged
tests/test_linters.py::test_quotes