cmcfarlen opened a new pull request, #13883:
URL: https://github.com/apache/trafficserver/pull/13883

   cmakelang 0.6.13 crashes under Python 3.15:
   
   ```
   ValueError: Cannot use capturing groups in re.Scanner
   ```
   
   `uv tool run` uses the newest Python it finds, so on machines where 3.15 is 
the default (e.g. current Homebrew), both `cmake --build <dir> -t format` and 
the pre-commit hook's cmake-format check fail. This change limits both `uv` 
calls to `--python "<3.15"`. The constraint is defined once in 
`tools/cmake-format.sh`, which the pre-commit hook already sources. uv 
downloads a suitable Python if one isn't installed.
   
   Anyone using `tools/git/pre-commit` as their hook should copy it into 
`.git/hooks/` again after this merges.
   
   ### Longer term
   
   cmake-format/cmakelang has had no release since 0.6.13 (2021) and looks 
abandoned, so we'll probably run into more breakage like this. 
[gersemi](https://github.com/BlankSpruce/gersemi) is actively maintained and 
could replace it. It also installs through `uv tool run`, and it reads custom 
command signatures from the project's own CMake function definitions, so it 
doesn't need hand-written specs.
   
   From a quick trial at 120 columns with 2-space indent:
   - it would reformat about 70 of the ~190 non-vendored CMake files, a 
one-time churn commit;
   - its style differs from cmake-format (it packs short calls onto one line 
and puts each keyword on its own line with the items indented under it), and it 
has fewer knobs;
   - the current release (0.29.2) has no Python 3.15 wheel yet.
   
   Switching would need project agreement, so it's not part of this PR.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to