diff options
author | Joachim Breitner <mail@joachim-breitner.de> | 2010-01-13 17:29:25 +0000 |
---|---|---|
committer | Joachim Breitner <mail@joachim-breitner.de> | 2010-01-13 17:29:25 +0000 |
commit | fe862b071cb4f2092e89a4a48b3b97a5f6091d36 (patch) | |
tree | 67f9d1e3e6cc6ec9ecc2b4a230d0ea5f906b9809 /Dh_Haskell.sh | |
parent | d9ab8998340be4227555f3bb7c9a8fabe82368a1 (diff) |
Depend on the virtual package names provided by dh_haskell_provides
Diffstat (limited to 'Dh_Haskell.sh')
-rw-r--r-- | Dh_Haskell.sh | 52 |
1 files changed, 34 insertions, 18 deletions
diff --git a/Dh_Haskell.sh b/Dh_Haskell.sh index 74d95ca..415f998 100644 --- a/Dh_Haskell.sh +++ b/Dh_Haskell.sh @@ -20,18 +20,6 @@ dependency(){ echo "$package (>= $version), $package (<< $next_upstream_version)" } -dependencies(){ - local package - local packages - local deps - packages=$@ - for package in `sort_uniq $packages` ; do - deps="$deps, `dependency $package`" - done - - echo $deps | sed -e 's/^,[ ]*//' -} - providing_package_for_ghc6(){ local package local dep @@ -103,24 +91,52 @@ cabal_depends(){ echo $final_depends } +hashed_dependency(){ + local type + local pkgid + local virpkg + type=$1 + pkgid=$2 + virtual_pkg=`package_id_to_virtual_package $type $pkgid` + # As a transition measure, check if dpkg knows about this virtual package + if dpkg-query -W $virtual_pkg >/dev/null 2>/dev/null; + then + echo $virpkg + fi +} + depends_for_ghc6(){ local dep local packages - for dep in `cabal_depends $@` ; do - packages="$packages `providing_package_for_ghc6 $dep`" + local pkgid + for pkgid in `cabal_depends $@` ; do + dep=`hashed_dependency dev $pkgid` + if [ -z "$dep" ] + then + pkg=`providing_package_for_ghc6 $pkgid` + dep=`dependency $pkg` + fi + packages="$packages, $dep" done - dependencies $packages + echo $packages | sed -e 's/^,[ ]*//' } depends_for_ghc6_prof(){ local dep local packages - for dep in `cabal_depends $@` ; do - packages="$packages `providing_package_for_ghc6_prof $dep`" + local pkgid + for pkgid in `cabal_depends $@` ; do + dep=`hashed_dependency prof $pkgid` + if [ -z "$dep" ] + then + pkg=`providing_package_for_ghc6_prof $pkgid` + dep=`dependency $pkg` + fi + packages="$packages, $dep" done - dependencies $packages + echo $packages | sed -e 's/^,[ ]*//' } provides_for_ghc6(){ |