summaryrefslogtreecommitdiffhomepage
path: root/Setup.hs
diff options
context:
space:
mode:
authorJoey Hess <joeyh@joeyh.name>2016-08-19 17:55:14 -0400
committerJoey Hess <joeyh@joeyh.name>2016-08-19 18:00:23 -0400
commit09cda294dd6839efb233c81fd45977aafa8a0824 (patch)
treed17ddbaa6b5caccbe877c6159d08718103c70f35 /Setup.hs
parente72ba4a71227f7dd052ade74fed440e200c9b27c (diff)
downloadkeysafe-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.hs30
1 files changed, 29 insertions, 1 deletions
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"