flake: replace naersk with crane (#538)
Framework swap, no public API change. - naersk input → crane (`github:ipetkov/crane`); crane is stateless, no nixpkgs.follows needed. - `forAllSystems` exposes `craneLib = crane.mkLib pkgs`, `cargoArtifacts = craneLib.buildDepsOnly` (built once, reused), and a shared `nativeBuildInputs = [ pkgs.librsvg pkgs.git ]` consumed by buildDepsOnly + buildPackage + cargoClippy so the three derivations see the same toolchain shape. - `packages.default = craneLib.buildPackage` (was naersk-lib.buildPackage) with explicit `pname = "hyperhive-workspace"; version = "0.1.0";` — the virtual workspace Cargo.toml has no [package].name so crane needs the hint. - `checks.clippy = craneLib.cargoClippy` (was naersk + overrideAttrs hack). Crane parses `cargoClippyExtraArgs = "--workspace --all-targets -- -D warnings"` correctly; naersk's `mode = "clippy"` used to mangle the `--` separator which is why the old wiring went through overrideAttrs. The whole hack — including `doCheck = false`, `copyTarget = false`, and the swapped buildPhase/installPhase — is now gone. - librsvg native dep (#424) preserved on all three derivations. Added pkgs.git too — naersk auto-included it; crane is more minimal, so hive-c0re's `lifecycle::tests::setup_proposed_*` (which shell out to `git init`+commit) need it explicit to pass under `cargo test` in the sandbox. - build.rs + hive-c0re/Cargo.toml comments updated from "naersk derivation" to "crane derivation". - 3 doc-list-indentation lints in hive-sh4re/src/lib.rs cleaned up (replaced `+`-at-line-start with `and`/`/` so doc continuations don't trigger `clippy::doc_lazy_continuation`). Validated locally: `nix build .#default --fallback` succeeds, all 117 tests pass, all four bins in `result/bin/`.
This commit is contained in:
parent
b652e6a6b0
commit
4b6c733afb
5 changed files with 88 additions and 111 deletions
|
|
@ -5,7 +5,7 @@
|
|||
//! artifact.
|
||||
//!
|
||||
//! Uses `rsvg-convert` from PATH (librsvg, already available in
|
||||
//! nixpkgs and added to the naersk derivation's `nativeBuildInputs`
|
||||
//! nixpkgs and added to the crane derivation's `nativeBuildInputs`
|
||||
//! in `flake.nix`). For dev builds outside Nix, install librsvg via
|
||||
//! your system package manager (Debian/Ubuntu: `librsvg2-bin`,
|
||||
//! macOS: `brew install librsvg`).
|
||||
|
|
@ -43,7 +43,7 @@ fn main() {
|
|||
"failed to invoke rsvg-convert: {e}\n\
|
||||
install librsvg (Debian/Ubuntu: librsvg2-bin, macOS: brew install librsvg, \
|
||||
NixOS: pkgs.librsvg). The Nix derivation already pulls it in via \
|
||||
flake.nix → naersk-lib.buildPackage.nativeBuildInputs.",
|
||||
flake.nix → craneLib.buildPackage.nativeBuildInputs.",
|
||||
),
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue