@@ -20,41 +20,17 @@ import Distribution.Simple
2020import Distribution.Simple.PreProcess
2121import Distribution.Simple.Setup (ConfigFlags(..), CopyFlags(..), fromFlag)
2222import Distribution.PackageDescription (PackageDescription(..), FlagName(..))
23−import Distribution.Simple.Utils ( rawSystemExitCode, findProgramVersion )
2423import System.Exit
25−import Distribution.Simple.Utils (info, notice, installOrdinaryFiles)
24+import Distribution.Simple.Utils (notice, installOrdinaryFiles)
2625import Distribution.Simple.Program (simpleProgram, Program(..))
2726import Distribution.Simple.LocalBuildInfo
2827import Control.Monad (when)
2928
3029main :: IO ()
3130main = defaultMainWithHooks $ simpleUserHooks {
32− -- enable hsb2hs preprocessor for .hsb files
33− hookedPreProcessors = [ppBlobSuffixHandler]
34− , hookedPrograms = [(simpleProgram "hsb2hs"){
35− programFindVersion = \verbosity fp ->
36− findProgramVersion "--version" id verbosity fp }]
37− , postCopy = installManPage
31+ postCopy = installManPage
3832 }
3933
40−ppBlobSuffixHandler :: PPSuffixHandler
41−ppBlobSuffixHandler = ("hsb", \_ lbi ->
42− PreProcessor {
43− platformIndependent = True,
44− runPreProcessor = mkSimplePreProcessor $ \infile outfile verbosity ->
45− do let embedData = case lookup (FlagName "embed_data_files")
46− (configConfigurationsFlags (configFlags lbi)) of
47− Just True -> True
48− _ -> False
49− when embedData $
50− do info verbosity $ "Preprocessing " ++ infile ++ " to " ++ outfile
51− ec <- rawSystemExitCode verbosity "hsb2hs"
52− [infile, infile, outfile]
53− case ec of
54− ExitSuccess -> return ()
55− ExitFailure _ -> error "hsb2hs is needed to build this program"
56− })
57−
5834installManPage :: Args -> CopyFlags
5935 -> PackageDescription -> LocalBuildInfo -> IO ()
6036installManPage _ flags pkg lbi = do