id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,os,architecture,failure,difficulty,testcase,blockedby,blocking,related
3410,ghc fails to parse versioned GPL and LGPL license from package configuration,int-e,simonmar,"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",bug,closed,high,6.12.1,Compiler,6.11,fixed,,aslatter@…,Unknown/Multiple,Unknown/Multiple,,Unknown,,,,
