The latest version of packunused is 0.1.2-1.

packunused

Version 0.1.1.4 revision 1 uploaded by HerbertValerioRiedel.

Package meta

Synopsis
Tool for detecting redundant Cabal package dependencies
Description

This simple CLI tool allows to find out which of the packages listed as build-depends in a Cabal package description file are redundant.

packunused works by taking advantage of GHC's -ddump-minimal-imports feature which creates .import files for each compiled module containing a minimal set of explicit import declarations. These .import files together with Cabal's generated package configuration meta-data is analyzed by packunused to detect potentially redundant package dependencies.

In order to use packunused you have to configure the package as usual. See the example session below:

cabal clean
rm *.imports
cabal configure -O0 --disable-library-profiling
cabal build --ghc-option=-ddump-minimal-imports
packunused

The -O0 --disable-library-profiling options are just to speed up compilation. In some cases you might want to pass additional options to the configure step, such as --enable-benchmark or --enable-tests.

When run, packunused prints a report to standard output listing its findings for each component built. The following is an example for the packunused package itself, with a redundant dependency added for demonstration on purpose:

detected package components
~~~~~~~~~~~~~~~~~~~~~~~~~~~

 - executable(s): packunused

(component names suffixed with '*' are not configured to be built)

executable(packunused)
~~~~~~~~~~~~~~~~~~~~~~

The following package dependencies seem redundant:

 - criterion-0.6.2.0-9dd4d764629a47662168743b2dfda9bc
Author
Herbert Valerio Riedel
Bug reports
https://github.com/hvr/packunused/issues
Category
Distribution
Copyright
© 2014 Herbert Valerio Riedel
Homepage
https://github.com/hvr/packunused
Maintainer
Herbert Valerio Riedel <hvr@gnu.org>
Package URL
n/a
Stability
n/a

Components