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

Hackage trac at galois.com
Tue Mar 3 13:10:39 EST 2009


#284: Cannot upload packages that require specific cabal versions
--------------------------------+-------------------------------------------
  Reporter:  guest              |        Owner:  duncan   
      Type:  defect             |       Status:  assigned 
  Priority:  normal             |    Milestone:  HackageDB
 Component:  hackageDB website  |      Version:           
  Severity:  normal             |   Resolution:           
  Keywords:                     |   Difficulty:  normal   
Ghcversion:  6.8.2              |     Platform:           
--------------------------------+-------------------------------------------
Comment (by duncan):

 This is doable with the new `VersionIntervals` data type in Cabal-1.7+. We
 can now match on the semantics of version range expressions where
 previously we could only do it on the syntax. This should enable us to do
 an accurate test on the allowed `cabal-version` range expressions.

 As mentioned previously we want to make sure that hackage can actually
 parse the .cabal file. So that means any lower bound must be less than the
 version of Cabal that hackage is using. So for example if Hackage is using
 Cabal-1.7 then this should be ok:
 {{{
 cabal-version: >= 1.2 && < 1.5
 }}}
 but we can quite legitimately reject:
 {{{
 cabal-version: >= 2.0
 }}}
 because its lower bound is higher than we understand. We can also enforce
 that exact `==` predicates are not used, because we know that the Cabal
 lib follows the package versioning policy. See also #395.

-- 
Ticket URL: <http://hackage.haskell.org/trac/hackage/ticket/284#comment:4>
Hackage <http://haskell.org/cabal/>
Hackage: Cabal and related projects


More information about the cabal-devel mailing list