anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / build-support / substitute-files / substitute-all-files.nix
blob682e976dcfe52c23f6cb3f76a51b5dacf05c435b
1 { lib, stdenv }:
3 args:
5 stdenv.mkDerivation ({
6   name = if args ? name then args.name else baseNameOf (toString args.src);
7   builder = builtins.toFile "builder.sh" ''
8     source $stdenv/setup
9     set -o pipefail
11     eval "$preInstall"
13     args=
15     pushd "$src"
16     echo -ne "${lib.concatStringsSep "\\0" args.files}" | xargs -0 -n1 -I {} -- find {} -type f -print0 | while read -d "" line; do
17       mkdir -p "$out/$(dirname "$line")"
18       substituteAll "$line" "$out/$line"
19     done
20     popd
22     eval "$postInstall"
23   '';
24   preferLocalBuild = true;
25   allowSubstitutes = false;
26 } // args)