#1149351 plastex: FTBFS against python 3.15rc2 (ValueError: Cannot use capturing groups in re.Scanner)

Package:
src:plastex
Source:
src:plastex
Submitter:
Margarita Manterola
Date:
2026-09-29 15:17:02 UTC
Severity:
normal
Tags:
#1149351#5
Date:
2026-09-29 15:14:24 UTC
From:
To:
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()

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:
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.