@@ -31,6 +31,8 @@ main :: IO ()
3131main = defaultMainWithHooks $ simpleUserHooks {
3232 -- enable hsb2hs preprocessor for .hsb files
3333 hookedPreProcessors = [ppBlobSuffixHandler]
34+ , postBuild = \args bf pkgdescr lbi ->
35+ makeManPages args bf pkgdescr lbi
3436 }
3537
3638ppBlobSuffixHandler :: PPSuffixHandler
@@ -45,3 +47,18 @@ ppBlobSuffixHandler = ("hsb", \_ _ ->
4547 Nothing -> error "hsb2hs is needed to build this program: cabal install hsb2hs"
4648 return ()
4749 })
50+
51+makeManPages :: Args -> BuildFlags -> PackageDescription -> LocalBuildInfo
52+ -> IO ()
53+makeManPages _ bf _ LocalBuildInfo{buildDir=buildDir}
54+ = do info verbosity "Creating data/pandoc.1"
55+ rawSystemExit verbosity progPath args
56+ where verbosity = fromFlagOrDefault normal $ buildVerbosity bf
57+ progPath = buildDir </> "pandoc" </> "pandoc"
58+ args = ["README", "-t", "man", "-s",
59+ "--template", "man/pandoc.1.template",
60+ "--filter", "man/capitalizeHeaders.hs",
61+ "--filter", "man/removeNotes.hs",
62+ "--filter", "man/removeLinks.hs",
63+ "-o", "data/pandoc.1"]
64+