X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=boot-pkgs;h=017705b62c68504feceeb5197d23d0bd140fc789;hb=3c2a7fa6cf118f6e0fbda8babac7aff988574384;hp=4892b520546ab16d13c295f3934a14d5f0dd5142;hpb=11e3da87d34465406147927fd89fb64b147cfaca;p=ghc-hetmet.git diff --git a/boot-pkgs b/boot-pkgs index 4892b52..017705b 100644 --- a/boot-pkgs +++ b/boot-pkgs @@ -3,6 +3,35 @@ set -e libraries= +# We do the sed in 3 steps, as the -snapshot may or may not be there, +# and I can't see a way to optionally match it with POSIX BREs +tarred=`ls -1 libraries/tarballs | sed -e 's/\.tar\.gz$//' -e 's/-snapshot$//' -e 's/-[0-9.]*$//'` + +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" + cat ../../$tarball | gzip -d | tar xf - + mv */* . + ) + touch "$stamp" + fi + fi +done + for f in libraries/*; do pkgs=$f/ghc-packages if test -f $pkgs; then @@ -26,7 +55,7 @@ for f in $libraries; do else stage=1 fi - top=`echo $f | sed 's#[^/]\+#..#g'` + top=`echo $f | sed 's#[^/][^/]*#..#g'` echo "${f}_PACKAGE = ${pkg}" >> $f/ghc.mk echo "${f}_dist-install_GROUP = libraries" >> $f/ghc.mk echo "\$(eval \$(call build-package,${f},dist-install,${stage}))" >> $f/ghc.mk