required fields in Cabal

Simon Marlow simonmar at
Wed Feb 23 06:10:55 EST 2005

On 22 February 2005 13:17, Krasimir Angelov wrote:

> On Mon, 21 Feb 2005 17:56:08 -0800, Isaac Jones
> <ijones at> wrote: 
>> * What any good package should have:
>>        package (name and version) :: PackageIdentifier,
>>        license        :: License,
>> -- OR?
>>        licenseFile    :: FilePath,
>>        copyright      :: String,
>>        maintainer     :: String,
>>        synopsis       :: String,
> The good package should have these fields but they aren't required if
> you only want to build some code with Cabal. This will be the typical
> case with VSHaskell. The developer will use Cabal in order to build
> his/her projects but may never fill these fields. These fields are
> important when the developer decide to distribute the package. I think
> that Cabal should check only for "package" field, but Hackage should
> check for all fields.

Krasimir's right, I'd forgotten about this.  Cabal is going to be used
not just for distributing libraries & tools, but also just as a simple
build system for local code (and why not?), and as the main build system
for Visual Haskell.  In which case there's no need to have the license,
copyright, maintainer or synopsis fields - since you're not necessarily
giving the code to anyone.

Perhaps if you attempt to do './setup sdist' then it should complain if
these fields are missing, but otherwise omitting them shouldn't be


More information about the Libraries mailing list