ghc fails to parse versioned GPL and LGPL license from package configuration
I used this shell script to reproduce the problem:
{{{ #! /bin/sh
DIR=$(mktemp -d); cd ${DIR}; trap "cd /; rm -r ${DIR}" EXIT
echo "[]" > P ghc-pkg -f P register - > /dev/null <<EOF name: dummy-gpl license: GPL EOF ghc-pkg -f P register - > /dev/null <<EOF name: dummy-lgpl license: LGPL-3 EOF ghc -package-conf P -e 'putStrLn "success"' || echo fail }}}
which fails like this:
ghc-stage2: P:1:163: parse error on input `Nothing'
fail
It turns out that ghc-pkg uses Cabal's code to manipulate the package configuration, while ghc comes with its own parser in ParsePkgConf.y
- possible reasons include: historic reasons, better error messages, better performance.
See also this recent thread: http://www.haskell.org/pipermail/glasgow-haskell-users/2009-July/017600.html
Trac metadata
Trac field | Value |
---|---|
Version | 6.11 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |