[M5+] realize candidate output before nix-cmake-scan
This commit is contained in:
13
CHANGELOG.md
13
CHANGELOG.md
@@ -91,6 +91,19 @@ All notable changes to cargoxx will be documented in this file.
|
||||
6 cases against fixtures derived from a real fmt 10.2.1 response;
|
||||
`tests/devbox_resolve_live.cpp` (gated by `CARGOXX_NETWORK_TESTS=1`)
|
||||
hits the live API.
|
||||
- Fix: `nix_cmake_scan` would silently fail when the dev output had
|
||||
not yet been realized on the local machine — `nixpkgs_probe`'s
|
||||
`nix eval` only *computes* a store path, so packages first-time
|
||||
encountered (`libclang`, anything not previously built) returned a
|
||||
path that didn't exist on disk. Discovery now realizes the
|
||||
candidate output via
|
||||
`nix build --no-link --print-out-paths nixpkgs#<attr>.dev` (or
|
||||
`.<empty>`) before scanning. New free function
|
||||
`cargoxx::resolver::realize_path(flake_attr)` wraps the call.
|
||||
Live verified: `cargoxx add libclang` now reaches the verify-link
|
||||
step (the subsequent `find_dependency(LLVM)` failure inside Clang's
|
||||
CMake config is the pre-existing cross-package transitive-dep
|
||||
limit — workaround is to `cargoxx add libllvm` first).
|
||||
- Fix: `nix_cmake_scan` walked only the package's default output. For
|
||||
multi-output Nix packages — `boost`, `openssl`, `libllvm`,
|
||||
`libclang`, glib, … — CMake configs live in the `dev` output
|
||||
|
||||
Reference in New Issue
Block a user