Include experimental and wheezy in http://people.debian.org/~nomeata/hackagevsdebian...
[darcs-mirror-hpvt.git] / CabalDebianMap.hs
1 module CabalDebianMap (outputCabalDebianMap) where
2
3 import qualified Data.Map as M
4 import Data.Maybe
5 import Data.List
6 import Data.Function
7
8 import Types
9 import Utils
10
11
12 outputCabalDebianMap :: (Show k) =>  M.Map k (Maybe Version, Maybe Version, Maybe Version, Maybe Version, Maybe Version) ->  String
13 outputCabalDebianMap = unlines . mapMaybe toLine . M.toList
14   where toLine (pkg,(h,v1,v2,v3,v4)) =
15                 if null vs
16                 then Nothing
17                 else Just (show (show pkg, upstream (version dv), Just (url dv)))
18             where vs = catMaybes [v1,v2,v3,v4] 
19                   dv = maximumBy (compare `on` version) vs