<br><br><div class="gmail_quote">On Wed, Aug 25, 2010 at 1:59 PM, Ivan Lazar Miljenovic <span dir="ltr">&lt;<a href="mailto:ivan.miljenovic@gmail.com">ivan.miljenovic@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;">
<div class="im">On 25 August 2010 13:40, Mathew de Detrich &lt;<a href="mailto:deteego@gmail.com">deteego@gmail.com</a>&gt; wrote:<br>
&gt; It is automated in a manual way =D. By that I mean that there is a script<br>
&gt; which autobuilds packages with cabal2arch, however that script itself has to<br>
&gt; be manually run. In all honesty I believe the best policy is to have base<br>
&gt; packages (and other &#39;required&#39;) be installed through the package manager of<br>
&gt; the distro and libraries installed through cabal. Haskell binaries then use<br>
&gt; cabal to check dependencies to see if the binary can be built (that is what<br>
&gt; I do now and I have no issues with it)<br>
<br>
</div>Consider these scenarios:<br>
<br>
1) You upgrade package foo; this breaks a large number of other<br>
packages.  How do you deal with it?<br></blockquote><div>Thats what happened when I was using archlinux for libraries, nothing has broken with cabal. And if cabal somehow does break when installing libraries, I know where all the libraries are (in one folder) so its easy to fix (just delete folder, unregister packages) instead of having to do it through a package manager </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
2) You upgrade GHC.  You now have to manually re-build all packages<br>
that you had built with the previous version of GHC.<br></blockquote><div>Base libraries that game with GHC I left alone (as I mentioned earlier). Packages such as parallel and array are installed by GHC and left alone </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
3) You want to uninstall some Haskell packages.<br></blockquote><div>Blame cabal for not having cabal uninstall =D. Also you can unregister the package through GHC (to check if it doesn&#39;t depend on anything) and delete the library folder (thats what uninstalling the aur packages does anyways, just instead of deleting the library folders the files get removed through the package manager)</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
4) You built a package with non-standard build options; cabal-install<br>
keeps wanting to rebuild it with the defaults.<br></blockquote><div>Havne&#39;t had this issue yet, can you be more specific (gtk for example installed fine through cabal-install, I believe thats something thats regarded as a non standard install). Remember that there is nothing stopping me from installing archlinux aur packages if for whatever reason cabal-install doesn&#39;t work, and thats highly unlikely because AUR packages are built by using runhaskell configure/build etc in the first place </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
5) You don&#39;t want to wait for a package maintainer to loosen the<br>
dependencies of a package you know works with a newer version of a<br>
dependency.<br></blockquote><div>This is also an issue in AUR, so AUR ain&#39;t any better</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
6) You want to install package bar; it fails to build due to some<br>
missing C library/build tool/etc.  You have to dig around and work out<br>
which system package contains that C library/Haskell package contains<br>
that build tool/etc. and install that first.<br></blockquote><div>I installed two packages that depend on C libraries (wx and gtk) without any issues (through cabal-install). cabal-install works with C libraries the same way it does when you do runhaskell configure/build  </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
Now, some future version of cabal-install may in fact solve the first<br>
four problems by automating them and keeping track of installed<br>
packages itself rather than relying on ghc-pkg.  It will _never_ be<br>
able to solve the latter two (OK, it might be that someone adds<br>
functionality to add &quot;tweaks&quot; to a package at configure/build/etc.<br>
time).<br></blockquote><div>I never had these problems, if there is a problem with cabal-install it will be a problem with Archlinux AUR packages, because cabal-install does configure/build in its process anyways. The only exception is binaries, and as stated before I do install them through Archlinux AUR </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
Note also that if there is some trivial failure with a package not<br>
building against a newer version of a dependency or GHC (e.g. the last<br>
monolithic release of gtk2hs built against GHC 6.12.1 but not 6.12.2),<br>
then in many cases it&#39;s easier and faster for the person maintaining<br>
the distribution&#39;s packages to apply a fix than wait for upstream to<br>
release a new version.<br>
<br>
If you think the Arch packages for Haskell are so bad/out of date, why<br>
not do something about that and help maintain them rather than just<br>
whinge?<br>
<div><div></div><div class="h5"><br>
--<br>
Ivan Lazar Miljenovic<br>
<a href="mailto:Ivan.Miljenovic@gmail.com">Ivan.Miljenovic@gmail.com</a><br>
<a href="http://IvanMiljenovic.wordpress.com" target="_blank">IvanMiljenovic.wordpress.com</a><br>
</div></div></blockquote></div><br>