Ticket #889 (new enhancement)

Opened 21 months ago

Last modified 16 months ago

Add option to list recursive dependencies of a package along with their licenses

Reported by: joeyadams Owned by:
Priority: normal Milestone: cabal-install-0.16
Component: cabal-install tool Version: HEAD
Severity: normal Keywords:
Cc: Difficulty: unknown
GHC Version: Platform:

Description

It should be possible to list all of the dependencies of a package, including their licenses. This would be useful for:

  • Developers writing proprietary applications.
  • Developers who don't want their liberally-licensed libraries to be "upgraded" to the GPL or similar by subtle dependencies.

Attached is a simple patch that makes cabal-install list this information when the verbosity level is 2 or higher. Sample usage:

$ cabal install --verbose=2 --dry-run gnutls
Reading available packages...
Resolving dependencies...
base         BSD3
bytestring   BSD3
ffi          BSD3
ghc-prim     BSD3
gnutls       GPL (Just (Version {versionBranch = [3], versionTags = []}))
integer-gmp  BSD3
monads-tf    BSD3
rts          BSD3
transformers BSD3
In order, the following would be installed:
monads-tf-0.1.0.0 (new package)
gnutls-0.1 (new package)

This is a quick hack, as I am not familiar with the Cabal codebase. This should probably be wrapped as a --list-licenses command line switch. Pretty-printing licenses would be a plus.

I am already finding this feature useful, and hope others will too.

Attachments

Change History

Changed 16 months ago by kosmikus

  • milestone set to cabal-install-0.16

Changed 16 months ago by kosmikus

Vaguely related to #539. (Both are about getting more info about the overall dependency graph, but admittedly in quite different ways.)

Note: See TracTickets for help on using tickets.