
On Tue, 2008-11-18 at 14:23 +0100, Wolfgang Jeltsch wrote:
Am Dienstag, 18. November 2008 11:01 schrieb Wolfgang Jeltsch:
Hello,
I installed GHC 6.10.1 today and expected it to contain the cabal command line utility. Unfortunately, this was not the case. Where can I download it?
Meanwhile, I found out that the package cabal-install includes the cabal command. On the other hand I thought that there was a now deprecated command line tool named cabal-install. I find this a bit confusing.
The Cabal package provides the library. The cabal-install package provides the 'cabal' command line tool. The deprecated package you're thinking of is cabal-get or cabal-setup.
How do I install and configure it so that it is integrated best with GHC 6.10.1? For example, should cabal use some directory in the GHC tree to place compiled packages in?
The defaults for user or global should be fine. There is no need to put additional packages into the ghc install tree, indeed I would recommend against doing that.
Cabal wants to place package info in $HOME/.cabal. However, I want to install packages globally with sudo. So I want to have a global package cache. Is there a common directory to be used for that or is cabal[-install] only for per-user installations?
It can do per-user or global. Per-user is the default. If you want to do the build as user and just the install as root then you can use the --global --root-cmd=sudo options. If you want to use this every time then you can set that in the ~/.cabal/config file.
Well, there is the --global option but it is apparently only for registering packages globally. Does it change the destination directory for the installed packages too?
Yes.
If yes, to what directory?
/usr/local
Is the default --global or --user?
--user
Sorry, but I cannot find the answers to this in the docs and I don’t want to mess up my file system.
The cabal user guide lists the default install directories for global and user installs. The default ~/.cabal/config file is slightly self-documenting in that it lists the available options and their defaults: [..snip..] -- user-install: True [..snip..] install-dirs user -- prefix: /home/duncan/.cabal [..snip..] install-dirs global -- prefix: /usr/local [..snip..]