aboutsummaryrefslogtreecommitdiff
path: root/Setup.hs
diff options
context:
space:
mode:
authorGravatar Nathan Collins <nathan.collins@gmail.com>2012-06-12 02:50:09 -0700
committerGravatar Nathan Collins <nathan.collins@gmail.com>2012-06-12 02:50:09 -0700
commit000bbba3c0fe0e2abbee9646428720edf765ae01 (patch)
tree249912df93feb123c9357f1e51cf6db3a37d5f4f /Setup.hs
parent2e0965eba9fa024f0df308d663fc584eb43c2726 (diff)
Clean up Setup.hs.
Remove post-copy hook 'myPostCopy': it's easy to write one based on 'myPostInst', so just wait until someone complains that it's missing. Remove most comments. Put long type sigs on one line like in the other source files.
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