summaryrefslogtreecommitdiff
path: root/dev-python/re-assert
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-02-10 18:29:33 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-02-10 18:29:33 +0000
commit6c244326e747a9140da30e3660976b2925dd1e60 (patch)
treea27d76d0f0335485a24623a085db0f42cfda734d /dev-python/re-assert
parent73be496af59cba8128ca2187ce8d3a32678ae7bf (diff)
downloadbaldeagleos-repo-6c244326e747a9140da30e3660976b2925dd1e60.tar.gz
baldeagleos-repo-6c244326e747a9140da30e3660976b2925dd1e60.tar.xz
baldeagleos-repo-6c244326e747a9140da30e3660976b2925dd1e60.zip
Adding metadata
Diffstat (limited to 'dev-python/re-assert')
-rw-r--r--dev-python/re-assert/files/re-assert-1.1.0-re-fallback.patch42
-rw-r--r--dev-python/re-assert/re-assert-1.1.0-r3.ebuild59
2 files changed, 101 insertions, 0 deletions
diff --git a/dev-python/re-assert/files/re-assert-1.1.0-re-fallback.patch b/dev-python/re-assert/files/re-assert-1.1.0-re-fallback.patch
new file mode 100644
index 000000000000..b292d48d6e0f
--- /dev/null
+++ b/dev-python/re-assert/files/re-assert-1.1.0-re-fallback.patch
@@ -0,0 +1,42 @@
+diff --git a/re_assert.py b/re_assert.py
+index 840401e..8818da1 100644
+--- a/re_assert.py
++++ b/re_assert.py
+@@ -1,8 +1,13 @@
++import sys
++
+ from typing import Any
+ from typing import Optional
+ from typing import Pattern
+
+-import regex
++if sys.implementation.name == "cpython":
++ import regex
++else:
++ import re as regex
+
+
+ class Matches: # TODO: Generic[AnyStr] (binary pattern support)
+@@ -12,6 +17,9 @@ class Matches: # TODO: Generic[AnyStr] (binary pattern support)
+ self._type = type(pattern)
+
+ def _fail_message(self, fail: str) -> str:
++ if sys.implementation.name != "cpython":
++ return "regex failed to match"
++
+ # binary search to find the longest substring match
+ pos, bound = 0, len(fail)
+ while pos < bound:
+diff --git a/setup.cfg b/setup.cfg
+index 46303ca..74cf999 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -20,7 +20,7 @@ classifiers =
+ [options]
+ py_modules = re_assert
+ install_requires =
+- regex
++ regex; python_implementation=="CPython"
+ python_requires = >=3.6.1
+
+ [bdist_wheel]
diff --git a/dev-python/re-assert/re-assert-1.1.0-r3.ebuild b/dev-python/re-assert/re-assert-1.1.0-r3.ebuild
new file mode 100644
index 000000000000..3f9c5e25468d
--- /dev/null
+++ b/dev-python/re-assert/re-assert-1.1.0-r3.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Show where your regex match assertion failed"
+HOMEPAGE="
+ https://github.com/asottile/re-assert/
+ https://pypi.org/project/re-assert/
+"
+SRC_URI="
+ https://github.com/asottile/re-assert/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/regex[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # use `re` as fallback since `regex` doesn't support PyPy
+ "${FILESDIR}/${P}-re-fallback.patch"
+)
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_DESELECT=()
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # message/repr mismatches due to using `re` module
+ tests/re_assert_test.py::test_fail_at_beginning
+ tests/re_assert_test.py::test_fail_at_end_of_line
+ tests/re_assert_test.py::test_fail_at_end_of_line_mismatching_newline
+ tests/re_assert_test.py::test_fail_end_of_line_with_newline
+ tests/re_assert_test.py::test_fail_multiple_lines
+ tests/re_assert_test.py::test_match_with_tabs
+ tests/re_assert_test.py::test_matches_repr_with_flags
+ tests/re_assert_test.py::test_repr_with_failure
+ )
+ ;;
+ esac
+
+ epytest
+}