Skip to content

Commit 096aa9a

Browse files
committed
Cache everything, even source packages
1 parent 4a7fdf6 commit 096aa9a

File tree

2 files changed

+16
-11
lines changed

2 files changed

+16
-11
lines changed

main/mafia.hs

+7-7
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ data MafiaCommand =
9191
| MafiaWatch [Flag] [GhciInclude] File [Argument]
9292
| MafiaHoogle [Argument]
9393
| MafiaInstall [Constraint] InstallPackage
94-
| MafiaExport Profiling [Flag] Directory
94+
| MafiaExport [Flag] Directory
9595
| MafiaImport Directory
9696
| MafiaScript Path [Argument]
9797
| MafiaExec [Argument]
@@ -151,8 +151,8 @@ run = \case
151151
mafiaHoogle args
152152
MafiaInstall constraints ipkg ->
153153
mafiaInstall ipkg constraints
154-
MafiaExport p flags dir ->
155-
mafiaExport p flags dir
154+
MafiaExport flags dir ->
155+
mafiaExport flags dir
156156
MafiaImport dir ->
157157
mafiaImport dir
158158
MafiaScript path args ->
@@ -234,7 +234,7 @@ commands =
234234
(MafiaInstall <$> many pConstraint <*> pInstallPackage)
235235

236236
, command' "export" "Export binary substitutes of the current package's dependencies."
237-
(MafiaExport <$> pProfiling <*> many pFlag <*> pExportDirectory)
237+
(MafiaExport <$> many pFlag <*> pExportDirectory)
238238

239239
, command' "import" "Import binary substitutes from a directory."
240240
(MafiaImport <$> pImportDirectory)
@@ -554,9 +554,9 @@ mafiaInstall :: InstallPackage -> [Constraint] -> EitherT MafiaError IO ()
554554
mafiaInstall ipkg constraints = do
555555
liftIO . T.putStrLn =<< firstT MafiaBinError (installBinary ipkg constraints)
556556

557-
mafiaExport :: Profiling -> [Flag] -> Directory -> EitherT MafiaError IO ()
558-
mafiaExport p flags dir = do
559-
initMafia LatestSources p flags
557+
mafiaExport :: [Flag] -> Directory -> EitherT MafiaError IO ()
558+
mafiaExport flags dir = do
559+
initMafia LatestSources DisableProfiling flags
560560
mkeys <- firstT MafiaInitError readPackageKeys
561561
case mkeys of
562562
Nothing ->

src/Mafia/Init.hs

+9-4
Original file line numberDiff line numberDiff line change
@@ -142,15 +142,20 @@ initialize dfilter mprofiling mflags = do
142142
installed <- firstT InitInstallError $ installDependencies flavours flags sdeps constraints
143143

144144
let
145+
allPkgs =
146+
Set.toList installed
147+
145148
-- Note that we filter out source packages. Storing their version in the
146149
-- constraints file is redundant, as the accessible source code is the only
147150
-- version of that package which is ever available for installation.
148151
hackagePkgs =
149-
filter (isNothing . refSrcPkg . pkgRef) $
150-
Set.toList installed
152+
filter (isNothing . refSrcPkg . pkgRef) allPkgs
153+
154+
writePackageKeys $
155+
fmap pkgKey allPkgs
151156

152-
writeInstallConstraints $ concatMap (packageRefConstraints . pkgRef) hackagePkgs
153-
writePackageKeys $ fmap pkgKey hackagePkgs
157+
writeInstallConstraints $
158+
concatMap (packageRefConstraints . pkgRef) hackagePkgs
154159

155160
let needConfigure = needInstall || not hasSetupConfig
156161

0 commit comments

Comments
 (0)