fix(v8): pin depot_tools so gclient_paths.patch applies - #127
Merged
Conversation
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>
DmySyz
approved these changes
Jul 24, 2026
This was referenced Aug 3, 2026
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
nc-build.py cloned depot_tools then ran
git pull origin main, tracking HEAD. gclient_paths.patch (drops four@functools.lru_cachedecorators 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