Skip to content

pre-built wee8: add dependencies and patches - #5136

Open
dcillera wants to merge 2 commits into
envoyproxy:mainfrom
dcillera:adjust-dependencies_and_patches
Open

pre-built wee8: add dependencies and patches#5136
dcillera wants to merge 2 commits into
envoyproxy:mainfrom
dcillera:adjust-dependencies_and_patches

Conversation

@dcillera

Copy link
Copy Markdown
Contributor
v8: Apply Envoy patches for ABI-compatible prebuilt wee8

Apply Envoy's V8 patches before building prebuilt wee8 libraries to ensure
ABI compatibility with Envoy's expectations.

Changes:
- Add bazel/v8/patches/ directory with Envoy V8 patches:
  - v8.patch (original Envoy patch, kept for reference)
  - v8_no_python_load.patch (modified: Python dep change removed)
  - v8_novtune.patch, v8_ppc64le.patch, v8_python.patch (unchanged)
- MODULE.bazel: Add archive_override for V8 14.6.202.10 with patches
- Add V8 Python requirements (bazel/v8/requirements.txt) for code generation
- wee8_prebuilt.bzl: Add dependencies to enable Envoy builds:
  - abseil dependency (@abseil-cpp//absl/strings:str_format)
  - V8_ENABLE_WEBASSEMBLY define
  - third_party include path for wasm-api headers

Document current state of wee8 prebuilt integration:
- Infrastructure 95% complete
- Blocked on transitive dependency issue
- Clear path forward documented

The prebuilt wee8 infrastructure is working (bins-v0.2.8 published,
platform selection working), but integration is blocked because
@proxy_wasm_cpp_host//:v8_lib needs abseil headers that were
previously provided as transitive deps by @v8//:wee8.

Solution: Add abseil deps to _WEE8_BUILD template in
bazel/v8/wee8_prebuilt.bzl, then cut v0.4.7 release.

See CLAUDE.md V8 section for details.

Signed-off-by: Dario Cillerai <dcillera@redhat.com>
@netlify

netlify Bot commented Aug 19, 2026

Copy link
Copy Markdown

Deploy Preview for nifty-bassi-e26446 ready!

Name Link
🔨 Latest commit 2d65fa8
🔍 Latest deploy log https://app.netlify.com/projects/nifty-bassi-e26446/deploys/6a85ec6d353bfa000935c4ae
😎 Deploy Preview https://deploy-preview-5136--nifty-bassi-e26446.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@phlax phlax left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

probably we will need to setup some python deps in this repo for the build

Comment thread bazel/v8/patches/v8.patch
load("@rules_cc//cc:cc_binary.bzl", "cc_binary")
load("@rules_python//python:defs.bzl", "py_binary", "py_test")
-load("@v8_python_deps//:requirements.bzl", "requirement")
+load("@base_pip3//:requirements.bzl", "requirement")

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this isnt visible here

@dcillera
dcillera force-pushed the adjust-dependencies_and_patches branch 2 times, most recently from 53d11c2 to 5ff5a87 Compare August 19, 2026 17:13
Apply Envoy's V8 patches before building prebuilt wee8 libraries to ensure
ABI compatibility with Envoy's expectations.

Changes:
- Add bazel/v8/patches/ directory with Envoy V8 patches:
  - v8.patch (original Envoy patch, kept for reference)
  - v8_no_python_load.patch (modified: Python dep change removed)
  - v8_novtune.patch, v8_ppc64le.patch, v8_python.patch (unchanged)
- MODULE.bazel: Add archive_override for V8 14.6.202.10 with patches
- Add V8 Python requirements (bazel/v8/requirements.txt) for code generation
- wee8_prebuilt.bzl: Add dependencies to enable Envoy builds:
  - abseil dependency (@abseil-cpp//absl/strings:str_format)
  - V8_ENABLE_WEBASSEMBLY define
  - third_party include path for wasm-api headers

Why v8_no_python_load.patch?
Envoy's v8.patch changes @v8_python_deps to @base_pip3, but bzlmod
repository visibility prevents @v8+ from seeing @base_pip3 defined in
toolshed. Since wee8 is a static library build (not a Python runtime),
we removed the Python load line change. Other critical patches (pointer
compression, compiler flags, external deps) remain intact.

Next steps: CI will build patched wee8 tarballs, then cut bins-v0.2.9 release.
Build time savings when complete: 30-120 min → seconds

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Signed-off-by: Dario Cillerai <dcillera@redhat.com>
@dcillera
dcillera force-pushed the adjust-dependencies_and_patches branch from 5ff5a87 to 2d65fa8 Compare August 19, 2026 17:48
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