22d6e31fc6
For example, you can now say: configureFlags = "--prefix=${placeholder "out"} --includedir=${placeholder "dev"}"; The strings returned by the ‘placeholder’ builtin are replaced at build time by the actual store paths corresponding to the specified outputs. Previously, you had to work around the inability to self-reference by doing stuff like: preConfigure = '' configureFlags+=" --prefix $out --includedir=$dev" ''; or rely on ad-hoc variable interpolation semantics in Autoconf or Make (e.g. --prefix=\$(out)), which doesn't always work.
21 lines
442 B
Nix
21 lines
442 B
Nix
with import <nix/config.nix>;
|
|
|
|
rec {
|
|
inherit shell;
|
|
|
|
path = coreutils;
|
|
|
|
system = builtins.currentSystem;
|
|
|
|
shared = builtins.getEnv "_NIX_TEST_SHARED";
|
|
|
|
mkDerivation = args:
|
|
derivation ({
|
|
inherit system;
|
|
builder = shell;
|
|
args = ["-e" args.builder or (builtins.toFile "builder.sh" "eval \"$buildCommand\"")];
|
|
PATH = path;
|
|
} // removeAttrs args ["builder" "meta"])
|
|
// { meta = args.meta or {}; };
|
|
}
|