[Haskell-cafe] Info on dependencies among libs distributed with ghc?

Ivan Lazar Miljenovic ivan.miljenovic at gmail.com
Mon Apr 21 07:06:16 UTC 2014


On 21 April 2014 15:40, Magnus Therning <magnus at therning.org> wrote:
> On Mon, Apr 21, 2014 at 08:18:20AM +1000, Ivan Lazar Miljenovic wrote:
>> On 21 April 2014 02:11, Magnus Therning <magnus at therning.org> wrote:
>>> I'm working on the packaging of Ghc for Arch Linux and the
>>> packaging of Ghc 7.8 was in place about a week ago.  It was
>>> delivered with `Cabal` 1.18, and already now there's a 1.20
>>> available, which is required by the latest version of
>>> `cabal-install` :(
>>>
>>> Ghc 7.8 comes with quite a few other basic libraries.  Are there
>>> any dependencies between these libraries besides the obvious one on
>>> `base`?
>>>
>>> In other words, can I update Cabal without running into the
>>> diamond-dependency problem?
>>
>> The only time I've had a problem with Exherbo packages is that some
>> of them (e.g. haskell-docs) require using the version of Cabal
>> shipped with GHC (I think it was to have consistency with the
>> version of Cabal that Haddock was built with); as long as the Arch
>> packages can specify "use GHC's Cabal" for the few cases which it's
>> necessary then you shouldn't have a problem.
>
> That is exactly the kind of situation I want to avoid :)
>
> I have no problem re-compiling everything that depends on Cabal, but I
> want that recompile to result in a situation where neither the user
> (nor me) need to ever ask "Which of the installed Cabal versions
> should I use to compile this program?".

I think cabal-install can get away with this because it ensures the
same version of Cabal is used throughout, as the .cabal file for
haskell-docs doesn't explicitly state that it requires the same
version of Cabal as used by Haddock.

So if Arch's dependency resolver is smart enough, this might work.

-- 
Ivan Lazar Miljenovic
Ivan.Miljenovic at gmail.com
http://IvanMiljenovic.wordpress.com


More information about the Haskell-Cafe mailing list