<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Mar 18, 2014 at 11:48 AM, David Thomas <span dir="ltr"><<a href="mailto:davidleothomas@gmail.com" target="_blank">davidleothomas@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>One option that just occurred to me would be to allow passing a script to cabal that could be passed the extra-libraries (if any), and could install if it knew the relevant OS packages (or NIX packages), or abort with a cleaner error message.<br>



<br></div></div></blockquote><div><br></div><div>You can do this sort of thing in a custom Setup.hs (using build-type: custom).  Depending on the hook you use, you can get access to the cabal file fields there directly.</div>

<div><br></div><div>--Rogan</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div></div><div>Actually, wrapping ghc might be sufficient (though not ideal).<br>

</div><div><br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Mar 18, 2014 at 11:29 AM, Michal Antkiewicz <span dir="ltr"><<a href="mailto:mantkiew@gsd.uwaterloo.ca" target="_blank">mantkiew@gsd.uwaterloo.ca</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>This is not an immediate solution but I can imagine listing NIX packages as dependencies inside a cabal file, then NIX would create a sandbox with these dependencies and cabal would build in that sandbox. The advantages are that you're not messing around with the underlying operating system's packages, NIX handles all dependencies transitively, and everything is specified declaratively. Sounds like a nice GSoC project :-)  You could also do cross GHC version's builds as GHC itself can be sandboxed. Quite intriguing. <br>


<span><font color="#888888">
<br></font></span></div><span><font color="#888888">Michal</font></span><div><div><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Mar 18, 2014 at 2:16 PM, Michal Antkiewicz <span dir="ltr"><<a href="mailto:mantkiew@gsd.uwaterloo.ca" target="_blank">mantkiew@gsd.uwaterloo.ca</a>></span> wrote:<br>



<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Certainly NIX is an interesting approach. It already comes with a large base of dependencies, a format for specifying them. NIX can be installed in any Linux distro and serve as an environment for building packages. That might provide a cross-distribution solution to the native dependency problem.<br>




<br></div><div>See, a nice post by Oliver Charles <br><br><a href="http://ocharles.org.uk/blog/posts/2014-02-04-how-i-develop-with-nixos.html" target="_blank">http://ocharles.org.uk/blog/posts/2014-02-04-how-i-develop-with-nixos.html</a><span><font color="#888888"><br>




</font></span></div><span><font color="#888888"><div><br></div>Michal</font></span><div><div><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Mar 18, 2014 at 1:59 PM, David Thomas <span dir="ltr"><<a href="mailto:davidleothomas@gmail.com" target="_blank">davidleothomas@gmail.com</a>></span> wrote:<br>




<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Ok, well, if that's the case I'd like to see about remedying that.  Anyone have any thoughts as to how to best go about this?  I'm not clear on exactly what info lives where, especially across systems.  Entirely manual population would be a (barely) acceptable fallback.<br>





</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Mar 18, 2014 at 9:36 AM, Dan Burton <span dir="ltr"><<a href="mailto:danburton.email@gmail.com" target="_blank">danburton.email@gmail.com</a>></span> wrote:<br>





<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">I have wished for this on multiple occasions. I don't believe such a thing exists as of yet.</div>




<div class="gmail_extra">
<br clear="all"><div>-- Dan Burton</div>
<br><br><div class="gmail_quote"><div>On Tue, Mar 18, 2014 at 9:26 AM, David Thomas <span dir="ltr"><<a href="mailto:davidleothomas@gmail.com" target="_blank">davidleothomas@gmail.com</a>></span> wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>

<div dir="ltr">Is there a way to extract this?  I'm looking to make it easier for newcomers to my project to get things building across different linux distros.<br></div>
<br></div>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">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>
<br></blockquote></div><br></div>
</blockquote></div><br></div>
<br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">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>
<br></blockquote></div><br><br><a href="mailto:mantkiew@gsd.uwaterloo.ca" target="_blank"></a>
</div></div></div></div>
</blockquote></div><br><br>
</div></div></div></div>
</blockquote></div><br></div>
</div></div><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>
<br></blockquote></div><br></div></div>