Is the Gentoo stuff mentioned below reusable by us at all?<br><br>And presumably we might want to get in on any consolidation of effort?<br><br><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Michael Orlitzky</b> <span dir="ltr">&lt;<a href="mailto:michael@orlitzky.com">michael@orlitzky.com</a>&gt;</span><br>

Date: Sun, Nov 18, 2012 at 1:15 AM<br>Subject: Re: [Haskell-cafe] How to determine correct dependency versions for a library?<br>To: <a href="mailto:haskell-cafe@haskell.org">haskell-cafe@haskell.org</a><br><br><br>Replying somewhere random in the thread.<br>


<br>
Linux distributions have to solve this same problem. We first need to<br>
decide what Hackage&#39;s function is supposed to be:<br>
<br>
  (1) A dumb repository to host Haskell code<br>
<br>
  (2) A collection of Haskell packages that work together<br>
<br>
In reality it&#39;s (1), but the existence of cabal-install supposes (2).<br>
<br>
The way that distributions handle this is to assign maintainers to each<br>
and every package in the distro, and require them all to be actively<br>
maintained. Packages that don&#39;t build or have unresponsive upstreams are<br>
removed. Maintainers who don&#39;t do their jobs are removed after a while, too.<br>
<br>
The end result is that there are somewhat fewer packages /visible/ to<br>
the user, but a comparable amount /available/, since what&#39;s in the<br>
distro is what actually would have worked if the user tried to build it<br>
himself.<br>
<br>
I think there&#39;s value to having (1), but that we shouldn&#39;t expect (2) at<br>
the same time. Tons of work goes into QA&#39;ing packages to work together.<br>
Someone needs to be responsible for making sure that things work; right<br>
now no one is, so they don&#39;t.<br>
<br>
Running a &quot;Haskell distro&quot; on a parallel Hackage would be a lot of work<br>
but Arch, Debian, Gentoo, etc. already have to do essentially that. It<br>
may make sense to either consolidate the effort, or reuse what work is<br>
already being done. The gentoo-haskell[1] project already keeps a list<br>
of packages that are known to build from source together. Something like<br>
prefix[2] for example could be used to install packages that have been<br>
vetted rather than just pulling a tarball with the right name directly<br>
from Hackage.<br>
<br>
Or if that&#39;s too much trouble, we could write a reverse hackport[3] that<br>
creates a second Hackage full of stuff known to work in the various<br>
distributions. No solution will be great at first, but we have the<br>
&quot;benefit&quot; that it doesn&#39;t work right now either so maybe nobody will notice.<br>
<br>
Without everyone duplicating the QA effort, I think things would shape<br>
up quickly.<br>
<br>
<br>
<br>
[1] <a href="https://github.com/gentoo-haskell/gentoo-haskell" target="_blank">https://github.com/gentoo-haskell/gentoo-haskell</a><br>
[2] <a href="http://www.gentoo.org/proj/en/gentoo-alt/prefix/" target="_blank">http://www.gentoo.org/proj/en/gentoo-alt/prefix/</a><br>
[3] <a href="http://hackage.haskell.org/package/hackport" target="_blank">http://hackage.haskell.org/package/hackport</a><br>
<div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</div></div></div><br>