I think nix may notice that the dependency is not 'runtime', but only 'build time'. That may not rebuild B, if you want C, and C is already done.
In any case, I think you should use the "nix-store --delete" if you want to delete a path of the store. Regards, Lluís. 2009/2/28 Marc Weber <[email protected]>: > I'v noticed that if you have a dependency chain such as > A -> B -> C and you do rm -fr /nix/store/*-B and nix-store --verify > nix-store notes that the path is missing. > > But you nix won't rebuild B when you realise C? > Have I missed something ? > > I've used something simple like this in my ~/.nixpkgs/config.nix: > > { > packageOverrides = pkgs : with pkgs; > let > foo = name : deps : stdenv.mkDerivation { > name = "test-${name}"; > phases = "buildPhase"; > buildPhase = '' > set -x > ensureDir $out; > for i in ${builtins.toString deps}; do > echo $i > $out/foo > done > ''; > }; > in rec { > A = foo "A" []; > B = foo "B" [A]; > C = foo "C" [B]; > } > } > _______________________________________________ > nix-dev mailing list > [email protected] > https://mail.cs.uu.nl/mailman/listinfo/nix-dev > _______________________________________________ nix-dev mailing list [email protected] https://mail.cs.uu.nl/mailman/listinfo/nix-dev
