Skip to content

fix(v8): pin depot_tools so gclient_paths.patch applies - #127

Merged
DmySyz merged 1 commit into
mainfrom
fix/pin-depot-tools
Jul 24, 2026
Merged

fix(v8): pin depot_tools so gclient_paths.patch applies#127
DmySyz merged 1 commit into
mainfrom
fix/pin-depot-tools

Conversation

@chrip

@chrip chrip commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

nc-build.py cloned depot_tools then ran git pull origin main, tracking HEAD. gclient_paths.patch (drops four @functools.lru_cache decorators from gclient_paths.py) was authored against an older depot_tools; upstream f065bb3b0 (2026-07-13, "Add gclient getconfig subcommand") reworked gclient_paths.py, so the patch stopped applying and core failed to build on all arches.

Pin depot_tools to 6e5a13d2598ee48c9c7afc750401533f30dde16e (newest revision the patch applies against; verified with git apply --check) and set DEPOT_TOOLS_UPDATE=0 so it can't self-update back to HEAD during gclient sync. Verified: core builds and x2t links on linux/arm64.

Pinning stops the drift but doesn't advance depot_tools. To move it forward later, refresh gclient_paths.patch against the newer gclient_paths.py and bump the pin.

Fixes #124
Relates to #72 — this pins as the near-term unblock; the longer-term "do we still need v8 8.9 / these patches" decision stays there.

Unblocks the downstream builds that were failing on this:

Assisted-by: ClaudeCode:claude-opus-4-8

nc-build.py cloned depot_tools then ran 'git pull origin main', tracking HEAD.
gclient_paths.patch (drops four @functools.lru_cache decorators from gclient_paths.py)
was authored against an older depot_tools; upstream f065bb3b0 (2026-07-13, 'Add gclient
getconfig subcommand') reworked gclient_paths.py, so the patch stopped applying and core
failed to build on all arches (blocking #143 and #116).

Pin depot_tools to 6e5a13d2598ee48c9c7afc750401533f30dde16e (newest revision the patch
applies against; verified with git apply --check) and set DEPOT_TOOLS_UPDATE=0 so it
can't self-update back to HEAD during gclient sync. Verified: core builds and x2t links
on linux/arm64.

Assisted-by: ClaudeCode:claude-opus-4-8
Signed-off-by: Christoph Schaefer <christoph.schaefer@nextcloud.com>
@chrip
chrip requested a review from a team as a code owner July 24, 2026 09:28
@chrip
chrip requested review from DmySyz and rikled and removed request for a team July 24, 2026 09:28
@DmySyz
DmySyz merged commit 2b23d1c into main Jul 24, 2026
6 checks passed
RetGal pushed a commit to RetGal/core that referenced this pull request Aug 4, 2026
… 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.

Euro-Office#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>
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.

v8 build fails: gclient_paths.patch no longer applies (gclient_paths.py:162)

2 participants