RFC: Testing Nokogiri against libxml-rs - memory-safe libxml2 #3677
infinityabundance
started this conversation in
Feature requests
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Hi Nokogiri team,
I built libxml-rs - a native-Rust, forensic reimplementation of
libxml2 + libxslt + EXSLT + xsltproc, C ABI compatible.
Repo: https://github.com/infinityabundance/libxml-rs
Crate: https://crates.io/crates/libxml-rs (0.1.0-alpha.11)
Debian ITP: https://bugs.debian.org/1146060
WHY
requires libxml2 for statistics-channels
with you matters a lot
STATUS - Phase 9 complete
libxml2:
- parser + SAX, tree, XPath 1.0, DTD/XSD/RELAX NG/Schematron
- C14N, Reader/Writer, HTML, Catalog, XInclude
libxslt + EXSLT:
- Full XSLT 1.0 + all 7 EXSLT modules (exsl:node-set with real RTF)
- exsltRegisterAll() exported
- xsltproc CLI with full options + upstream exit codes 1-11
Testing:
- 1110 lib tests, 0 failures
- 12-case xsltproc corpus byte-identical to libxslt 1.1.45
- ABI courts (struct/symbol/enum) passing
- Oracle: Docker builds libxml2 2.12.0 + libxslt 1.1.39 from source,
contamination-free
ASK
Would you be open to a CI job that builds Nokogiri against it?
bundle config build.nokogiri --use-system-libraries
LD_LIBRARY_PATH=/path/to/libxml-rs/target/debug
bundle exec rake test
Or if you prefer, I can run your test suite here and post logs.
No flag-day replacement - this is for Debian experimental as an
alternative provider of libxml2.so.2 / libxslt.so.1.
Thanks for maintaining Nokogiri for so long. Happy to adjust the
C ABI if you hit anything.
Best,
Riaan - https://github.com/infinityabundance
All reactions