From edd at debian.org  Sat Feb 24 16:00:51 2007
From: edd at debian.org (Dirk Eddelbuettel)
Date: Sat, 24 Feb 2007 09:00:51 -0600
Subject: [Rd] Depending on many packages: another best practice question
In-Reply-To: <f8e6ff050702231738x74d515c1pd246403fdf8ad21a@mail.gmail.com>
References: <f8e6ff050702231738x74d515c1pd246403fdf8ad21a@mail.gmail.com>
Message-ID: <17888.21283.92112.591730@basebud.nulle.part>


On 23 February 2007 at 19:38, hadley wickham wrote:
| ggplot currently requires 13 packages (grid, reshape, RColorBrewer,
| proto, splines, MASS, Hmisc, boot, butler, hexbin, mapproj, quantreg,
| sm).  Some of these are absolutely necessary (eg. proto), but most are
| used for one or two specific tasks (eg. boot is only used to get
| plogis, used for logit scales).
| 
| Do you think I should make them all "depends" packages, or "suggests"
| packages, and then manually test for package presence before using a
| certain function?  What is easier for users?

Rcmdr uses to have hard Depends. Given that I maintained Rcmdr in Debian, I
had to add a lot of additional packages to Debian only to cover Rcmdr's build
requirements.   

John later changed that to Suggests

   Depends: R (>= 2.1.0), tcltk, grDevices, utils
   Suggests: abind, car (>= 1.2-1), effects (>= 1.0-7), foreign, grid,
   lattice, lmtest, MASS, mgcv, multcomp (>= 0.991-2), nlme, nnet, relimp,
   rgl, RODBC 

which he then tests for in Startup.R.  I think Graham's rattle does something
similar.

I think you will get confused users either way as it is impossible to please
all the people all the time. Foolprof methods only attract smarter fools.

Hope this helps, Dirk

-- 
Hell, there are no rules here - we're trying to accomplish something. 
                                                  -- Thomas A. Edison



[Rd] Depending on many packages: another best practice question
Dirk Eddelbuettel