[arch-haskell] Issues with cabal2arch/AUR packages

Mathew de Detrich deteego at gmail.com
Tue Mar 29 03:08:05 CEST 2011

On Tue, Mar 29, 2011 at 9:15 AM, Leif Warner <abimelech at gmail.com> wrote:

> I think by "binary" you mean the executables installed by a Haskell package
> (under /usr/bin), as opposed to libraries (under /usr/lib)?  Just a little
> confusing, as I'm only used to calling the pre-compiled packages
> (.pkg.tar.xz files) that.  Those are only on the standard arch linux repos
> (core, extra, community), and our haskell one.  AUR and HABS have no
> binaries, just PKGBUILD scripts.

Yes, I am specifically talking about about "programs" that are coded in
haskell (currently the only well used one happens to be xmonad). For example
its currently not possible to install the leksah (a haskell IDE) package in
AUR for reasons I stated earlier

If you use cabal install for packages currently, then it can have conflicts
if you try to install a haskell program (that would go under /usr/bin) that
depends on libraries that you have already installed with cabal install, and
if there is dependency mismatching in those areas then things get nasty

> If you use yaourt to install Haskell packages from AUR, it should pull in
> any needed dependencies that exist as Arch packages.  Haskell packages that
> are only an executable should have no run-time dependencies (no Haskell ones
> anyway), so you're free to uninstall any Haskell packages that were built as
> dependencies.  If you're using the arch-haskell binary repo, it won't
> install any build-time dependencies, anyways.
>   If there's programs that need dependencies in versions not provided by
> arch-haskell, we could try to fix it, but you might just have to
> cabal-install it.

The issue as I described earlier is when you have a package like yesod
(which depends on a whole number of other packages), and one of the packages
that yesod depends on is updated. If you do a yaourt -Syu in this situation,
then that package can't update (because GHC complains it will break the
system, which was an issue I described months ago on another mailing list
thread). To get around this, the cabal package is done with a forced
install, however that breaks GHC

>   You can of course, only use cabal-install for all your Haskell packages,
> and only use Arch packages for providing e.g. Haskell Platform, if you don't
> wish to manage your Haskell packages as Arch packages.  I go this route with
> Ruby gems.
> -Leif Warner
> On Mon, Mar 28, 2011 at 2:49 PM, Mathew de Detrich <deteego at gmail.com>wrote:
>> Well basically the point would be that libraries would be installed
>> through cabal install however haskell binaries you would install through
>> AUR, and the PKGBUILD would (indirectly through some shell script) check for
>> dependencies, and if a library isn't installed it would temporarily install
>> it in /tmp where the PKGBUILD would link it with ghc to build the binary.
>> Obviously as mentioned earlier, it's not really an isssue now, but when
>> more widely used haskell binaries are on AUR, if people installed packages
>> thorough cabal and not AUR, something along these lines will need to be done
>> On 29 Mar 2011 05:07, "Rémy Oudompheng" <remyoudompheng at gmail.com> wrote:
>> _______________________________________________
>> arch-haskell mailing list
>> arch-haskell at haskell.org
>> http://www.haskell.org/mailman/listinfo/arch-haskell
> _______________________________________________
> arch-haskell mailing list
> arch-haskell at haskell.org
> http://www.haskell.org/mailman/listinfo/arch-haskell
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/arch-haskell/attachments/20110329/be74c3a5/attachment.htm>

More information about the arch-haskell mailing list