I’m trying to install packages which require a different version of base than the one I have installed (I have 4.6.0.0, they require < 4.6). How can I install these on my system?
Edit: These packages actually require older packages in order to build, not just as a .cabal constraint.
Since you can’t reinstall
base, the only way to get these packages installed before they are updated is to grab the source,and then edit
foo.cabal, changing the upper bound forbasethere, bump the package version (append a.1) so that when installing other packagescabaldoesn’t think it is broken, since the.cabalfile it knows (from the package index) says it requires a different version ofbase, andfrom the directory you unpacked to.
Since there were a few significant changes in base-4.6; the
EqandShowsuperclasses have been removed fromNum, andBitsno longer hasNumas a superclass, it may be necessary to fix the code by addingEq,ShoworNumto the constraints of some functions to make the packages compile.That’s inconvenient, but the price for being up-to-date yourself with the newest GHC version for a few weeks.