@@ -85,9 +85,20 @@ unregisterPackage :: (ByteString -> IO ()) -- ^ log func
85unregisterPackage log' onUnregister docDir flags ident@(PackageIdentifier name _) = do
85unregisterPackage log' onUnregister docDir flags ident@(PackageIdentifier name _) = do
86 log' $ "Unregistering " ++ encodeUtf8 (display ident) ++ "\n"
86 log' $ "Unregistering " ++ encodeUtf8 (display ident) ++ "\n"
87 onUnregister ident
87 onUnregister ident
90+ sourceProcessWithConsumer
91+ (proc "ghc-pkg" ("describe" : flags ++ [unpack $ display ident]))
94+ $= CL.mapMaybe parseLibraryDir
95+ $= CL.mapM_ (void . tryIO . removeTree))
88 void (readProcessWithExitCode
97 void (readProcessWithExitCode
90 ("unregister": flags ++ ["--force", unpack $ display name])
99 ("unregister": flags ++ ["--force", unpack $ display name])
93 void $ tryIO $ removeTree $ docDir </> fpFromText (display ident)
102 void $ tryIO $ removeTree $ docDir </> fpFromText (display ident)
104+ parseLibraryDir = fmap fpFromText . stripPrefix "library-dirs: "