Proposal: packages in GHC should have different versions from hackage if the packages differ

Henning Thielemann lemming at henning-thielemann.de
Mon Oct 15 16:48:20 CEST 2012


I opened the following ticket [1] about the versioning of packages shipped 
with GHC, but was told to start a discussion first. I hope 
libraries at haskell.org is the right place to do that.

[1] http://hackage.haskell.org/trac/ghc/ticket/6053

Let me repeat the issue description here:

I try to compile a package with many dependencies using GHC-7.5.20120426 
in order to check whether #5970 is resolved. This turns out to be 
difficult because this temporary GHC version seems to use packages with 
the same version as their counterparts on Hackage but different content.
  For example GHC-7.5.20120426 is bundled with unix-2.5.1.0 and 
bytestring-0.10.0.0. However the unix-2.5.1.0 on Hackage excludes 
bytestring-0.10.0.0. Thus cabal-install refuses to install something that 
depends on unix-2.5.1.0.
  Another example: Both GHC-7.4.1 and GHC-7.5.20120426 are bundled with 
base-4.5.0.0. However in GHC-7.5, Num is no longer superclass of Bits. I 
think such a change requires a version bump to base-4.6.

In my opinion the condition should be that if you publish a package on 
Hackage then there should not be a package with the same version but 
different content somewhere else. Thus I propose that package versions are 
increased immediately in the repository according to the PVP if something 
is changed. That's how I handle versioning for my private packages, too.



More information about the Libraries mailing list