packages feed

tar-0.1: Setup.lhs

> import Distribution.PackageDescription (PackageDescription(buildDepends))
> import Distribution.Setup (ConfigFlags)
> import Distribution.Simple (UserHooks(confHook),
>                             defaultMainWithHooks, defaultUserHooks, 
>                             Dependency(..), VersionRange(..))
> import Distribution.Simple.LocalBuildInfo (LocalBuildInfo)
> import qualified System.Info (os)

> main :: IO ()
> main = defaultMainWithHooks myHooks

> myHooks :: UserHooks
> myHooks = addOptionalUnixDependencyHook defaultUserHooks

> addOptionalUnixDependencyHook :: UserHooks -> UserHooks
> addOptionalUnixDependencyHook hooks = 
>    hooks { confHook = confHook hooks . addOptionalUnixDependency }

> addOptionalUnixDependency :: PackageDescription -> PackageDescription
> addOptionalUnixDependency desc = 
>   case System.Info.os of
>      "mingw32" -> desc
>      _         -> addDependency (Dependency "unix" AnyVersion) desc

> addDependency :: Dependency -> PackageDescription -> PackageDescription
> addDependency dep desc = desc { buildDepends = dep : buildDepends desc}