diff options
author | Joey Hess <joeyh@joeyh.name> | 2016-08-19 17:55:14 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2016-08-19 18:00:23 -0400 |
commit | 09cda294dd6839efb233c81fd45977aafa8a0824 (patch) | |
tree | d17ddbaa6b5caccbe877c6159d08718103c70f35 /Setup.hs | |
parent | e72ba4a71227f7dd052ade74fed440e200c9b27c (diff) | |
download | keysafe-09cda294dd6839efb233c81fd45977aafa8a0824.tar.gz |
add man page
This seems to install, but stack is not copying it out to the home
directory. Hmm.
Diffstat (limited to 'Setup.hs')
-rw-r--r-- | Setup.hs | 30 |
1 files changed, 29 insertions, 1 deletions
@@ -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" |