Repository navigation
chore: drop darwin from flake (Linux-only) - #4
Merged
Merged
Conversation
Org rule: no macOS in systemfsoftware repos. - flake.nix: eachDefaultSystem -> eachSystem [ x86_64-linux aarch64-linux ]; drop the aarch64-darwin/x86_64-darwin node-modules hashes, the isDarwin pkgs.darwin.cctools nativeBuildInputs, DYLD_LIBRARY_PATH, and the Darwin Metal residency branch of the wrapper --run script (MCP log-level env unchanged); LD_LIBRARY_PATH is now unconditional (same value as before on Linux); meta.platforms = platforms.linux. - ci.yml: drop the Homebrew DYLD_LIBRARY_PATH env from the bun test step. - scripts/test-all.mjs: drop the darwin-only GGML_METAL_NO_RESIDENCY env; src/test-preload.ts comment updated to match.
The flake wrapper no longer carries the darwin Metal residency branch, so "makeWrapper seeds the same pre-import env as bin/qmd (tobi#723)" failed on GGML_METAL_NO_RESIDENCY. Retarget it at what the Linux wrapper seeds: the mcp log-level exports (LLAMA_LOG_LEVEL, GGML_LOG_LEVEL, GGML_BACKEND_SILENT) and LD_LIBRARY_PATH, scoped to the makeWrapper invocation, and assert flake.nix sets none of GGML_METAL_NO_RESIDENCY, QMD_METAL_KEEP_RESIDENCY or DYLD_LIBRARY_PATH.
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.
Removes macOS from the fork's build and CI config, following the org rule that systemfsoftware repos have no macOS. Base is
mainatc93d6c8, which includes #3.Changes
flake.nix
flake-utils.lib.eachDefaultSystemis replaced witheachSystem [ "x86_64-linux" "aarch64-linux" ].aarch64-darwinandx86_64-darwinnode-modules hashes.x86_64-linuxkeeps its hash, andaarch64-linuxstays onfakeHashas before.optionals isDarwin [ pkgs.darwin.cctools ]entry fromnativeBuildInputs.--set DYLD_LIBRARY_PATH, the Darwin/Metal residency comment, and theuname -s = Darwinbranch of--run. The MCP log-level part of--runis unchanged.LD_LIBRARY_PATHno longer depends onisLinux; on Linux the value is the same as before.meta.platformschanged fromplatforms.unixtoplatforms.linux.Other config
.github/workflows/ci.yml: removedDYLD_LIBRARY_PATH: /opt/homebrew/opt/sqlite/libfrom the bun test step.scripts/test-all.mjs: removed the darwin-onlyGGML_METAL_NO_RESIDENCYenv injection.src/test-preload.ts: updated the header comment so it lists only the injector that is left (bin/qmd).Verification (local, x86_64-linux)
The generated wrapper exports only
LD_LIBRARY_PATH(sqlite, glibc, gcc-lib) plus the MCP log-level block.macOS handling left in place (runtime source and docs, not changed here)
bin/qmd: the darwinGGML_METAL_NO_RESIDENCYlauncher block.src/db.ts: Homebrewlibsqlite3.dylibsetCustomSQLitelookup, plus the macOS hint in the sqlite-vec error.src/llm.ts:isDarwinMetalMitigationActive,installDarwinExitGuard,isDarwinExitGuardInstalled, and the Metal dispose comments.src/cli/qmd.ts: doctor's "darwin metal residency" check, themetal (macOS Metal backend)label, and theQMD_METAL_KEEP_RESIDENCY/GGML_METAL_NO_RESIDENCYenv help.src/store.ts: the Homebrew SQLite /BREW_PREFIXerror text.src/cli/mcp-pid.ts: thepsfallback comment for macOS.package.jsonoptionalDependencies:sqlite-vec-darwin-arm64andsqlite-vec-darwin-x64. These are runtime native packages; removing them changes the lockfiles and the published package.scripts/repro-metal-rsets-crash.mjs: a macOS-only repro script.README.md: the macOS Homebrew SQLite requirement.test/bin-wrapper.test.tsand others).flake.nixdevShell:BREW_PREFIXexport. It is a Homebrew name but not macOS-specific, and nothing insrc/reads it.