new(ziglang.org/zls): Zig Language Server (source build)#13116
Open
tannevaled wants to merge 1 commit into
Open
new(ziglang.org/zls): Zig Language Server (source build)#13116tannevaled wants to merge 1 commit into
tannevaled wants to merge 1 commit into
Conversation
Builds zls from source via `zig build install`, using pantry's existing ziglang.org bottle as a build dependency. zig's package manager fetches the declared dependencies (known-folders, diffz, lsp-kit) during the build. Pinned to the 0.15.x line via `ignore: /^0\.16/` because zls 0.16 requires zig 0.16, which upstream has not yet released. Re-evaluate when zig 0.16 ships. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.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.
Summary
Adds the Zig Language Server as
projects/ziglang.org/zls/package.yml, a sub-package under the existingziglang.orgrecipe.zig build install -Doptimize=ReleaseSafe. The parentziglang.orgbottle vendors prebuilt zig as a chicken-and-egg exception; downstream Zig tooling like zls is compiled here from source against that bottle.ziglang.org: '~0.15.1'— zls 0.15.1'sminimum_zig_versionis 0.15.1, and pantry's current ziglang.org bottle is 0.15.2 (satisfies~0.15.1).known-folders,diffz,lsp-kit) duringzig build. The lazytracydep is not pulled because tracy is not enabled. Caches are kept inside the build tree (--global-cache-dir/--cache-dir) so the build doesn't touch$HOME.skip: fix-patchelf— zig produces statically-linked binaries; matches the parent ziglang.org recipe's pattern.versions.ignore: - /^0\.16/. zls 0.16.0 exists but requires zig 0.16, which upstream has not released yet. The pin should be removed onceziglang.orgships a 0.16 bottle.This is the standard cross-distro approach — see Arch's
zlsPKGBUILD which also driveszig build install -Doptimize=ReleaseSafeagainst a system zig.Test plan
zls --versionprints0.15.1🤖 Generated with Claude Code