kkardzis / curlhs

Haskell bindings to curl library (libcurl)
https://hackage.haskell.org/package/curlhs
ISC License
4 stars 3 forks source link

Please add support for hspec-2.1.5 #4

Closed peti closed 9 years ago

peti commented 9 years ago

Citing from http://hydra.cryp.to/build/783107/nixlog/1/raw:

Preprocessing test suite 'hspec' for curlhs-0.1.4...
[1 of 4] Compiling Network.CURL730Spec ( test/Network/CURL730Spec.hs, dist/build/hspec/hspec-tmp/Network/CURL730Spec.dyn_o )

test/Network/CURL730Spec.hs:27:49:
    Couldn't match type ‘IO ()’ with ‘() -> IO ()’
    Expected type: ActionWith ()
      Actual type: IO ()
    Possible cause: ‘freelib’ is applied to too many arguments
    In the first argument of ‘after’, namely ‘(freelib CURL730)’
    In the expression: after (freelib CURL730)
[2 of 4] Compiling Network.CURL720Spec ( test/Network/CURL720Spec.hs, dist/build/hspec/hspec-tmp/Network/CURL720Spec.dyn_o )

test/Network/CURL720Spec.hs:27:49:
    Couldn't match type ‘IO ()’ with ‘() -> IO ()’
    Expected type: ActionWith ()
      Actual type: IO ()
    Possible cause: ‘freelib’ is applied to too many arguments
    In the first argument of ‘after’, namely ‘(freelib CURL720)’
    In the expression: after (freelib CURL720)
kkardzis commented 9 years ago

It won't compile because of wrong hspec version. There are version constraints specified in cabal file, but they are ignored. Why?

From the same log:

Configuring curlhs-0.1.4...
Dependency base -any: using base-4.8.0.0
Dependency bytestring -any: using bytestring-0.10.6.0
Dependency curlhs -any: using curlhs-0.1.4
Dependency hspec -any: using hspec-2.1.5
Dependency rtld -any: using rtld-0.0.2
Dependency time -any: using time-1.5.0.1

If built locally, on Hackage or on travis-ci, everything looks ok. Dependency constraints are respected.

peti commented 9 years ago

We compile with --allow-newer in NixOS. In this particular case, that is a problem apparently. :-(

Now, we've updated to the latest version of hspec already, and I'd rather not undo that update. Would it be possible to get a new release of your package that supports current versions of hspec?

kkardzis commented 9 years ago

Done. It should work now.

There is a link to NixOS on https://hackage.haskell.org/package/curlhs, but I can see only old logs there (latest build from 2015-01-16). How can I find current logs?

peti commented 9 years ago

If you look at the box at the top of the Hydra page, you'll find the note:

This job is not a member of the latest evaluation of its jobset. This means it was removed or had an evaluation error.

We've removed curlhs from the list of active builds a while ago because we didn't manage to build it. The problem resurfaced now, because new packages were added that depend on curlhs, so the build failure became an issue again. I've re-enabled the build in https://github.com/NixOS/cabal2nix/commit/0d45926218066869f16d55d970cac0d6b50d9ebd, and you'll find that the Hydra page will show up-to-date build results again within 24 hours or so.

peti commented 9 years ago

The tests on my private server succeeded: http://hydra.cryp.to/eval/389113. Thank you very much for helping us out with the update!