summaryrefslogtreecommitdiff
path: root/devel/hs-git-annex/files/patch-Build__DesktopFile.hs
blob: 5a5352bc2d4a5c9411340af667172c336129122b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
--- ./Build/DesktopFile.hs.orig	2014-07-09 22:09:05.000000000 +0200
+++ ./Build/DesktopFile.hs	2014-07-13 01:40:51.000000000 +0200
@@ -25,6 +25,7 @@
 #ifndef mingw32_HOST_OS
 import System.Posix.User
 #endif
+import System.FilePath.Posix
 import Data.Maybe
 
 systemwideInstall :: IO Bool
@@ -48,12 +49,17 @@
 writeFDODesktop command = do
 	systemwide <- systemwideInstall
 
-	datadir <- if systemwide then return systemDataDir else userDataDir
+	prefix <- catchMaybeIO (getEnv "PREFIX")
+	let (sddir,scdir) = case prefix of
+				Just p  -> (p </> "share", p </> "etc/xdg")
+				Nothing -> (systemDataDir, systemConfigDir)
+
+	datadir <- if systemwide then return sddir else userDataDir
 	menufile <- inDestDir (desktopMenuFilePath "git-annex" datadir)
 	icondir <- inDestDir (iconDir datadir)
 	installMenu command menufile "doc" icondir
 
-	configdir <- if systemwide then return systemConfigDir else userConfigDir
+	configdir <- if systemwide then return scdir else userConfigDir
 	installAutoStart command 
 		=<< inDestDir (autoStartPath "git-annex" configdir)