check-pvp
Henning Thielemann
lemming at henning-thielemann.de
Sat Mar 1 18:02:35 UTC 2014
Am 01.03.2014 16:57, schrieb Henning Thielemann:
> Treating check-pvp as compiler driven by Cabal sounds reasonable, since
> this would do all the preprocessing stuff and would also work on
> tarballs etc. However the haskell-name framework seems to expect a
> binary executable as compiler. According to
>
> http://documentup.com/haskell-suite/haskell-names
>
> I would have to design the checker as a tool that only reads modules,
> not the package description, called maybe 'check-modules-pvp' and then run
>
> $ cabal install --haskell-suite -w check-modules-pvp mypkg
I have pushed a new version to the repo that contains two executables:
The stand-alone executable check-pvp and the haskell-suite compiler
check-pvp-compiler:
http://code.haskell.org/~thielema/check-pvp/
You can run the compiler with
$ cabal install --haskell-suite -w check-pvp-compiler
I got some problems. Using NamesDB as in hs-gen-iface works, but I
guess, I do not need NamesDB and thus haskell-names. I tried to define a
StandardDB type with a custom name type:
data CheckPVPName = CheckPVPName
instance IsDBName CheckPVPName where getDBName = Tagged "check-pvp"
theTool :: Compiler.Simple (StandardDB CheckPVPName)
However with this definition the above 'cabal install' fails in
configuration phase
utility$ cabal install --haskell-suite -w check-pvp-compiler
Resolving dependencies...
cabal: Could not resolve dependencies:
trying: utility-ht-0.0.10 (user goal)
next goal: base (dependency of utility-ht-0.0.10)
rejecting: base-4.6.0.1, 4.6.0.0, 4.5.1.0, 4.5.0.0, 4.4.1.0, 4.4.0.0,
4.3.1.0,
4.3.0.0, 4.2.0.2, 4.2.0.1, 4.2.0.0, 4.1.0.0, 4.0.0.0 (only already installed
instances can be used)
rejecting: base-3.0.3.2 (conflict: base => base>=4.0 && <4.3)
rejecting: base-3.0.3.1 (conflict: base => base>=4.0 && <4.2)
Dependency tree exhaustively searched.
I guess I do not understand the purpose of the StandardDB type and its
associated name type.
There is another problem: With NamesDB it worked, but the final
installation phase fails, because check-pvp-compiler does not generate
files. What is the recommended way to cope with compilers that do not
write something to files?
More information about the cabal-devel
mailing list