mirror of
https://github.com/lightpanda-io/browser.git
synced 2026-09-15 15:32:03 -04:00
A C ABI (include/lightpanda.h + src/c_api.zig) over the browser tool surface: lp_init/lp_shutdown, lp_fetch, sessions with lp_call/pump/ cancel, lp_tools_json. Built as a shared library only; the version script keeps everything but lp_* internal so the bundled OpenSSL/curl/ sqlite cannot collide with a host's own. Embedders get a hidden 'embed' Config mode (not parseable from the CLI) with telemetry defaulting off; crash reports honor the same opt-out. ToolSession in lightpanda.zig owns the browser/session/ registry lifecycle the C API drives. Build: C deps are always PIC (like boringssl's force_pic) and the pinned zig-v8-fork always builds V8 library-safe, so 'zig build shared-lib' needs no flags. It only refuses -Dprebuilt_v8_path: today's published archives are exe-only (local-exec TLS, malloc shim); the guard goes away once a fork release ships library-safe archives. make lib-shared / lib-test / lib-shared-example drive it.
49 lines
2.3 KiB
Zig
49 lines
2.3 KiB
Zig
.{
|
|
.name = .browser,
|
|
.version = "1.0.0-dev",
|
|
.fingerprint = 0xda130f3af836cea0, // Changing this has security and trust implications.
|
|
.minimum_zig_version = "0.16.0",
|
|
.dependencies = .{
|
|
.v8 = .{
|
|
.url = "https://github.com/lightpanda-io/zig-v8-fork/archive/508ae5ef169b7202886decd751ccbde1f872e0cb.tar.gz",
|
|
.hash = "v8-0.0.0-xddH62D1AgDOizgZ_Il7HVloE_bAK3H4oQnxLcgeKGyW",
|
|
},
|
|
// .v8 = .{ .path = "../zig-v8-fork" },
|
|
.brotli = .{
|
|
// v1.2.0
|
|
.url = "https://github.com/google/brotli/archive/028fb5a23661f123017c060daa546b55cf4bde29.tar.gz",
|
|
.hash = "N-V-__8AAJudKgCQCuIiH6MJjAiIJHfg_tT_Ew-0vZwVkCo_",
|
|
},
|
|
.zlib = .{
|
|
.url = "https://github.com/madler/zlib/releases/download/v1.3.2/zlib-1.3.2.tar.gz",
|
|
.hash = "N-V-__8AAJ2cNgAgfBtAw33Bxfu1IWISDeKKSr3DAqoAysIJ",
|
|
},
|
|
.nghttp2 = .{
|
|
.url = "https://github.com/nghttp2/nghttp2/releases/download/v1.69.0/nghttp2-1.69.0.tar.gz",
|
|
.hash = "N-V-__8AAMHpvwChC6orFCDB8MeiumT6OlfmKfmrWlak7Int",
|
|
},
|
|
.@"boringssl-zig" = .{
|
|
.url = "git+https://github.com/lightpanda-io/boringssl-zig.git#f07cc58fa4a051eb0985287e691db5dbb0e7e76f",
|
|
.hash = "boringssl-0.1.0-VtJeWd1OAAAQ5AuNOZGP5a_5ZyNn5BfeE-jiKqEm2gsE",
|
|
},
|
|
// .@"boringssl-zig" = .{ .path = "../boringssl-zig" },
|
|
.curl = .{
|
|
.url = "https://github.com/curl/curl/releases/download/curl-8_20_0/curl-8.20.0.tar.gz",
|
|
.hash = "N-V-__8AAHM9RQHjzJo8Wn4dbGPqNOC21zZJJA9PcCj7FPF5",
|
|
},
|
|
.sqlite3 = .{
|
|
.url = "https://github.com/allyourcodebase/sqlite3/archive/7a615f5af79009cd733e3480658586d9b0d28b35.tar.gz",
|
|
.hash = "sqlite3-3.53.2-DMxLWuAOAAA_Px0arJOIOaP4AKEu5prbsQgPMA35W1zz",
|
|
},
|
|
.zenai = .{
|
|
.url = "git+https://github.com/lightpanda-io/zenai.git#dcf17cf1c944c8b16e5ecb7419374b134cf47df3",
|
|
.hash = "zenai-0.0.0-iOY_VH4NBgA-zH-jOigwD0H4QTUSq1Tvm5qH99XNqd7a",
|
|
},
|
|
.isocline = .{
|
|
.url = "git+https://github.com/arrufat/isocline?ref=lightpanda#832a9fe25f5f4458fcc47b5acc7c21db669c2f47",
|
|
.hash = "N-V-__8AANtqEwD-jr5LWeksHDYkaQSpLbu6MRHFvlPURIik",
|
|
},
|
|
},
|
|
.paths = .{""},
|
|
}
|