aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Roman <davidroman96@gmail.com>2023-07-27 15:50:59 +0200
committerDavid Roman <davidroman96@gmail.com>2023-07-27 15:50:59 +0200
commitfb3679d5071a1b10333c964b121eab0223cfb803 (patch)
tree72605572935e72810dd60b221f24e7993d37eb93 /app-text
parentgames-emulation/citra: Add dev-util/spirv-headers as a build dependency (diff)
downloadguru-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.patch60
-rw-r--r--app-text/lizard/lizard-1.17.10-r1.ebuild28
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