#! /bin/sh
#
# Determine package dependencies from installed-pkg-config file
#
# Copyright (C) 2006-2007 Arjan Oosting <arjan@debian.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of either:
#
# 1) The terms of the GNU General Public License as published by
#    the Free Software Foundation; either version 2 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License along
#    with this program; if not, write to the Free Software Foundation, Inc.,
#    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# 2) BSD 3-clause license.
# 
#    All rights reserved.
#
#    Redistribution and use in source and binary forms, with or without
#    modification, are permitted provided that the following conditions are
#    met:
#
#      * Redistributions of source code must retain the above copyright
#        notice, this list of conditions and the following disclaimer.
#
#      * Redistributions in binary form must reproduce the above
#        copyright notice, this list of conditions and the following
#        disclaimer in the documentation and/or other materials provided
#        with the distribution.
#
#      * The names of contributors may not be used to endorse or promote
#        products derived from this software without specific prior
#        written permission. 
#
#    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
#    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
#    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
#    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
#    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
#    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
#    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
#    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
#    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
#    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
#    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

set -e 

. /usr/share/haskell-devscripts/Dh_Haskell.sh

for pkg in `dh_listpackages $args`; do
    sfile=debian/$pkg.substvars
    touch $sfile

    case "$pkg" in
	libghc6-*-dev|libghc6-*-prof)
	    config=`find_config_for_ghc6 $pkg`
	    if [ -f "$config" ] ; then
		cfiles="$files $config"
	    else
		cfiles="$files"
	    fi
	    if [ -z "$cfiles" ] ; then
	      echo "No installed package description files can not be found" >&2
	      exit 1
	    fi
	    case "$pkg" in
		libghc6-*-dev)
	            grep -v -e ^haskell:Depends -e ^haskell:Suggests $sfile \
                        > $sfile.tmp || true
		    echo "haskell:Depends=`depends_for_ghc6 $cfiles`" >> $sfile.tmp
                    doc=`echo $pkg | sed -e 's/-dev$/-doc/'`
                    prof=`echo $pkg | sed -e 's/-dev$/-prof/'`
                    suggests="$doc, $prof"
                    echo "haskell:Suggests=$suggests" >> $sfile.tmp
		    ;;
		libghc6-*-prof)
	            grep -v ^haskell:Depends $sfile > $sfile.tmp || true
                    dev=`echo $pkg | sed -e 's/-prof$/-dev/'`
                    version='(=${binary:Version})'
                    depends="$dev ${version}, `depends_for_ghc6_prof $cfiles`"
		    echo "haskell:Depends=$depends" >> $sfile.tmp
		    ;;
	    esac
	    mv $sfile.tmp $sfile
	    ;;
	libhugs-*)
	    grep -v ^haskell:Depends $sfile > $sfile.tmp || true
	    echo "haskell:Depends=`depends_for_hugs`" >> $sfile.tmp
	    mv $sfile.tmp $sfile
	    ;;
        libghc6-*-doc|haskell-*-doc)
            grep -v -e ^haskell:Recommends -e ^haskell:Suggests $sfile \
                > $sfile.tmp || true
            recommends=` \
                find debian/$pkg -name \*.html -exec hxwls -r \{\} \; \
                | grep ^/ \
                | cut -d# -f1 \
                | sort -u \
                | xargs dpkg -S \
                | cut -d: -f1 \
                | sort -u \
                | sed -e :a -e '$!N; s/\n/, /; ta'`
            echo "haskell:Recommends=$recommends" >> $sfile.tmp
            dev=`echo $pkg | sed -e 's/^[^-]\+-\(.\+\)-doc/libghc6-\1-dev/'`
            echo "haskell:Suggests=$dev" >> $sfile.tmp
            mv $sfile.tmp $sfile
            ;;
	*)
	    ;;
    esac
done
