[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