Specific license field
Duncan Coutts
duncan.coutts at googlemail.com
Mon Nov 9 06:34:40 EST 2009
On Mon, 2009-11-09 at 03:57 +0000, Neil Mitchell wrote:
Hi Neil,
You'll be glad to know that we started working on this issue a year and
a half ago.
> License: GPL-2
> Warning: 'license: GPL-2' is not a recognised license.
This is valid syntax so does not break the parser in Cabal as of version
1.4 (but will break it for eg Cabal-1.2 which came with ghc-6.8).
We added the syntax before allowing use of the new versioned licenses so
that we would not needlessly break old ghc/cabal installations. Now that
we've had a full ghc release cycle with a Cabal that has the less
fragile parser we're adding versioned GPL licenses as "known" licenses
which means you can upload them to hackage.
> License: GPL-2+
> cabal: hlint.cabal:6: Parse of field 'license' failed.
This is invalid syntax. It's also what you would get with Cabal-1.2 if
you used the versioned licenses.
So the upshot is that you can now use:
* GPL-2
* GPL-3
* LGPL-2.1
* LGPL-3
* MIT
I think the hackage upload scripts are compiled against a sufficiently
recent version of the Cabal lib for these to be allowed now. It'll tell
you that you need to specify at least "cabal-version: >= 1.4". As you
saw, it will generate the configure warnings when used with Cabal-1.6
but will still build fine.
It will register with ghc-pkg ok but only for ghc-6.10+. The older ghc
used the older Cabal which had the horribly fragile license field parser
(it used to be Read/Show). I guess it's a bug that we generate package
registration info that old ghc will not grok. It's a little late to fix
that in the Cabal-1.6 series however.
Duncan
More information about the cabal-devel
mailing list