summaryrefslogtreecommitdiff
path: root/Dh_Haskell.sh
diff options
context:
space:
mode:
authorJoachim Breitner <mail@joachim-breitner.de>2010-01-13 14:48:02 +0000
committerJoachim Breitner <mail@joachim-breitner.de>2010-01-13 14:48:02 +0000
commitd22c8a42bfa0d6f065929ce33bee9cc6abdb9da3 (patch)
tree092a7c17fab7cf60a63640cc2296dea1f6a353fc /Dh_Haskell.sh
parent3cbc445df013c0f9e1c6addcdb5ce18d77939b12 (diff)
Create dh_haskell_provides
Diffstat (limited to 'Dh_Haskell.sh')
-rw-r--r--Dh_Haskell.sh38
1 files changed, 38 insertions, 0 deletions
diff --git a/Dh_Haskell.sh b/Dh_Haskell.sh
index f15dc48..74d95ca 100644
--- a/Dh_Haskell.sh
+++ b/Dh_Haskell.sh
@@ -68,6 +68,18 @@ providing_package_for_ghc6_prof(){
echo $package
}
+cabal_package_ids(){
+ local config
+ local package_ids
+ until [ -z "$1" ]
+ do
+ config=$1
+ package_ids="$package_ids `grep-dctrl -n -i -s Id "" $config`"
+ shift
+ done
+ echo $package_ids
+}
+
cabal_depends(){
local config
local dep
@@ -111,6 +123,32 @@ depends_for_ghc6_prof(){
dependencies $packages
}
+provides_for_ghc6(){
+ local dep
+ local packages
+ for package_id in `cabal_package_ids $@` ; do
+ packages=", $packages `package_id_to_virtual_package dev $package_id`"
+ done
+ echo $packages | sed -e 's/^,[ ]*//'
+}
+
+provides_for_ghc6_prof(){
+ local dep
+ local packages
+ for package_id in `cabal_package_ids $@` ; do
+ packages=", $packages `package_id_to_virtual_package prof $package_id`"
+ done
+ echo $packages | sed -e 's/^,[ ]*//'
+}
+
+package_id_to_virtual_package(){
+ local type
+ local id
+ type="$1"
+ echo $2 | tr A-Z a-z | \
+ perl -pe 's/([a-z0-9]+)-([0-9\.]+)-(.....).........................../libghc6-\1-'$type'-\2-\3/'
+}
+
depends_for_hugs(){
local version
local upstream_version