1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-01-22 14:45:27 +00:00

* Cleanup.

svn path=/nixpkgs/trunk/; revision=13161
This commit is contained in:
Eelco Dolstra 2008-10-30 13:08:01 +00:00
parent afb0530e3d
commit f04e3944e5

View file

@ -433,22 +433,24 @@ let
symlinkJoin = name: paths: runCommand name {inherit paths;} "mkdir -p $out; for i in $paths; do ${xorg.lndir}/bin/lndir $i $out; done";
# single text file derivation
writeTextFile = { name, # the name of the derivation
text,
executable ? false, # run chmod +x ?
destination ? "" # relative path appended to $out eg "/bin/foo"
} :
# Create a single file.
writeTextFile =
{ name # the name of the derivation
, text
, executable ? false # run chmod +x ?
, destination ? "" # relative path appended to $out eg "/bin/foo"
}:
runCommand name {inherit text executable; } ''
n=$out${destination}
mkdir -p "$(dirname "$n")"
echo -n "$text" > "$n"
[ -n "$executable"] && chmod +x "$n"
'';
# the following write* functions are depreceated. You should use writeTextFile instead
writeText = name: text: runCommand name {inherit text;} "echo -n \"$text\" > $out";
writeScript = name: text: runCommand name {inherit text;} "echo -n \"$text\" > $out; chmod +x $out";
writeScriptBin = name: text: runCommand name {inherit text;} "mkdir -p \$out/bin; echo -n \"\$text\" > \$out/bin/\$name ; chmod +x \$out/bin/\$name";
'';
# Shorthands for `writeTextFile'.
writeText = name: text: writeTextFile {inherit name text;};
writeScript = name: text: writeTextFile {inherit name text; executable = true;};
writeScriptBin = name: text: writeTextFile {inherit name text; executable = true; destination = "/bin/${name}";};
# entries is a list of attribute sets like { name = "name" ; path = "/nix/store/..."; }
linkFarm = name: entries: runCommand name {} ("mkdir -p $out; cd $out; \n" +