From 09cda294dd6839efb233c81fd45977aafa8a0824 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 19 Aug 2016 17:55:14 -0400 Subject: add man page This seems to install, but stack is not copying it out to the home directory. Hmm. --- Setup.hs | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'Setup.hs') diff --git a/Setup.hs b/Setup.hs index 9a994af..d26c7ed 100644 --- a/Setup.hs +++ b/Setup.hs @@ -1,2 +1,30 @@ +{-# OPTIONS_GHC -fno-warn-tabs #-} + import Distribution.Simple -main = defaultMain +import Distribution.Simple.LocalBuildInfo +import Distribution.Simple.Setup +import Distribution.Simple.Utils (installOrdinaryFiles, rawSystemExit) +import Distribution.PackageDescription (PackageDescription(..)) +import Distribution.Verbosity (Verbosity) +import System.Info +import System.FilePath + +main :: IO () +main = defaultMainWithHooks simpleUserHooks + { postCopy = myPostCopy + } + +myPostCopy :: Args -> CopyFlags -> PackageDescription -> LocalBuildInfo -> IO () +myPostCopy _ flags pkg lbi = if System.Info.os /= "mingw32" + then installManpages dest verbosity pkg lbi + else return () + where + dest = fromFlag $ copyDest flags + verbosity = fromFlag $ copyVerbosity flags + +{- See http://www.haskell.org/haskellwiki/Cabal/Developer-FAQ#Installing_manpages -} +installManpages :: CopyDest -> Verbosity -> PackageDescription -> LocalBuildInfo -> IO () +installManpages copyDest verbosity pkg lbi = + installOrdinaryFiles verbosity dstManDir [(".", "keysafe.1")] + where + dstManDir = mandir (absoluteInstallDirs pkg lbi copyDest) "man1" -- cgit v1.2.3