Ticket #3410 (closed bug: fixed)
ghc fails to parse versioned GPL and LGPL license from package configuration
| Reported by: | int-e | Owned by: | simonmar |
|---|---|---|---|
| Priority: | high | Milestone: | 6.12.1 |
| Component: | Compiler | Version: | 6.11 |
| Keywords: | Cc: | aslatter@… | |
| Operating System: | Unknown/Multiple | Architecture: | Unknown/Multiple |
| Type of failure: | Difficulty: | Unknown | |
| Test Case: | Blocked By: | ||
| Blocking: | Related Tickets: |
Description
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
Attachments
Change History
Note: See
TracTickets for help on using
tickets.

