
Erik de Castro Lopo wrote:
Don Stewart wrote:
Well, the number one thing is to use Cabal and the cabal-install tool. That is the simplest way to avoid headaches.
I'm sure cabal works very well for many people, but for anyone who has used Debian based distributions for some time, cabal really does seem like a backward step.
For instance, I regularly develop on 6 machines; personal laptop, home desktop, 2 work desktops and 2 work build machines.
At work, the main output of my development work is Debian packages (which get installed on hundreds of machines), and the Debian packages I create have build depends on whatever compilers and libraries are required to build them. We also have a build bot that runs nightly in a clean chroot for each package so that build depends can be verified to be correct.
However, if I install compilers or libraries using cabal there is no package to build depend on, breaking a system which currently works very, very well for all the code we build in C, C++ and Ocaml.
Just in case this isn't clear yet - Cabal is not meant to be a replacement for native Debian packages, it is supposed to let the Debian folks package Haskell stuff more easily. We didn't want to duplicate everything that a good OS packaging system does in Cabal, that's just a waste of time and likely to conflict with what the OS packager is already doing. Sounds like the Debian folks could use some help with automatically packaging Cabal packages, though. Cheers, Simon