about summary refs log tree commit diff
path: root/pkgs/build-support
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2005-02-16 11:38:52 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2005-02-16 11:38:52 +0000
commiteeff1fcdd1a1278be0ac5f688f945d6d6e0ea519 (patch)
treedac366bd6b51969442e28ec48809ba23d3933b5a /pkgs/build-support
parent3bf404a3f2407b427a75417ca632c5fbd9869f0d (diff)
* More wrapper generation features. The Firefox wrapper generator is
  now just 3 lines.

svn path=/nixpkgs/trunk/; revision=2243
Diffstat (limited to 'pkgs/build-support')
-rw-r--r--pkgs/build-support/make-wrapper/make-wrapper.sh36
1 files changed, 36 insertions, 0 deletions
diff --git a/pkgs/build-support/make-wrapper/make-wrapper.sh b/pkgs/build-support/make-wrapper/make-wrapper.sh
index ac45f1897ae85..bab89ec77ddc3 100644
--- a/pkgs/build-support/make-wrapper/make-wrapper.sh
+++ b/pkgs/build-support/make-wrapper/make-wrapper.sh
@@ -19,9 +19,45 @@ makeWrapper() {
                 echo "export $varName=\$$varName\${$varName:+$separator}$value" >> $wrapper
             fi
         fi
+
+        if test "$p" = "--suffix-each"; then
+            varName=${params[$((n + 1))]}
+            separator=${params[$((n + 2))]}
+            values=${params[$((n + 3))]}
+            n=$((n + 3))
+            for value in $values; do
+                echo "export $varName=\$$varName\${$varName:+$separator}$value" >> $wrapper
+            done
+        fi
+
+        if test "$p" = "--suffix-contents"; then
+            varName=${params[$((n + 1))]}
+            separator=${params[$((n + 2))]}
+            fileNames=${params[$((n + 3))]}
+            n=$((n + 3))
+            for fileName in $fileNames; do
+                echo "export $varName=\$$varName\${$varName:+$separator}$(cat $fileName)" >> $wrapper
+            done
+        fi
     done
 
     echo "exec \"$original\" \"\$@\"" >> $wrapper
     
     chmod +x $wrapper
 }
+
+addSuffix() {
+    suffix=$1
+    shift
+    for name in "$@"; do
+        echo "$name$suffix"
+    done
+}
+
+filterExisting() {
+    for fn in "$@"; do
+        if test -e "$fn"; then
+            echo "$fn"
+        fi
+    done
+}