Skip to content
Snippets Groups Projects
Commit 3c0e6480 authored by Edward Z. Yang's avatar Edward Z. Yang Committed by tibbe
Browse files

Version test whether or not to use single-file package database, helps #2320 some more.


Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
(cherry picked from commit 61fdb06c)
parent 46af8766
No related branches found
No related tags found
No related merge requests found
...@@ -450,15 +450,17 @@ createInternalPackageDB verbosity lbi distPref = do ...@@ -450,15 +450,17 @@ createInternalPackageDB verbosity lbi distPref = do
LHC -> createWith $ LHC.hcPkgInfo (withPrograms lbi) LHC -> createWith $ LHC.hcPkgInfo (withPrograms lbi)
_ -> return packageDB _ -> return packageDB
where where
dbDir = distPref </> "package.conf.inplace" dbPath = distPref </> "package.conf.inplace"
packageDB = SpecificPackageDB dbDir packageDB = SpecificPackageDB dbPath
createWith hpi = do createWith hpi = do
dir_exists <- doesDirectoryExist dbDir dir_exists <- doesDirectoryExist dbPath
if dir_exists if dir_exists
then removeDirectoryRecursive dbDir then removeDirectoryRecursive dbPath
else do file_exists <- doesFileExist dbDir else do file_exists <- doesFileExist dbPath
when file_exists $ removeFile dbDir when file_exists $ removeFile dbPath
HcPkg.init hpi verbosity dbDir if HcPkg.useSingleFileDb hpi
then writeFile dbPath "[]"
else HcPkg.init hpi verbosity dbPath
return packageDB return packageDB
addInternalBuildTools :: PackageDescription -> LocalBuildInfo -> BuildInfo addInternalBuildTools :: PackageDescription -> LocalBuildInfo -> BuildInfo
......
...@@ -1039,6 +1039,7 @@ hcPkgInfo conf = HcPkg.HcPkgInfo { HcPkg.hcPkgProgram = ghcPkgProg ...@@ -1039,6 +1039,7 @@ hcPkgInfo conf = HcPkg.HcPkgInfo { HcPkg.hcPkgProgram = ghcPkgProg
, HcPkg.noPkgDbStack = v < [6,9] , HcPkg.noPkgDbStack = v < [6,9]
, HcPkg.noVerboseFlag = v < [6,11] , HcPkg.noVerboseFlag = v < [6,11]
, HcPkg.flagPackageConf = v < [7,5] , HcPkg.flagPackageConf = v < [7,5]
, HcPkg.useSingleFileDb = v < [7,9]
} }
where where
v = versionBranch ver v = versionBranch ver
......
...@@ -879,9 +879,12 @@ hcPkgInfo conf = HcPkg.HcPkgInfo { HcPkg.hcPkgProgram = ghcjsPkgProg ...@@ -879,9 +879,12 @@ hcPkgInfo conf = HcPkg.HcPkgInfo { HcPkg.hcPkgProgram = ghcjsPkgProg
, HcPkg.noPkgDbStack = False , HcPkg.noPkgDbStack = False
, HcPkg.noVerboseFlag = False , HcPkg.noVerboseFlag = False
, HcPkg.flagPackageConf = False , HcPkg.flagPackageConf = False
, HcPkg.useSingleFileDb = v < [7,9]
} }
where where
v = versionBranch ver
Just ghcjsPkgProg = lookupProgram ghcjsPkgProgram conf Just ghcjsPkgProg = lookupProgram ghcjsPkgProgram conf
Just ver = programVersion ghcjsPkgProg
-- | Get the JavaScript file name and command and arguments to run a -- | Get the JavaScript file name and command and arguments to run a
-- program compiled by GHCJS -- program compiled by GHCJS
......
...@@ -794,6 +794,7 @@ hcPkgInfo conf = HcPkg.HcPkgInfo { HcPkg.hcPkgProgram = lhcPkgProg ...@@ -794,6 +794,7 @@ hcPkgInfo conf = HcPkg.HcPkgInfo { HcPkg.hcPkgProgram = lhcPkgProg
, HcPkg.noPkgDbStack = False , HcPkg.noPkgDbStack = False
, HcPkg.noVerboseFlag = False , HcPkg.noVerboseFlag = False
, HcPkg.flagPackageConf = False , HcPkg.flagPackageConf = False
, HcPkg.useSingleFileDb = True
} }
where where
Just lhcPkgProg = lookupProgram lhcPkgProgram conf Just lhcPkgProg = lookupProgram lhcPkgProgram conf
...@@ -73,6 +73,7 @@ data HcPkgInfo = HcPkgInfo ...@@ -73,6 +73,7 @@ data HcPkgInfo = HcPkgInfo
, noPkgDbStack :: Bool -- ^ no package DB stack supported , noPkgDbStack :: Bool -- ^ no package DB stack supported
, noVerboseFlag :: Bool -- ^ hc-pkg does not support verbosity flags , noVerboseFlag :: Bool -- ^ hc-pkg does not support verbosity flags
, flagPackageConf :: Bool -- ^ use package-conf option instead of package-db , flagPackageConf :: Bool -- ^ use package-conf option instead of package-db
, useSingleFileDb :: Bool -- ^ requires single file package database
} }
-- | Call @hc-pkg@ to initialise a package database at the location {path}. -- | Call @hc-pkg@ to initialise a package database at the location {path}.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment