
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'm not sure I see what you're getting at. We can't do a full build check synchronously at upload time. Yes, I thought something like that would probably be the reason. What I meant is that not everybody will realize this immediately, and will
[snip] think everything is OK because the message was that there are no fatal errors (even though there's another message on the page that uploaders should test their builds first...)
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.
It's not a leftover, it was added recently. The intention is that user gets to set the optimisation level (cabal configure -O or -O2 or -O0). It's not really great when packages override that choice. From experience packaging haskell libraries for gentoo we found that most packages that do set -O2 do so out of habit without any particular justification and it significantly increases compile times and memory use.
Compile time was negligible in my case, but I didn't think about memory usage. That does not seem an issue either right now, but it's useful to know, for the future...
It's not banned though as there are some cases where it's perfectly justified. Oh, all right. So it's recommended to leave that as a user option when configuring the installation.
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?
build-depends: gtk >= 0.9.12 && < 0.10 Thanks, that's clear now.
Regards, Hans