
#284: Cannot upload packages that require specific cabal versions --------------------------------+------------------------------------------- Reporter: guest | Owner: duncan Type: defect | Status: assigned Priority: normal | Milestone: Component: hackageDB website | Version: Severity: normal | Resolution: Keywords: | Difficulty: normal Ghcversion: 6.8.2 | Platform: --------------------------------+------------------------------------------- Changes (by duncan): * status: new => assigned * owner: => duncan Comment: As it happens in this particular case you're ok. It does actually work with Cabal-1.3.12. In the general case this issue is this: we want to avoid people uploading packages that require a version of Cabal greater than the one that hackage itself is using because we could not reliably handle such packages. The difficulty is in implementing that test. The cabal-version is almost an opaque version predicate, it can have arbitrary unions and intersections of version ranges. So testing if it requires later than a particular version is tricky. It's easy to check if it allows the current version that is used by hackage, so that is what we do at the moment. I accept it's not right for packages that use a custom Setup.hs and that would fail to compile with some future version of the Cabal library. At the moment though we're ok because the Cabal-1.4 series should be compatible with 1.2 for all existing Setup.hs scripts. We'll need to fix this at some point however. Probably the solution is to be slightly conservative, so if the current version is not in the version range and does not match a very simple version range, like `>= x && < y` then we'd keep the current behavior. -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/284#comment:1 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects