Skip to content

fix(v8): refresh gclient_paths.patch and pin depot_tools - #130

Merged
chrip merged 1 commit into
mainfrom
fix/v8-depot-tools-pin-and-patch
Aug 4, 2026
Merged

fix(v8): refresh gclient_paths.patch and pin depot_tools#130
chrip merged 1 commit into
mainfrom
fix/v8-depot-tools-pin-and-patch

Conversation

@chrip

@chrip chrip commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

gclient_paths.patch drops the @functools.lru_cache decorators from
depot_tools' gclient_paths.py. Two upstream changes invalidated its context:
f065bb3b0 (2026-07-13) added a fifth decorated function,
_GetGClientConfigInner, and 93974d014 (2026-07-21, ruff reformat) switched
the file to double-quoted strings.

#127 worked around this by pinning depot_tools to 6e5a13d2, the last revision
the old four-hunk patch applied against — but it only pinned
Common/3dParty/v8/nc-build.py. The two Docker binary builders,
tools/8.9/{x64,arm64}-linux-dynamic/nc-build.sh, kept running
git pull origin main and have been broken since f065bb3b0 as well.

This PR does both halves:

  • takes the regenerated five-hunk patch from fix: update gclient_paths.patch for both x64 and arm64 v8 builds #129 (both arch dirs);
  • moves all three build paths onto one pinned revision, f394ab2c9
    (2026-07-24) — the newest revision the new patch applies against
    (range 93974d014..HEAD), and the last before the depot_tools UV migration
    db395c47f, which isn't build-verified against V8 8.9;
  • exports DEPOT_TOOLS_UPDATE=0 in the shell builders so gclient sync
    can't self-update back to HEAD.

Verified locally: git apply --check passes for both arch dirs at the new pin,
and a full docker buildx bake core with v8 cleared from the build cache builds
v8 from source and links x2t.

Note for reviewers: a green CI run here does not by itself prove the v8 source
build works. With NEXTCLOUD_USER/NEXTCLOUD_PASS available, ensure_dep()
downloads a prebuilt v8 and skips nc-build.py entirely — which is why #129's
failure only surfaced on a fork PR without those secrets.

Supersedes #129. Follow-up to #127; the longer-term "do we still need v8 8.9 and
these patches" question stays in #72.

Patch authored by @pplupo in #129, originally worked out by @Duckle29 in
Euro-Office/DesktopEditors#66 — both credited via Co-authored-by.

Euro-Office/DesktopEditors#66 itself needs a core submodule bump in
DesktopEditors, which I'll open separately.

Assisted-by: ClaudeCode:claude-opus-5

… paths

gclient_paths.patch drops the @functools.lru_cache decorators from
gclient_paths.py. Two upstream depot_tools changes invalidated its context:
f065bb3b0 (2026-07-13, "Add gclient getconfig subcommand") added a fifth
decorated function, _GetGClientConfigInner, and 93974d014 (2026-07-21, ruff
reformat) switched the file to double-quoted strings.

#127 worked around this by pinning depot_tools to 6e5a13d2 (2026-06-22), the
last revision the old four-hunk patch applied against, but it only pinned
Common/3dParty/v8/nc-build.py. The two Docker binary builders,
tools/8.9/{x64,arm64}-linux-dynamic/nc-build.sh, kept running
`git pull origin main` and have been broken since f065bb3b0.

Replace the patch with the five-hunk version regenerated against current
depot_tools, and move all three build paths onto one pinned revision:
f394ab2c9 (2026-07-24). That is the newest revision the new patch applies
against (verified with `git apply --check`; the range is 93974d014..HEAD) and
it predates the depot_tools UV migration db395c47f (2026-08-02), which is not
yet build-verified against V8 8.9. The shell builders also export
DEPOT_TOOLS_UPDATE=0 so gclient sync cannot self-update back to HEAD.

Verified: the patch applies cleanly at f394ab2c9 for both arch dirs, removes
all five decorators, and the result parses as valid Python.

Co-authored-by: Peter P. Lupo <pplupo@gmail.com>
Co-authored-by: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com>
Assisted-by: ClaudeCode:claude-opus-5
Signed-off-by: Christoph Schaefer <christoph.schaefer@nextcloud.com>
@chrip
chrip requested a review from a team as a code owner August 3, 2026 09:43
@chrip
chrip requested review from DmySyz and rikled and removed request for a team August 3, 2026 09:43
@chrip chrip changed the title fix(v8): refresh gclient_paths.patch and pin depot_tools in all build… fix(v8): refresh gclient_paths.patch and pin depot_tools Aug 3, 2026
@chrip
chrip merged commit 0365631 into main Aug 4, 2026
6 checks passed
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