diff options
author | Joey Hess <joey@kitenet.net> | 2014-07-16 17:34:59 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2014-07-16 18:00:07 -0400 |
commit | 381c0db727352d1ed85607062ee43b6a02d6c756 (patch) | |
tree | 288e58cdc70f439aea17be1473c0cfb07ea684b8 /Build | |
parent | f6b9e3d725519b094cb2b988e6fc0910b65cc7ff (diff) |
Windows: Move .vbs files out of git\bin
.. To avoid that being in the PATH, which caused some weird breakage.
(Thanks, divB)
Diffstat (limited to 'Build')
-rw-r--r-- | Build/NullSoftInstaller.hs | 37 |
1 files changed, 21 insertions, 16 deletions
diff --git a/Build/NullSoftInstaller.hs b/Build/NullSoftInstaller.hs index 1dcc26cf6..b50f64db3 100644 --- a/Build/NullSoftInstaller.hs +++ b/Build/NullSoftInstaller.hs @@ -37,16 +37,15 @@ main = do mustSucceed "ln" [File "dist/build/git-annex/git-annex.exe", File gitannex]
let license = tmpdir </> licensefile
mustSucceed "sh" [Param "-c", Param $ "zcat standalone/licences.gz > '" ++ license ++ "'"]
- extrafiles <- forM (cygwinPrograms ++ cygwinDlls) $ \f -> do
+ extrabins <- forM (cygwinPrograms ++ cygwinDlls) $ \f -> do
p <- searchPath f
when (isNothing p) $
print ("unable to find in PATH", f)
return p
- let webappscript = tmpdir </> "git-annex-webapp.vbs"
webappscript <- vbsLauncher tmpdir "git-annex-webapp" "git-annex webapp"
autostartscript <- vbsLauncher tmpdir "git-annex-autostart" "git annex assistant --autostart"
- writeFile nsifile $ makeInstaller gitannex license $
- catMaybes extrafiles ++
+ writeFile nsifile $ makeInstaller gitannex license
+ (catMaybes extrabins)
[ webappscript, autostartscript ]
mustSucceed "makensis" [File nsifile]
removeFile nsifile -- left behind if makensis fails
@@ -82,7 +81,7 @@ uninstaller :: FilePath uninstaller = "git-annex-uninstall.exe"
gitInstallDir :: Exp FilePath
-gitInstallDir = fromString "$PROGRAMFILES\\Git\\bin"
+gitInstallDir = fromString "$PROGRAMFILES\\Git"
startMenuItem :: Exp FilePath
startMenuItem = "$SMPROGRAMS/git-annex.lnk"
@@ -99,8 +98,8 @@ needGit = strConcat , fromString "You can install git from http:////git-scm.com//"
]
-makeInstaller :: FilePath -> FilePath -> [FilePath] -> String
-makeInstaller gitannex license extrafiles = nsis $ do
+makeInstaller :: FilePath -> FilePath -> [FilePath] -> [FilePath] -> String
+makeInstaller gitannex license extrabins launchers = nsis $ do
name "git-annex"
outFile $ str installer
{- Installing into the same directory as git avoids needing to modify
@@ -122,7 +121,7 @@ makeInstaller gitannex license extrafiles = nsis $ do [ Target "wscript.exe"
, Parameters "\"$INSTDIR/git-annex-webapp.vbs\""
, StartOptions "SW_SHOWNORMAL"
- , IconFile "$INSTDIR/git-annex.exe"
+ , IconFile "$INSTDIR/bin/git-annex.exe"
, IconIndex 2
, KeyboardShortcut "ALT|CONTROL|a"
, Description "git-annex webapp"
@@ -131,27 +130,33 @@ makeInstaller gitannex license extrafiles = nsis $ do [ Target "wscript.exe"
, Parameters "\"$INSTDIR/git-annex-autostart.vbs\""
, StartOptions "SW_SHOWNORMAL"
- , IconFile "$INSTDIR/git-annex.exe"
+ , IconFile "$INSTDIR/bin/git-annex.exe"
, IconIndex 2
, Description "git-annex autostart"
]
-- Groups of files to install
- section "main" [] $ do
- setOutPath "$INSTDIR"
+ section "bins" [] $ do
+ setOutPath "$INSTDIR\\bin"
addfile gitannex
+ mapM_ addfile extrabins
+ section "meta" [] $ do
+ setOutPath "$INSTDIR"
addfile license
- mapM_ addfile extrafiles
+ mapM_ addfile launchers
writeUninstaller $ str uninstaller
uninstall $ do
delete [RebootOK] $ startMenuItem
delete [RebootOK] $ autoStartItem
- mapM_ (\f -> delete [RebootOK] $ fromString $ "$INSTDIR/" ++ f) $
- [ gitannexprogram
- , licensefile
+ removefilesFrom "$INSTDIR" $
+ [ license
, uninstaller
- ] ++ cygwinPrograms ++ cygwinDlls ++ extrafiles
+ ] ++ launchers
+ removefilesFrom "$INSTDIR/bin" $
+ [ gitannex
+ ] ++ extrabins
where
addfile f = file [] (str f)
+ removefilesFrom d = mapM_ (\f -> delete [RebootOK] $ fromString $ d ++ "/" ++ takeFileName f)
cygwinPrograms :: [FilePath]
cygwinPrograms = map (\p -> p ++ ".exe") bundledPrograms
|