Yesterday, Matthew Flatt wrote: > I have been thinking about how developers who build their own Racket > are more likely to want installation-wide packages instead of user- > and version-specific packages. This is particularly true for those > of us who work from the git respository.
(Another situation which I think is popular is to have an installation that is close to what your students would have, so you'd want to minimize such things.) > Maybe the default for a build `configure'd without `--prefix' (or, more > generally, for a non-Unix-style build) should be installation-wide > package installs, while the default for our pre-built distributions > should be user- and version-specific installs. I'm not following this completely: what about a build that does use a `--prefix'? Assuming that it would have a default of user-specific, then I think that it can be problematic -- at least as far as things went so far, I encouraged people to do the simple build and then move the directory around -- and there are lots of schools etc where such a setup makes a lot of sense. An extreme example is doing a `--prefix' build but doing so with the "stow" thing that eventually does a per-project directory that has its own layout -- such uses could just as well avoid the `--prefix' and get the same single-directory convenience. So making some decision based on `--prefix' seems like a bad idea in this light, since it's yet another small quirk to remember about building things. I'm also saying that based on the possibly wrong guess that the goal of this is to get defaults that "just work" for everyone, assuming that we can do whatever magic is needed to get user/version-specific packages in the resulting distributions, and assuming that `--prefix' is used only by 3rd-party packagers. I think that such an assumption is wrong, and there are lots of people who build from source using `--prefix', and these people would have that extra tweak to keep in mind. (And and bear in mind that a non-`--prefix' build is so much more convenient yet people still use it: it means that people only prefer it out of habit and other project conventions, so these people are unlikely to remember the extra tweak.) So assuming that I got everything right (which is highly questionable), I think that it's best to have the same default for all setups, and use an installation-wide installs by default only when asked explicitly. -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://barzilay.org/ Maze is Life! _________________________ Racket Developers list: http://lists.racket-lang.org/dev