summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2012-08-01 21:04:25 -0400
committerGravatar Joey Hess <joey@kitenet.net>2012-08-01 21:05:27 -0400
commite78b13c42807f598d9dd7e449a5980c26f731f72 (patch)
treeb832bea706a7ffaa1f98214797c17dcce1f0825e
parented07546288733a13129a866ce70ea2f94d6259cb (diff)
hook desktop menu file installation into makefile and cabal
-rw-r--r--Build/InstallDesktopFile.hs (renamed from Build/Desktop.hs)7
-rw-r--r--Makefile1
-rw-r--r--Setup.hs8
3 files changed, 15 insertions, 1 deletions
diff --git a/Build/Desktop.hs b/Build/InstallDesktopFile.hs
index b35b0c010..b4a56a2cb 100644
--- a/Build/Desktop.hs
+++ b/Build/InstallDesktopFile.hs
@@ -5,7 +5,7 @@
- Licensed under the GNU GPL version 3 or higher.
-}
-module Build.Desktop where
+module Build.InstallDesktopFile where
import Utility.Exception
import Utility.FreeDesktop
@@ -32,3 +32,8 @@ writeDesktop d = do
then userDesktopMenuFilePath "git-annex"
else return $ systemDesktopMenuFilePath "git-annex"
writeDesktopMenuFile d dest
+
+main = getArgs >>= go
+ where
+ go [] = error "specify git-annex command"
+ go (command:_) = writeDesktop $ desktop command
diff --git a/Makefile b/Makefile
index 8eef53f30..bd8aa4f3f 100644
--- a/Makefile
+++ b/Makefile
@@ -86,6 +86,7 @@ install: all install-docs
install -d $(DESTDIR)$(PREFIX)/bin
install $(bins) $(DESTDIR)$(PREFIX)/bin
ln -sf git-annex $(DESTDIR)$(PREFIX)/bin/git-annex-shell
+ runghc Build/InstallDesktopFile.hs $(PREFIX)/bin/git-annex || true
test: $(sources) $(clibs)
@if ! $(GHCMAKE) -O0 test $(clibs); then \
diff --git a/Setup.hs b/Setup.hs
index 80d23cc87..4451e8645 100644
--- a/Setup.hs
+++ b/Setup.hs
@@ -10,6 +10,7 @@ import Distribution.PackageDescription (PackageDescription(..))
import Distribution.Verbosity (Verbosity)
import System.FilePath
+import qualified Build.InstallDesktopFile as InstallDesktopFile
import qualified Build.Configure as Configure
main = defaultMainWithHooks simpleUserHooks
@@ -25,6 +26,7 @@ myPostInst :: Args -> InstallFlags -> PackageDescription -> LocalBuildInfo -> IO
myPostInst _ (InstallFlags { installVerbosity }) pkg lbi = do
installGitAnnexShell dest verbosity pkg lbi
installManpages dest verbosity pkg lbi
+ installDesktopFile dest verbosity pkg lbi
where
dest = NoCopyDest
verbosity = fromFlag installVerbosity
@@ -47,3 +49,9 @@ installManpages copyDest verbosity pkg lbi =
srcManpages = zip (repeat srcManDir) manpages
srcManDir = ""
manpages = ["git-annex.1", "git-annex-shell.1"]
+
+installDesktopFile :: CopyDest -> Verbosity -> PackageDescription -> LocalBuildInfo -> IO ()
+installDesktopFile copyDest verbosity pkg lbi =
+ InstallDesktopFile.writeDesktop $ InstallDesktopFile.desktop $ dstBinDir </> "git-annex"
+ where
+ dstBinDir = bindir $ absoluteInstallDirs pkg lbi copyDest