How does cabal determine version ranges in the dependencies?

Hi everyone I recently started porting cabal-install to Freebsd. When I looked at its dependencies on hackage, I noticed HTTP (>=4000.0.2 && <4001). However the latest HTTP version on hackage is 4000.0.8. That struck me as kinda odd. How can cabal tell that it won't be compatible with HTTP version 4001? regards david -- Preisknaller: GMX DSL Flatrate für nur 16,99 Euro/mtl.! http://portal.gmx.net/de/go/dsl02

I recently started porting cabal-install to Freebsd. When I looked at its dependencies on hackage, I noticed HTTP (>=4000.0.2 && <4001). However the latest HTTP version on hackage is 4000.0.8. That struck me as kinda odd. How can cabal tell that it won't be compatible with HTTP version 4001?
If it doesn't break dependencies, it won't be called http 4001, it will be called 4000.0.9 :) Check: http://www.haskell.org/haskellwiki/Package_versioning_policy Best, Maurício

On Mon, 2009-11-23 at 09:50 -0200, Maurício CA wrote:
I recently started porting cabal-install to Freebsd. When I looked at its dependencies on hackage, I noticed HTTP (>=4000.0.2 && <4001). However the latest HTTP version on hackage is 4000.0.8. That struck me as kinda odd. How can cabal tell that it won't be compatible with HTTP version 4001?
If it doesn't break dependencies, it won't be called http 4001, it will be called 4000.0.9 :)
Check:
http://www.haskell.org/haskellwiki/Package_versioning_policy
I see. Thanks for the link. I wasn't aware of the versioning policy. Just to clarify though, wouldn't the next higher major version by 4000.1 rather than 4001?

If it doesn't break dependencies, it won't be called http 4001, it will be called 4000.0.9 :)
Check:
http://www.haskell.org/haskellwiki/Package_versioning_policy
I see. Thanks for the link. I wasn't aware of the versioning policy. Just to clarify though, wouldn't the next higher major version by 4000.1 rather than 4001?
Hmm... I think so. Conformance to these policies are rather new, I believe. I have to say I didn't know about PVP a few weeks ago, when an user of a package I maintain sugested me to follow it. Maurício

On Mon, 2009-11-23 at 19:38 +0100, dave wrote:
On Mon, 2009-11-23 at 09:50 -0200, Maurício CA wrote:
I recently started porting cabal-install to Freebsd. When I looked at its dependencies on hackage, I noticed HTTP (>=4000.0.2 && <4001). However the latest HTTP version on hackage is 4000.0.8. That struck me as kinda odd. How can cabal tell that it won't be compatible with HTTP version 4001?
If it doesn't break dependencies, it won't be called http 4001, it will be called 4000.0.9 :)
Check:
http://www.haskell.org/haskellwiki/Package_versioning_policy
I see. Thanks for the link. I wasn't aware of the versioning policy. Just to clarify though, wouldn't the next higher major version by 4000.1 rather than 4001?
The HTTP package has not been following the PVP, but something rather similar (which is not written down anywhere). It should really move to following the PVP. Duncan
participants (4)
-
dave
-
David Fries
-
Duncan Coutts
-
Maurício CA