aboutsummaryrefslogtreecommitdiff
path: root/Setup.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Setup.hs')
-rw-r--r--Setup.hs50
1 files changed, 4 insertions, 46 deletions
diff --git a/Setup.hs b/Setup.hs
index 3f282e0aa..faca87cd2 100644
--- a/Setup.hs
+++ b/Setup.hs
@@ -14,15 +14,13 @@ import qualified Build.Configure as Configure
main = defaultMainWithHooks simpleUserHooks
{ preConf = configure
, postInst = myPostInst
- , postCopy = myPostCopy
}
configure _ _ = do
Configure.run Configure.tests
return (Nothing, [])
-myPostInst :: Args -> InstallFlags -> PackageDescription
- -> LocalBuildInfo -> IO ()
+myPostInst :: Args -> InstallFlags -> PackageDescription -> LocalBuildInfo -> IO ()
myPostInst _ (InstallFlags { installVerbosity }) pkg lbi = do
installGitAnnexShell dest verbosity pkg lbi
installManpages dest verbosity pkg lbi
@@ -30,27 +28,7 @@ myPostInst _ (InstallFlags { installVerbosity }) pkg lbi = do
dest = NoCopyDest
verbosity = fromFlag installVerbosity
--- ???: Not sure how you're supposed to use this. E.g., when I do
---
--- cabal install --prefix=/tmp/git-annex-install
--- cabal copy --deistdir=/tmp/git-annex-copy
---
--- I get the copy under
---
--- /tmp/git-annex-copy/tmp/git-annex-install
---
--- Also, `cabal install` fails when given a relative --prefix.
-myPostCopy :: Args -> CopyFlags -> PackageDescription
- -> LocalBuildInfo -> IO ()
-myPostCopy _ (CopyFlags { copyDest, copyVerbosity }) pkg lbi = do
- installGitAnnexShell dest verbosity pkg lbi
- installManpages dest verbosity pkg lbi
- where
- dest = fromFlag copyDest
- verbosity = fromFlag copyVerbosity
-
-installGitAnnexShell :: CopyDest -> Verbosity -> PackageDescription
- -> LocalBuildInfo -> IO ()
+installGitAnnexShell :: CopyDest -> Verbosity -> PackageDescription -> LocalBuildInfo -> IO ()
installGitAnnexShell copyDest verbosity pkg lbi =
rawSystemExit verbosity "ln"
["-sf", "git-annex", dstBinDir </> "git-annex-shell"]
@@ -59,28 +37,8 @@ installGitAnnexShell copyDest verbosity pkg lbi =
-- See http://www.haskell.org/haskellwiki/Cabal/Developer-FAQ#Installing_manpages.
--
--- Based on pandoc's and lhs2tex's 'Setup.installManpages' and
--- 'postInst' hooks.
---
--- My understanding: 'postCopy' is run for `cabal copy`, 'postInst' is
--- run for `cabal inst`, and copy is not a generalized install, so you
--- have to write two nearly identical hooks.
---
--- Summary of hooks:
--- http://www.haskell.org/cabal/release/cabal-latest/doc/API/Cabal/Distribution-Simple-UserHooks.htm--
--- Other people are also confused:
---
--- * Bug: 'postCopy' and 'postInst' are confusing:
--- http://hackage.haskell.org/trac/hackage/ticket/718
---
--- * A cabal maintainer suggests using 'postCopy' instead of
--- 'postInst', because `cabal install` is `cabal copy` followed by
--- `cabal register`:
--- http://www.haskell.org/pipermail/libraries/2008-March/009416.html
--- Although that sounds desirable, it's not true, as the reply and
--- experiments indicate.
-installManpages :: CopyDest -> Verbosity -> PackageDescription
- -> LocalBuildInfo -> IO ()
+-- Based on pandoc's Setup.hs.
+installManpages :: CopyDest -> Verbosity -> PackageDescription -> LocalBuildInfo -> IO ()
installManpages copyDest verbosity pkg lbi =
installOrdinaryFiles verbosity dstManDir srcManpages
where