name: packunused version: 0.1.1.4 synopsis: Tool for detecting redundant Cabal package dependencies homepage: https://github.com/hvr/packunused bug-reports: https://github.com/hvr/packunused/issues license: BSD3 license-file: LICENSE author: Herbert Valerio Riedel maintainer: Herbert Valerio Riedel copyright: © 2014 Herbert Valerio Riedel category: Distribution build-type: Simple cabal-version: >=1.10 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 > extra-source-files: changelog.md source-repository head type: git location: https://github.com/hvr/packunused.git executable packunused main-is: packunused.hs default-language: Haskell2010 other-extensions: CPP, RecordWildCards ghc-options: -Wall -fwarn-tabs -fno-warn-unused-do-bind build-depends: base >=4.5 && <4.9, Cabal >=1.14 && <1.23, optparse-applicative >=0.8 && <0.12, directory >=1.1 && <1.3, filepath ==1.3.*, haskell-src-exts >=1.13 && <1.17, split ==0.2.*