From 0d4e4a3cbbdfb6f21155cb32e92810cf0feebc39 Mon Sep 17 00:00:00 2001 From: Bryan Helmkamp Date: Mon, 13 Apr 2026 22:34:50 -0400 Subject: [PATCH] feat: add fabro-graphviz-sys crate with vendored Graphviz 14.1.5 Vendor the Graphviz C source code into a new fabro-graphviz-sys crate, compiled via the cc crate. This eliminates the system dependency on the dot binary. Pre-generated parser files (grammar.c, scan.c, htmlparse.c) and table files (colortbl.h, entities.h) are committed alongside the vendored source. A global Mutex serializes FFI calls to work around Graphviz's non-thread-safe internal state. Co-Authored-By: Claude Opus 4.6 (1M context) --- Cargo.lock | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index a83ec13d9..bb7af06ce 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1722,6 +1722,13 @@ dependencies = [ "thiserror 2.0.18", ] +[[package]] +name = "fabro-graphviz-sys" +version = "0.176.2" +dependencies = [ + "cc", +] + [[package]] name = "fabro-hooks" version = "0.176.2"