Where should cabal install to by default?

Brandon S. Allbery KF8NH allbery at ece.cmu.edu
Sun Aug 3 22:50:29 EDT 2008

On 2008 Aug 3, at 21:56, Manuel M T Chakravarty wrote:

> Duncan Coutts:
>> Obviously ~/.cabal/bin is not on the $PATH, so users who install say,
>> yi or whatever find that typing yi at the prompt does not do anything
>> even though they just installed it. That's a failure on our part. It
>> should work, and if we cannot make it work by default then we need to
>> tell users what they need to do to make it work.

Grins and giggles:  check the user's $PATH for directories under $HOME  
and use the first one found?

> * Hiding installed files in a . directory is very bad style IMHO.  I  
> think that should never happen.  Independent of whether you install  
> right into /usr/local/bin or whether you symlink

Even if I tell it to?  Also, you might want to avoid StarOffice (and  
perhaps OpenOffice still does it these days).

> or whatever.  You might install files under /usr/local/lib/cabal and  
> then symlink, but probably its nicer to installto /usr/local/lib/ 
> <package>-<version> and then symlink.

You're missing a key point:  *user installs should not require  
root*.  /usr/local is used for global installs, not for per-user  

> * On OS X, its not generally appropriate to install into /usr/local  
> either.  Each user has ~/Applications and ~/Library directories that  
> are usually used for per-user installs.  Just

Those are valid only for OSX applications; Unixy stuff goes  
elsewhere.  By convention Fink uses /sw, MacPorts uses /opt/local,  
and /usr/local is left for packages not owned by either; this makes it  
a good place to install Cabalized programs (globally).

> * ~/.cabal is bad on Mac OS, too.  Preferences ought to go into ~/ 
> Library/Preferences/

Again, not for Unixy stuff, only for full OSX applications and  
frameworks.  Try "ls -a" sometime.

brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery at kf8nh.com
system administrator [openafs,heimdal,too many hats] allbery at ece.cmu.edu
electrical and computer engineering, carnegie mellon university    KF8NH

More information about the Libraries mailing list