Skip to content

PCRE2 migration on top of April 2026 updates#79

Open
cmhac wants to merge 8 commits intowashingtonpost:developfrom
cmhac:april-2026-pcre2-migration
Open

PCRE2 migration on top of April 2026 updates#79
cmhac wants to merge 8 commits intowashingtonpost:developfrom
cmhac:april-2026-pcre2-migration

Conversation

@cmhac
Copy link
Copy Markdown

@cmhac cmhac commented Apr 6, 2026

Summary

This PR ports the PCRE2 migration work onto our April 2026 branch line.

Includes

  • Vendor PCRE2 10.42 source under src/pcre2/
  • Remove legacy PCRE v1 vendored source under src/pcre/
  • Add regex compatibility wrapper in src/regex.c and src/regex.h
  • Update build and workflow/toolchain wiring for Zig 0.14+ compatibility
  • Update Python Zig pins used by wheel/build workflows

Important dependency

This branch was created from the april-2026-updates line and currently includes those commits.

Please merge #78 first; this PR is intended to stack on top of it.

Validation

  • make c-test passed
  • make py-test passed

cmhac and others added 8 commits April 6, 2026 13:33
- Update pre-commit hook versions to current stable releases
  - isort: 5.10.1 → 5.13.2
  - black: 21.9b0 → 24.10.0
  - pre-commit-hooks: v4.0.1 → v5.0.0
  - flake8: v2.3.0 → 7.1.1
- Fix linting issues:
  - Remove unused imports (pytest, time)
  - Add missing final newlines
  - Auto-format code with black and isort
- Update function signatures to use std.Build.Step.Compile
- Update addCSourceFiles API to use new struct syntax
- Update target checking API for Darwin detection
- Remove deprecated CrossTarget import
- Add complete PCRE2 10.42 source tree in src/pcre2/
- Includes all headers, source files, and build configuration
- No functional changes, pure vendor import
- Delete src/pcre/ directory and all PCRE v1 files
- No functional impact, just cleanup before PCRE2 migration
- Add thin regex wrapper and switch headers/types/flags
- Support vendored PCRE2 with toggle; default to vendored
- Produce wasm to zig-out/lib and adjust CI Windows artifact path
- Restore missing Python/CI files and benchmarking script

Notes:
- Preserves behavior; all C tests (21/21) and Python tests (8/8) pass
- CI release and wheels workflows tested across platforms
@cmhac cmhac requested a review from a team as a code owner April 6, 2026 19:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants