about summary refs log tree commit diff
path: root/pkgs/stdenv
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2014-03-19 19:56:51 +0100
committerVladimír Čunát <vcunat@gmail.com>2014-04-02 19:07:59 +0200
commitc4371afd06ae0185aef6bb6d503e2629b5c7cd82 (patch)
tree95051d2afc63ab6aca5045089830c47346522c0f /pkgs/stdenv
parent1ed628acb21fd8ee7d6b70947b2fbbd61d13ec01 (diff)
stdenv/setup.sh: make substitute* not drop EOF newline
This should solve #1982.
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r--pkgs/stdenv/generic/setup.sh6
1 files changed, 4 insertions, 2 deletions
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index d79131ac06704..1d79a45678c21 100644
--- a/pkgs/stdenv/generic/setup.sh
+++ b/pkgs/stdenv/generic/setup.sh
@@ -304,9 +304,11 @@ substitute() {
 
     local -a params=("$@")
 
-    local n p pattern replacement varName
+    local n p pattern replacement varName content
 
-    local content="$(cat $input)"
+    # a slightly hacky way to keep newline at the end
+    content="$(cat $input; echo -n X)"
+    content="${content%X}"
 
     for ((n = 2; n < ${#params[*]}; n += 1)); do
         p=${params[$n]}