On Apr 15, 2010, at 6:19 PM, Ryan Schmidt wrote:

>> One solution is to install every port (and all of its dependencies) into its 
>> own "chroot-like" subdirectory with all of the correct dylib linkages. So 
>> each port you install might have its own personal copy of python built just 
>> the way it needs it. Since disk space is cheap, all we need to do is come up 
>> with binaries for each port+variant-combo, plus some other details here and 
>> there.
> 
> That sounds like a drastic departure from the way MacPorts works today. It 
> sounds like a lot of work, for I'm not sure what benefit.

I beg to differ - it's not all that drastic a departure.  There is a reason 
that MacPorts stages through a depot today rather than just smashing everything 
directly into ${prefix} out of destroot, and that reason is that we always 
wanted the option of someday being able to "instantiate" a port in some 
significantly more intelligent way.   It was always clear from day one that 
locations like /opt/local were significantly short on real-estate, with ports 
needing to use various versioning conventions in their names ("tcl-8.1") to 
avoid colliding as things got more full in there.

Wouldn't it be nicer if you could take a depot of installed ports + some 
registration metadata and, from that, construct the appropriate user 
environment such that simply typing "emacs" in a Terminal or ssh session still 
worked, even though you might have 11 different versions of emacs, with various 
options selected, actually in the depot?   I think the user experience, and the 
robustness of the system as a whole, should be seen as the primary objective 
here, everything else being just an implementation detail for which a 
surprising number of solutions already exist.

> Disk space isn't necessarily *that* cheap. For example, someone I was 
> recommending MacPorts to recently balked at the requirement to install Xcode, 
> since he did not have enough room to do so on the small drive that came with 
> his MacBook Air.

If MacPorts shipped binary packages, this wouldn't be an issue either.  I 
shouldn't need the entire MacPorts infrastructure + XCode + distribution 
tarballs + build scratch space just to be able to install one version of emacs 
on my system, either, so we have a ways to go towards *any* sort of disk space 
optimum here. :)

- Jordan

_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev

Reply via email to