Blame SOURCES/ghc-deps.sh

d75eb7
#!/bin/sh
d75eb7
# find rpm provides and requires for Haskell GHC libraries
d75eb7
d75eb7
[ $# -ne 2 ] && echo "Usage: $(basename $0) [--provides|--requires] %{buildroot}%{ghclibdir}" && exit 1
d75eb7
d75eb7
set +x
d75eb7
d75eb7
mode=$1
d75eb7
pkgbasedir=$2
d75eb7
pkgconfdir=$pkgbasedir/package.conf.d
d75eb7
d75eb7
ghc_pkg="/usr/lib/rpm/ghc-pkg-wrapper $pkgbasedir"
d75eb7
d75eb7
case $mode in
d75eb7
    --provides) field=id ;;
d75eb7
    --requires) field=depends ;;
d75eb7
    *) echo "$(basename $0): Need --provides or --requires"
d75eb7
       exit 1
d75eb7
       ;;
d75eb7
esac
d75eb7
d75eb7
ghc_ver=$(basename $pkgbasedir | sed -e s/ghc-//)
d75eb7
d75eb7
files=$(cat)
d75eb7
d75eb7
for i in $files; do
d75eb7
    case $i in
d75eb7
        # exclude builtin_rts.conf
d75eb7
        $pkgconfdir/*-*.conf)
d75eb7
            name=$(grep "^name: " $i | sed -e "s/name: //")
d75eb7
            ids=$($ghc_pkg field $name $field | sed -e "s/rts//" -e "s/bin-package-db-[^ ]\+//")
d75eb7
d75eb7
            for d in $ids; do
d75eb7
                case $d in
d75eb7
                    *-*) echo "ghc-devel($d)" ;;
d75eb7
                    *) ;;
d75eb7
                esac
d75eb7
            done
d75eb7
            ;;
d75eb7
        *)
d75eb7
            ;;
d75eb7
    esac
d75eb7
done