diff options
author | David Roman <davidroman96@gmail.com> | 2023-07-27 15:50:59 +0200 |
---|---|---|
committer | David Roman <davidroman96@gmail.com> | 2023-07-27 15:50:59 +0200 |
commit | fb3679d5071a1b10333c964b121eab0223cfb803 (patch) | |
tree | 72605572935e72810dd60b221f24e7993d37eb93 /app-text | |
parent | games-emulation/citra: Add dev-util/spirv-headers as a build dependency (diff) | |
download | guru-fb3679d5071a1b10333c964b121eab0223cfb803.tar.gz guru-fb3679d5071a1b10333c964b121eab0223cfb803.tar.bz2 guru-fb3679d5071a1b10333c964b121eab0223cfb803.zip |
app-text/lizard: add support for python3.11
Closes: https://bugs.gentoo.org/907137
Signed-off-by: David Roman <davidroman96@gmail.com>
Diffstat (limited to 'app-text')
-rw-r--r-- | app-text/lizard/files/lizard-1.17.10-py3.11.patch | 60 | ||||
-rw-r--r-- | app-text/lizard/lizard-1.17.10-r1.ebuild | 28 |
2 files changed, 88 insertions, 0 deletions
diff --git a/app-text/lizard/files/lizard-1.17.10-py3.11.patch b/app-text/lizard/files/lizard-1.17.10-py3.11.patch new file mode 100644 index 000000000..d17b9511d --- /dev/null +++ b/app-text/lizard/files/lizard-1.17.10-py3.11.patch @@ -0,0 +1,60 @@ +commit fc8a14e84acd8a4baa2d98bdec4e7ac18ed137a5 +Author: Mazunki Hoksaas <rolferen@gmail.com> +Date: Thu Jul 27 15:04:16 2023 +0200 + + add support for python3.11 re module + +diff --git a/lizard_languages/code_reader.py b/lizard_languages/code_reader.py +index 1eb95d5..9e12658 100644 +--- a/lizard_languages/code_reader.py ++++ b/lizard_languages/code_reader.py +@@ -4,6 +4,8 @@ Base class for all language parsers + + import re + from copy import copy ++from functools import reduce ++from operator import or_ + + + class CodeStateMachine(object): +@@ -112,7 +114,7 @@ class CodeReader: + if not token_class: + token_class = create_token + +- def _generate_tokens(source, add): ++ def _generate_tokens(source, add, flags=re.NOFLAG): + # DO NOT put any sub groups in the regex. Good for performance + _until_end = r"(?:\\\n|[^\n])*" + combined_symbols = ["<<=", ">>=", "||", "&&", "===", "!==", +@@ -136,7 +138,7 @@ class CodeReader: + r"|\\\n" + + r"|\n" + + r"|[^\S\n]+" + +- r"|.)", re.M | re.S) ++ r"|.)", re.M | re.S | flags) + macro = "" + for match in token_pattern.finditer(source): + token = token_class(match) +@@ -154,7 +156,21 @@ class CodeReader: + if macro: + yield macro + +- return _generate_tokens(source_code, addition) ++ flag_dict = { ++ 'a': re.A, # ASCII-only matching ++ 'i': re.I, # Ignore case ++ 'L': re.L, # Locale dependent ++ 'm': re.M, # Multi-line ++ 's': re.S, # Dot matches all ++ 'u': re.U, # Unicode matching ++ 'x': re.X # Verbose ++ } ++ ++ pattern = re.compile(r'\(\?[aiLmsux]+\)') ++ re_flags = ''.join(opt[2:-1] for opt in pattern.findall(addition)) ++ flags = reduce(or_, (flag_dict[flag] for flag in re_flags), re.NOFLAG) ++ ++ return _generate_tokens(source_code, pattern.sub('', addition), flags=flags) + + def __call__(self, tokens, reader): + self.context = reader.context diff --git a/app-text/lizard/lizard-1.17.10-r1.ebuild b/app-text/lizard/lizard-1.17.10-r1.ebuild new file mode 100644 index 000000000..20e6432fa --- /dev/null +++ b/app-text/lizard/lizard-1.17.10-r1.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11,12} ) +DISTUTILS_USE_PEP517=setuptools + +inherit distutils-r1 + +DESCRIPTION="A simple code complexity analyser, supports most of the popular languages." +HOMEPAGE="http://www.lizard.ws/" +SRC_URI="https://github.com/terryyin/lizard/archive/${PV}.tar.gz -> ${P}.tar.gz" + +KEYWORDS="~amd64" +LICENSE="MIT" +SLOT="0" + +DEPEND=" + test? ( + dev-python/jinja[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + ) +" + +PATCHES=( "${FILESDIR}/${P}-py3.11.patch" ) + +distutils_enable_tests pytest |