diff --git a/pkg-deps.sh b/pkg-deps.sh index 4a7d753..bbfe3ac 100755 --- a/pkg-deps.sh +++ b/pkg-deps.sh @@ -9,13 +9,22 @@ mkdir -p .pkg-deps cd .pkg-deps -ghc-pkg dot --global > pkgs.dot +# remove the closing line +ghc-pkg dot --global | sed '$d' > pkgs.dot + +# check for binary deps too +for i in alex cabal-install cpphs darcs happy hedgewars hscolour kaya xmonad; do + PKG=`rpm -q --qf "%{name}-%{version}" $i` || echo $i is not installed + rpm -q --requires $i | grep ghc6 | sed -e "s/libHS/\"$PKG\" -> \"/g" -e "s/-ghc6.*/\"/" >> pkgs.dot +done + +# and add it back +echo "}" >> pkgs.dot cp -p pkgs.dot pkgs.dot.orig -GHC_PKGS="array base-4 base-3 bin-package-db bytestring Cabal containers directory dph extensible-exceptions filepath ghc-6.12 ghc-binary ghc-prim haskell98 hpc integer-gmp old-locale old-time pretty process random syb template-haskell time unix utf8-string-0.3.4 Win32" - # ignore library packages provided by ghc +GHC_PKGS="array base-4 base-3 bin-package-db bytestring Cabal containers directory dph extensible-exceptions filepath ffi ghc-6.12 ghc-binary ghc-prim haskell98 hpc integer-gmp old-locale old-time pretty process random rts syb template-haskell time unix utf8-string-0.3.4 Win32" for i in $GHC_PKGS; do sed -i -e /$i/d pkgs.dot; done cat pkgs.dot | tred | dot -Nfontsize=8 -Tsvg >pkgs.svg