mirror of
https://github.com/commercialhaskell/stackage.git
synced 2026-01-12 07:18:31 +01:00
Delete libraries when unregistering
Pinging @manny-fp
This commit is contained in:
parent
8f74bbee49
commit
eef9c14d24
@ -85,9 +85,20 @@ unregisterPackage :: (ByteString -> IO ()) -- ^ log func
|
||||
unregisterPackage log' onUnregister docDir flags ident@(PackageIdentifier name _) = do
|
||||
log' $ "Unregistering " ++ encodeUtf8 (display ident) ++ "\n"
|
||||
onUnregister ident
|
||||
|
||||
-- Delete libraries
|
||||
sourceProcessWithConsumer
|
||||
(proc "ghc-pkg" ("describe" : flags ++ [unpack $ display ident]))
|
||||
(CT.decodeUtf8
|
||||
$= CT.lines
|
||||
$= CL.mapMaybe parseLibraryDir
|
||||
$= CL.mapM_ (void . tryIO . removeTree))
|
||||
|
||||
void (readProcessWithExitCode
|
||||
"ghc-pkg"
|
||||
("unregister": flags ++ ["--force", unpack $ display name])
|
||||
"")
|
||||
|
||||
void $ tryIO $ removeTree $ docDir </> fpFromText (display ident)
|
||||
where
|
||||
parseLibraryDir = fmap fpFromText . stripPrefix "library-dirs: "
|
||||
|
||||
Loading…
Reference in New Issue
Block a user