Package: src:plastex
Version: 3.1-4
User: [email protected]
Usertags: python3.15
Tags: ftbfs, forky, sid
Severity: important

Hi!

While rebuilding the python related packages against the Python 3.15rc2 version we found that plastex fails to build from source:
https://debusine.debian.net/debian/r-python-python3.15/artifact/4856615/

There are a lot of tests that are failing with errors like this one:

    def test_colorparser_next():
        c = ColorParser()
      c.scan('1 2 3 4')

unittests/Packages/xcolor.py:5:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
plasTeX/Packages/xcolor.py:524: in scan
    scanner = Scanner([
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <re.Scanner object at 0x7efc938870e0>
lexicon = [(',\\s*', <function ColorParser.scan.<locals>.<lambda> at 0x7efc93a11380>), ('RGB|rgb|cmyk|cmy|HSB|hsb|Gray|gray|HTML...als>.<lambda> at 0x7efc93a135e0>), ('[-+]?\\d+', <function ColorParser.scan.<locals>.<lambda> at 0x7efc93a13690>), ...]
flags = 0

    def __init__(self, lexicon, flags=0):
        from ._constants import BRANCH, SUBPATTERN
        if isinstance(flags, RegexFlag):
            flags = flags.value
        self.lexicon = lexicon
        # combine phrases into a compound pattern
        p = []
        s = _parser.State()
        s.flags = flags
        for phrase, action in lexicon:
            sub_pattern = _parser.parse(phrase, flags)
            if sub_pattern.state.groups != 1:
raise ValueError("Cannot use capturing groups in re.Scanner")
E               ValueError: Cannot use capturing groups in re.Scanner

This was a change in behaviour in Python 3.15 and the code needs to get adapted:
https://github.com/python/cpython/issues/140797

Setting the severity to important for now. Once Python 3.15 is released and later added to python3-defaults, this bug will become release critical.

--
Regards,
Marga

Reply via email to