-- | -- Module : Commands.Depends -- Copyright : (C) 2014 Jens Petersen -- -- Maintainer : Jens Petersen -- Stability : alpha -- -- Explanation: cabal wrapper which yum installs dependencies -- This program is free software: you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by -- the Free Software Foundation, either version 3 of the License, or -- (at your option) any later version. module Commands.Depends ( depends, Depends (..) ) where import Dependencies (dependencies, packageDependencies ) import PackageUtils (missingPackages, PackageData (..), packageName) import Data.List (sort) import Distribution.PackageDescription (PackageDescription (..)) data Depends = Depends | Requires | Missing depends :: PackageData -> Depends -> IO () depends pkgdata action = do let pkgDesc = packageDesc pkgdata pkg = package pkgDesc name = packageName pkg case action of Depends -> do (deps, tools, clibs, pkgcfgs, _) <- dependencies pkgDesc name let clibs' = map (\ lib -> "lib" ++ lib ++ ".so") clibs let pkgcfgs' = map (++ ".pc") pkgcfgs mapM_ putStrLn $ deps ++ tools ++ clibs' ++ pkgcfgs' Requires -> do (deps, tools, clibs, pkgcfgs, _) <- packageDependencies pkgDesc name mapM_ putStrLn $ sort $ deps ++ tools ++ clibs ++ pkgcfgs Missing -> do missing <- missingPackages pkgDesc name mapM_ putStrLn missing