<div class="gmail_extra">I believe there is a post on this from the Yesod developers:</div><div class="gmail_extra"><a href="http://www.yesodweb.com/blog/2012/04/cabal-meta">http://www.yesodweb.com/blog/2012/04/cabal-meta</a> </div>
<div class="gmail_extra"><br></div><div class="gmail_extra">It looks like the suggest using a better wrapper around cabal and making virtual play-spaces to install into. I confess, I haven&#39;t taken the time to learn it, but it sounds like they have thought through this a couple times. Good luck!</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">Tim</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Apr 26, 2012 at 9:42 AM, Lorenzo Bolla <span dir="ltr">&lt;<a href="mailto:lbolla@gmail.com" target="_blank">lbolla@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
I&#39;ve recently installed the latest yesod-platform with cabal and now I&#39;d<br>
like to install yesod-markdown, too.<br>
<br>
Problem is, yesod-markdown refuses to install because it depends on<br>
libraries older than the ones installed by yesod-platform on my system:<br>
for example, yesod-markdown requires 0.4 &lt;= blaze-html &lt; 0.5, but latest<br>
yesod-platform depends on blaze-html 0.5.0.<br>
<br>
This problem is obviously more general, and so is my question: How to<br>
handle packages that depend of different versions of the same library?<br>
<br>
Would you just install the &quot;highest common version&quot; across all the<br>
packages that depend on it? What if it doesn&#39;t exist?<br>
Would you manually patch the cabal files for all the packages in the<br>
dependency tree, hoping that newest libraries are backward compatible?<br>
Would you wait for the library developers to update their cabal file<br>
every time a library they rely upon changes?<br>
<br>
To me, it looks like dependencies in .cabal files are usually too<br>
strict. Or, packages should agree on the meaning of &quot;minor&quot; version<br>
numbers. For example, if blaze-html&#39;s API did not change from 0.4 to 0.5<br>
(supposing that API changes are identified by a change in the major<br>
version number), then there is no point in the libraries that depend on<br>
it to require a dependency &lt;0.5.<br>
Is this rule of minor/major version numbers followed/agreed upon in<br>
Haskell libraries?<br>
<br>
Thanks,<br>
L.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Lorenzo Bolla<br>
<a href="http://lbolla.info" target="_blank">http://lbolla.info</a><br>
<br>
_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org">Beginners@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/beginners" target="_blank">http://www.haskell.org/mailman/listinfo/beginners</a><br>
</font></span></blockquote></div><br></div>