From b25c3dd1f0698a51e6e212c1abec0c3832e1dd04 Mon Sep 17 00:00:00 2001 From: Andrea Rossato Date: Thu, 27 Sep 2007 19:31:51 +0200 Subject: Setup: waiting for Cabal-1.2 :) darcs-hash:20070927173151-d6583-d694a351d4babb3420889593a3f3357acfe3e0bc.gz --- Setup.lhs | 78 +-------------------------------------------------------------- 1 file changed, 1 insertion(+), 77 deletions(-) diff --git a/Setup.lhs b/Setup.lhs index d7acc7f..f2e38dd 100755 --- a/Setup.lhs +++ b/Setup.lhs @@ -1,80 +1,4 @@ #!/usr/bin/env runhaskell > import Distribution.Simple -> import Distribution.PackageDescription -> import Distribution.Setup -> import Distribution.Simple.Utils -> import Distribution.Simple.LocalBuildInfo -> import Distribution.Program -> import Distribution.PreProcess - -> import System.FilePath.Posix -> import System.Directory -> import Data.List - - -> main = defaultMainWithHooks defaultUserHooks {haddockHook = xmonadHaddock} - -> -- a different implementation of haddock hook from -> -- from Distribution.Simple: will use synopsis and description for -> -- building executables' documentation. - -> xmonadHaddock pkg_descr lbi hooks (HaddockFlags hoogle verbose) = do -> confHaddock <- do let programConf = withPrograms lbi -> haddockName = programName haddockProgram -> mHaddock <- lookupProgram haddockName programConf -> maybe (die "haddock command not found") return mHaddock - -> let tmpDir = (buildDir lbi) "tmp" -> createDirectoryIfMissing True tmpDir -> createDirectoryIfMissing True haddockPref -> preprocessSources pkg_descr lbi verbose (allSuffixHandlers hooks) -> setupMessage "Running Haddock for" pkg_descr - -> let outputFlag = if hoogle then "--hoogle" else "--html" -> showPkg = showPackageId (package pkg_descr) -> showDepPkgs = map showPackageId (packageDeps lbi) - -> withExe pkg_descr $ \exe -> do -> let bi = buildInfo exe -> inFiles <- getModulePaths bi (otherModules bi) -> srcMainPath <- findFile (hsSourceDirs bi) (modulePath exe) - -> let prologName = showPkg ++ "-haddock-prolog.txt" -> writeFile prologName (description pkg_descr ++ "\n") - -> let exeTargetDir = haddockPref exeName exe -> outFiles = srcMainPath : inFiles -> haddockFile = exeTargetDir (haddockName pkg_descr) - -> createDirectoryIfMissing True exeTargetDir -> rawSystemProgram verbose confHaddock -> ([outputFlag, -> "--odir=" ++ exeTargetDir, -> "--title=" ++ showPkg ++ ": " ++ synopsis pkg_descr, -> "--package=" ++ showPkg, -> "--dump-interface=" ++ haddockFile, -> "--prologue=" ++ prologName -> ] -> ++ map ("--use-package=" ++) showDepPkgs -> ++ programArgs confHaddock -> ++ (if verbose > 4 then ["--verbose"] else []) -> ++ outFiles -> ) -> removeFile prologName - -> getModulePaths :: BuildInfo -> [String] -> IO [FilePath] -> getModulePaths bi = -> fmap concat . -> mapM (flip (moduleToFilePath (hsSourceDirs bi)) ["hs", "lhs"]) - - -> allSuffixHandlers :: Maybe UserHooks -> -> [PPSuffixHandler] -> allSuffixHandlers hooks -> = maybe knownSuffixHandlers -> (\h -> overridesPP (hookedPreProcessors h) knownSuffixHandlers) -> hooks -> where -> overridesPP :: [PPSuffixHandler] -> [PPSuffixHandler] -> [PPSuffixHandler] -> overridesPP = unionBy (\x y -> fst x == fst y) +> main = defaultMainWithHooks defaultUserHooks -- cgit v1.2.3