[Haskell-cafe] Hackage being too strict?

Hans van Thiel hthiel.char at zonnet.nl
Mon Apr 21 07:38:49 EDT 2008

On Fri, 2008-04-18 at 16:19 +0100, Duncan Coutts wrote:

> If there are any that you think are rejecting legitimate packages then do
> complain (as in this thread). 
I was sloppy in my upload of Emping 0.5 in not checking the libraries
dependencies sufficiently and not doing a build (my apologies about
that). So then I did do a local build, and even corrected a warning
about a type conversion to Double that GHC 6.8.2 (my version on FC 8)
with -Wall -Werror seems to have missed. So the local build went well,
but the Hackage build still appears to fail. Message:

** setup configure

Configuring Emping-0.5.1...
cabal-setup: At least the following dependencies are missing:
gtk -any

I'll have to leave it at that, since my local Cabal version does configure and build, 
and I obviously can't use Hackage as a development tool, uploading new versions until 
I get it right. Or, on second thought, does the above message just mean there's no 
gtk on Hackage? 

Some general questions, suggestions:

To improve the usability of Hackage, wouldn't it be better to hold new uploads in limbo
until they pass all the checks, instead of publishing them anyway? 

The current a priori check, which said there were no fatal errors, while the
a posteriori check failed, is misleading. Wouldn't it be better to warn potential 
uploaders that this first check is not complete? I'd also like the warning about the -O2
optimization flag to go away...I'd guess this is a leftover from an earlier time in GHC.

More importantly, if Cabal is sort of an rpm for Haskell programs, shouldn't 
the uploader use version numbers of the libraries in the Cabal file? For example, 
I believe in my case at least gtk2hs 0.9.12 is needed, while Ubuntu seems to have 
only 0.9.11 (until a few months ago, at least). So, if an uploader knows such 
dependencies, how to express them?

Thanks in advance,

Hans van Thiel

More information about the Haskell-Cafe mailing list