') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); Solved last master build system changes to EmitBinPath by lmarzocchetti · Pull Request #2007 · zigtools/zls · GitHub
Skip to content

Solved last master build system changes to EmitBinPath - #2007

Merged
Techatrix merged 6 commits into
zigtools:masterfrom
lmarzocchetti:master
Aug 22, 2024
Merged

Solved last master build system changes to EmitBinPath#2007
Techatrix merged 6 commits into
zigtools:masterfrom
lmarzocchetti:master

Conversation

@lmarzocchetti

Copy link
Copy Markdown
Contributor

From the last master changes of the commit: "dffc8c4", they changed "emit_bin_path" to "emit_digest", so the build of zls was broken for the latest master, updating these result in a succeful build

@lmarzocchetti

Copy link
Copy Markdown
ContributorAuthor

i don't know why fails on macos or windows. I'm on linux, i've tested the build on macos and it works perfectly, but the failed test still remain

Comment threadsrc/ZigCompileServer.zig Outdated
@Techatrix

Copy link
Copy Markdown
Member

The relevant zig commit is ziglang/zig@43f73af.
The reason why emit_bin_path has been renamed to emit_digest is because the messages no longer sends the entire file path.

This is fixed by communicating the final hash of the artifact path (the hash of the corresponding /o/ directory) and communicating this instead of the entire path. This changes the zig build --listen protocol to communicate hashes instead of paths, and emit_bin_path is accordingly renamed to emit_digest.


i don't know why fails on macos or windows. I'm on linux, i've tested the build on macos and it works perfectly, but the failed test still remain

Did you run zig build test or just zig build? zig build test should fail on linux as well. I believe the reason why CI passed on linux is because the random hash just happened to resemble a "valid" file path. re-running CI makes it fail as expected.

@TechatrixTechatrix linked an issue Aug 21, 2024 that may be closed by this pull request
@lmarzocchetti

Copy link
Copy Markdown
ContributorAuthor

Ok, i'll take a look at this commit and the test and see if i can solve this

@Techatrix

Copy link
Copy Markdown
Member

Ok, i'll take a look at this commit and the test and see if i can solve this

👍 Feel free to let me know if there is anything I can do to help you with this.

@lmarzocchetti

Copy link
Copy Markdown
ContributorAuthor

i have printed the communicated hash, but i don't find the algorithm used to decrypt this

@lmarzocchetti

Copy link
Copy Markdown
ContributorAuthor

Okay i think this is it, the test is no longer failing, tell me if i'm wrong with the commit (i'm new to contributing to open source software)

Comment threadsrc/translate_c.zig Outdated
@lmarzocchetti

Copy link
Copy Markdown
ContributorAuthor

With the build "dffc8c4" of zig, zls can be builded seamlessy. I'have watched and there is a new release "7bbbbf8ff" and it fails to build entirely. I think is not my commit but something with zig itself

@Techatrix

Copy link
Copy Markdown
Member

With the build "dffc8c4" of zig, zls can be builded seamlessy. I'have watched and there is a new release "7bbbbf8ff" and it fails to build entirely. I think is not my commit but something with zig itself

That's ziglang/zig#21135. It has fixed a bug with @setEvalBranchQuota that is also a breaking change.

@lmarzocchetti

Copy link
Copy Markdown
ContributorAuthor

I have managed to build ZLS inserting @setEvalBranchQuota(3000) in the insertionContext function inside the standard library file "sort.zig". Idk if this is an useful information, but i wanted to let you know

@Techatrix

Copy link
Copy Markdown
Member

The call to @setEvalBranchQuota should be where you reach into the standard library. One callsite is in the zig-lsp-codegen dependency of ZLS which is tracked here.

@lmarzocchetti

Copy link
Copy Markdown
ContributorAuthor

Okay so we need to wait the change to zig-lsp-codegen. There is something that i can do, or just wait for the change?

@Techatrix

Copy link
Copy Markdown
Member

The branch eval quota stuff should be taken care of. I have directly pushed to changes to this Pull Request.

@lmarzocchetti FYI It is recommended to create a separate branch in your Fork (https://github.com/lmarzocchetti/zls) instead of committing to master when you plan to send a Pull Request.

@TechatrixTechatrix 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.

Everything looks to be in order now.
Thank you @lmarzocchetti

@lmarzocchetti

Copy link
Copy Markdown
ContributorAuthor

Thank you for your time helping me! And thank you for suggesting the branch stuff, next time i will be more prepared!

lmarzocchettiand others added 5 commits August 22, 2024 16:52
Flake lock file updates:
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/c3d4ac725177c030b1e289015989da2ad9d56af0' (2024-08-15)
→ 'github:NixOS/nixpkgs/224042e9a3039291f22f4f2ded12af95a616cca0' (2024-08-21)
• Updated input 'zig-overlay':
'github:mitchellh/zig-overlay/f7606d2b29799b15f401b0501c712d50c2fbb90d' (2024-08-16)
→ 'github:mitchellh/zig-overlay/1f0785c9b064455d5ba78002470f6dfad65de2a8' (2024-08-22)
@Techatrix
Techatrix merged commit 7a609c2 into zigtools:masterAug 22, 2024
Sign up for freeto 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.

Build error zig master 8/20 release

4 participants

@lmarzocchetti@Techatrix@moderation@zeroZshadow