[Nix-dev] Handle runtime dependencies
Nicolas Pierron
nicolas.b.pierron at gmail.com
Sun Mar 16 22:42:31 CET 2008
Hi,
I have found a way to handle runtime dependencies which offer the
opportunity to not recompile a program if its runtime dependencies
have changed.The following code handle a new attribute
(runtimeDependencies) inside mkDerivation. This attribute contains a
derivation which has as source (src) the "clean" installed version.
addRuntimeDependenciesToDerivation = stdenv: stdenv //
{ mkDerivation = args:
if args ? runtimeDependencies then
stdenv.mkDerivation ({
meta = args.meta;
name = args.name;
src = stdenv.mkDerivation (removeAttrs args
["runtimeDependencies"]);
} // args.runtimeDependencies)
else
stdenv.mkDerivation args
;
};
It is use as follow:
{ ... }:
stdenv.mkDerivation rec {
name = "...";
src = fetchurl { ... };
runtimeDependencies = {
buildInputs = [ ... ];
buildCommand = '' ... '';
};
meta = { ... };
}
Should I commit this?
--
Nicolas Pierron
More information about the nix-dev
mailing list