Ticket #222 (new enhancement)

Opened 5 years ago

Last modified 5 years ago

Hackage should be able to track which version of package is compatible with which version of GHC

Reported by: guest Owned by:
Priority: normal Milestone:
Component: hackageDB website Version: 1.2.3.0
Severity: normal Keywords:
Cc: Difficulty: project(> week)
GHC Version: 6.8.2 Platform:

Description

This is related to ticket #221 and #199. Cabal-install at this time always fetches the highest version of a package. But the highest version may not be compatible with the version of GHC.

The example is the HXT package.

 http://www.fh-wedel.de/~si/HXmlToolbox/

As of this writing, version 7.4 is for GHC 6.8. But for those who have GHC 6.6, version 7.3 should be fetched. If there is a flag in Hackage to indicate this compatibility matrix, then cabal-install can make correct decision which version to fetch based on the GHC version the user has.

Change History

Changed 5 years ago by duncan

  • difficulty changed from normal to project(> week)
  • type changed from defect to enhancement
  • platform Linux deleted

The problem of course is that hackage and cabal-install do not know which packages work in what environments.

See #184 for a mechanism for hackage to gather information about which packages work in which environments.

In the specific case of HXT, there is no need for it to work with just one version of GHC at once since the modifications to make it work with both are trivial. Gentoo has patches to make htx 7.3 work with both ghc-6.6 and 6.8. See  http://haskell.org/haskellwiki/Upgrading_packages

Changed 5 years ago by ross@…

Packages can declare dependencies on particular versions of the base package, which is often what is meant anyway. Of course using configurations to make it work with both is even better.

However the issue remains if a version of a package uses a language extension introduced in a particular version of GHC. A work-around would be to use base version as a proxy for GHC version, but the real thing would be cleaner.

Changed 5 years ago by duncan

We should be able to map extensions to ghc version dependencies. That sounds fairly easy. I can add that if it'd be helpful.

Note: See TracTickets for help on using tickets.