installPhase deleted the whole bin/tools directory, which also removed typst-gather and
deno_dom/libplugin.so. Neither has a nixpkgs substitute, so `quarto call typst-gather` failed the
existsSync check in architectureToolsPath() and the DENO_DOM_PLUGIN exported by bin/quarto pointed
at a nonexistent file. External consumers that build the path themselves, such as the VS Code
visual editor, also broke (#268427, partially #256074).
bin/tools/$ARCH_DIR is now rebuilt: deno, pandoc, typst, esbuild and dart-sass become symlinks to
the nixpkgs builds, the two binaries without a substitute are kept and patchelfed, and
bin/tools/pandoc is restored for the pre-1.4 layout. On darwin the non-host architecture tree and
the AppleDouble files are dropped from the universal macos asset.
which moves from nativeBuildInputs, where it was unreachable at runtime, to a PATH suffix on the
wrapper, so quarto's internal `async function which(cmd)` helper resolves (#393246). A suffix keeps
the user's own PATH ahead of it.
strictDeps also requires bashNonInteractive as an explicit host dependency: without it
patchShebangs --host cannot resolve bin/.quarto-wrapped's `#!/usr/bin/env bash`, leaving the
launcher dependent on a bash from the caller's PATH.
Validation: `nix-build -A quarto`, `-A quartoMinimal`; `quarto call typst-gather --help` exits 0
(errored before); bin/tools/{pandoc,x86_64/{deno,pandoc,typst,esbuild,dart-sass/sass}} resolve and
typst-gather + deno_dom/libplugin.so are present; auto-patchelf reports 0 unsatisfied dependencies;
bin/.quarto-wrapped keeps its patched bash-5.3p15 interpreter.
meta.platforms was lib.platforms.all while src hardcoded quarto-${version}-linux-amd64.tar.gz, so
every non-x86_64-linux system fetched an x86-64 Linux tarball. Upstream ships linux-amd64,
linux-arm64 and a universal macos asset for every release.
passthru.sources follows the pattern in pkgs/by-name/bu/bun/package.nix so update-source-version
--source-key keeps working, and meta.platforms is now derived from its attribute names.
x86_64-darwin is omitted because nixpkgs 26.11 dropped it (pkgs/top-level/default.nix:82).
The macos asset unpacks flat rather than into a versioned directory, hence the conditional
sourceRoot.
Validation: `nix-instantiate --eval --strict -A quarto.meta.platforms`, `quarto.src.url` and
`quarto.sourceRoot` evaluated for each of x86_64-linux, aarch64-linux and aarch64-darwin;
`nix-build -A quarto` on x86_64-linux.
Upstream 1.10 moves the pinned deno from 2.7.14 to 2.9.4 and typst to 0.15.1, and adds the
`typst-gather` command. Release notes: https://github.com/quarto-dev/quarto-cli/releases/tag/v1.10.18
Hash taken from the release's own quarto-1.10.18-checksums.txt and converted with `nix hash to-sri`.
Validation: `nix-build -A quarto`, `./result/bin/quarto --version` prints 1.10.18.