Skip to content

feat(engine): relocatable WebKitGTK build — self-contained engine loads via $ORIGIN - #4

Merged
ipfizz merged 3 commits into
mainfrom
feat/relocatable-engine
Jun 15, 2026
Merged

ipfizz merged 3 commits into
mainfrom
feat/relocatable-engine

Conversation

@ipfizz

@ipfizz ipfizz commented Jun 15, 2026

Copy link
Copy Markdown
Owner

The start of the "ship our own engine" pipeline — and the first milestone is proven.

  • tools/engine/build-webkitgtk-linux.sh relocates the system WebKitGTK + its full shared-object closure into a self-contained engine tree, rewriting every RPATH to $ORIGIN (via patchelf) and copying the WebKit helper processes.
  • .github/workflows/build-engine.yml builds it on Ubuntu and proves it loads: with no LD_LIBRARY_PATH, the engine's dependency closure resolves entirely via $ORIGIN. CI result: 125/125 libraries loaded from the relocated engine (webkitgtk-6.0-2.52.3-built1-linux-x64).
  • WEBKIT_EXEC_PATH added to the loader env so a pinned engine spawns its own helper processes (WebKitNetworkProcess/WebProcess/GPUProcess), not the system's — render-ready.

This upgrades the alpha-2 proof (which relocated 2 system libs) to a genuinely self-contained, portable engine that loads with zero reliance on the host's WebKitGTK.

Next (follow-ups): a render proof (it loads; rendering a page via the relocated helpers under xvfb is the next iteration), cross-distro portability (build on an old-glibc base), and signing + hosting the artifact to a feed. tools/ is outside the lint/typecheck scope, so the main validate is unaffected.

🤖 Generated with Claude Code

@ipfizz
ipfizz merged commit c07d34a into main Jun 15, 2026
3 checks passed
@ipfizz
ipfizz deleted the feat/relocatable-engine branch June 15, 2026 07:40
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.

1 participant