[Hackage] #284: Cannot upload packages that require specific cabal versions

Hackage trac at galois.com
Mon Jun 9 16:19:30 EDT 2008


#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


More information about the cabal-devel mailing list