micro-opt: replace stmGetEnclosingTRec() with a field access
[ghc-hetmet.git] / boot-pkgs
index 4892b52..91da9a3 100644 (file)
--- a/boot-pkgs
+++ b/boot-pkgs
@@ -3,6 +3,33 @@ set -e
 
 libraries=
 
+tarred=`ls -1 libraries/tarballs | sed "s/-[0-9.]*\(-snapshot\)\{0,1\}.tar.gz//"`
+
+for p in $tarred
+do
+    libraries="$libraries libraries/$p"
+    if [ -d "libraries/$p/_darcs" ]
+    then
+        echo Ignoring libraries/$p as it looks like a darcs checkout
+    else
+        tarball=libraries/tarballs/$p-*.tar.gz
+        stamp="libraries/stamp/$p"
+        if [ ! -d "libraries/$p" ] ||
+           [ ! -f "$stamp" ] ||
+           [ "libraries/stamp/$p" -ot $tarball ]
+        then
+            rm -rf "libraries/$p"
+            mkdir "libraries/$p"
+            (
+                cd "libraries/$p"
+                tar -zxf ../../$tarball
+                mv */* .
+            )
+            touch "$stamp"
+        fi
+    fi
+done
+
 for f in libraries/*; do
   pkgs=$f/ghc-packages
   if test -f $pkgs; then