On Thu, Sep 24, 2015 at 11:40:57AM +0200, Ricardo Wurmus wrote: > Maybe it would be best to append the R version to the site-library > directory. I don’t think we should go further than that and bring in > the Guix hash, because I’m willing to trust that packages built with > version 3.2.2 are compatible with R 3.2.2, even if the inputs to our R > package changed and thus the hash is different.
The exception I can think of is when R provides compile time switches for blas or ssl (for example). We don't do that now (Nix does!), but if you had two R's with the same version number, it could just be that a module 'lifts' that dependency and strictly works with one R (and not the other). It is the same for Ruby, Perl, Python, Apache, Firefox, etc. Anything that allows for building 'site' modules. I know this is mostly theoretical at this stage, but why not encourage strict isolation of interpreter+modules? That is the only way we'll guarantee independence between graphs. Nix/Guix does such a great job there, and now we allow interpreters to 'leak' their environments, just because of their convention and our trust in things that ought to work. And all it costs us is a partial SHA added to the path. So for Ruby it would be ~/.guix-profile/lib/ruby/2.2.0-edb92950/ instead of ~/.guix-profile/lib/ruby/2.2.0/ Personally I can live with the status quo, but somehow I prefer the exact isolation. Maybe it will come when someone gets hurt. Pj.