[Haskell-cafe] [ANN] cabal-clean (new tool)

amindfv at mailbox.org amindfv at mailbox.org
Fri Sep 24 17:53:31 UTC 2021


This seems like a useful tool, but the naming might be confusing: "cabal-install" generally means "cabal install" but "cabal-clean" and "cabal clean" have similar goals but behave differently.

Tom

On Fri, Sep 24, 2021 at 07:09:49PM +0200, Andreas Abel wrote:
> === Wondering where your disk space goes with too many Haskell projects
> compiled with too many GHC versions? ===
> 
>   https://hackage.haskell.org/package/cabal-clean
>   https://github.com/andreasabel/cabal-clean
> 
> `cabal-clean` is a small executable that removes outdated cabal build
> artifacts from `dist-newstyle`.
> 
> A build tree is considered outdated if there is one with either
> 
>   - a newer version of the package you are building, or
>   - a newer minor version of the GHC compiler.
> 
> In contrast to `cabal clean`, the tool `cabal-clean` retains the latest
> build trees for each GHC major version.  Thus, it is geared towards
> multi-GHC development.
> 
> Example: (self-applied to cabal-clean's build directory)
> 
>     ---	3.7M	ghc-8.8.4 /cabal-clean-0.1.20210815
>     ---	3.5M	ghc-8.10.6/cabal-clean-0.1.20210815
>     ---	3.7M	ghc-9.0.1 /cabal-clean-0.1.20210815
>     ---	3.5M	ghc-8.10.6/cabal-clean-0.1.20210924
>     +++	3.6M	ghc-8.10.7/cabal-clean-0.1.20210924
>     +++	3.7M	ghc-9.0.1 /cabal-clean-0.1.20210924
> 
> The directories prefixed with --- will be deleted, the ones with +++
> retained.
> 
> Disclaimers:
> 
>   1. cabal-clean does not check whether deletion will cause dangling
> references like broken symlinks etc.  (Could happen if you created a symlink
> to an executable that resides in one of the deleted build directories.)
> 
>   2. cabal-clean does not read nor utilize information from the .cabal file.
> 
>   3. Calls `du` ("disk usage"), so, might not work on Windows.
> 
> Enjoy,
> Andreas
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.


More information about the Haskell-Cafe mailing list