Messed up Perl

Michael_google gmail_Gersten keybounce at gmail.com
Mon Oct 4 13:31:28 PDT 2010


>> Wanting to use MacPorts does NOT mean I want to use it for EVERYTHING.  There's no need to user the MacPorts Perl, Python, or anything else that may already be installed on my iMac and is working fine.  If it ain't broke, don't fix it.
>
> That's one view, which is shared by some other package management systems, like, I believe, Fink and Homebrew. MacPorts, however, has taken the other view: that we will provide our own versions of (almost) all software, including software already provided by Mac OS X, and prefer to use it. This is explained in our FAQ:
>
> http://trac.macports.org/wiki/FAQ#syslibs
>
> http://trac.macports.org/wiki/FAQ#ownlibs

You missed the point.

If I install tool X, then I want the macports version of X. Overriding
the system X.

If tool X needs to install tool Y that might override the system Y,
then use the tool Y from tool X, but the system Y otherwise.

This can be done simply, by having the macports directory at the END
of the path (so that system tools override macports tools), having
macports programs call the macports utilities directly (instead of
relying on the path), and having a generic_select program that in
activated on all requested installs.

So, if I install macports perl, then perl_select makes macports perl
my perl. And, since "perl" comes with a bunch of utilities (cpan,
etc), those are also selected to be the macports version.

This way:
1. If something does not exist in the system, but is provided by
macports, it's available (end of path).
2. If something was added by macports, but not requested, it doesn't
get in the way of the system.
3. If something in macports needs a specific version, it gets it.
4. If something was requested of macports, then the macports version is used.

>> So, for any program with a local version and a system version, we need
>> a generic_select program.
>
>How is having a *_select problem going to be easier for people than using the full path to the >binary they want or having the user modify their $PATH to do what they want?

Because the select is done by macports when installed; the user just
runs the program, and now gets the macports version.

-- 
Political and economic blog of a strict constitutionalist
http://StrictConstitution.BlogSpot.com


More information about the macports-users mailing list