packages feed

keera-posture-0.1.3: Setup.hs

#!/usr/bin/env runhaskell
{-# LANGUAGE BangPatterns #-}

import Distribution.Simple
import Distribution.Simple.Setup
import Distribution.Simple.PreProcess
import Distribution.Simple.Program
import Distribution.Simple.Utils
import Distribution.PackageDescription
import Distribution.Simple.LocalBuildInfo
import Data.Char
import System.Exit
import System.IO
import System.Directory
import System.FilePath.Windows

main = let hooks = simpleUserHooks 
       in defaultMainWithHooks hooks { confHook  = hailsConfigure
                                     , cleanHook = hailsClean
                                     }

-- This is a non-portable version of hails. It generates the
-- files inside the src dir.
hailsConfigure :: (GenericPackageDescription, HookedBuildInfo) -> ConfigFlags -> IO LocalBuildInfo
hailsConfigure (gpd, info) flags = do
  runProgramInvocation verbosity $ simpleProgramInvocation "hails" ["--init", "--output-dir=src"]
  (confHook simpleUserHooks) (gpd, info) flags 
 where verbosity = fromFlag $ configVerbosity flags

hailsClean :: PackageDescription -> () -> UserHooks -> CleanFlags -> IO ()
hailsClean pd () hooks flags = do
  runProgramInvocation verbosity $ simpleProgramInvocation "hails" ["--clean", "--output-dir=src"]
  (cleanHook simpleUserHooks) pd () hooks flags
 where verbosity = fromFlag $ cleanVerbosity flags