[55961] trunk/dports/python

Ryan Schmidt ryandesign at macports.org
Sun Aug 23 14:03:22 PDT 2009


On Aug 23, 2009, at 07:04, Jonas Bähr wrote:

> Am 22.08.2009 um 22:25 schrieb Ryan Schmidt:
>
>> On Aug 22, 2009, at 14:13, Jonas Bähr wrote:
>>
>>> R is needed to build and run. The install script looks for "R" in  
>>> PATH, that's all.
>>>
>>> The rational behind the custom R is to lighten the dependencies  
>>> for the user. The R-Project provides very good customizable  
>>> installer/binaries for Mac OS X. MacPorts's R port however can't  
>>> be customized at all and pulls in a complete gcc plus xorg. In my  
>>> eyes it's much more convenient for a user who already uses R to  
>>> continue to use his installation and install rpy2 within 5  
>>> minutes instead of spending 6 hours compiling xorg, gcc, and an  
>>> other bunch of dependencies for nothing. If the user's R comes in  
>>> PATH before macports R, it won't be used anyway.
>>
>> MacPorts does not use your $PATH at build time. It uses the value  
>> of binpath in macports.conf. So for this to work a user would at  
>> least have to add the location of their binary installation of R  
>> to the binpath, and maybe also to their runtime PATH.
>
> Hmm.. That's interesting, because it worked flawless here; my R is / 
> usr/bin/R.

Ok, then that's why it worked. The default binpath does of course  
include /usr/bin, since /usr/bin includes tons of essential commands  
without which most software could not be built.

It is pretty improper for a third-party tool to install itself into / 
usr/bin, though. That directory should be reserved for the OS vendor.


> I've just checked my macports.conf and there is indeed no binpath  
> entry. When was this introduced in the default config? I've never  
> touched mine, and the header sais:
> $Id: macports.conf.in 31197 2007-11-18 06:06:14Z jmpp at macports.org $

http://trac.macports.org/changeset/36127

If you do not specify binpath, the default (see below) is used.


>> The R port presumably requires a gcc port because it cannot be  
>> built with the gcc Apple provides.
>
> indeed, apple's gcc does not provide a fortran77 compiler. I didn't  
> say these dependencies are useless, just that they are quite heavy;  
> and I assumed that the resulting R won't even be used if the custom  
> R comes first in PATH, like in my installation.

Ah, but if you have not changed the binpath then the custom R path  
does not come first in your installation. :) The default binpath is:


${prefix}/bin:${prefix}/sbin:/bin:/sbin:/usr/bin:/usr/sbin:$ 
{x11prefix}/bin


http://guide.macports.org/chunked/internals.configuration- 
files.html#internals.configuration-files.macports-conf


(${x11prefix}/bin goes away with MacPorts 1.8.0.)


>> There are many many ports in MacPorts for software that needs  
>> xorg. They will all cause various xorg ports to be installed. That  
>> is not a reason not to use them.
>
> I'll file a ticket for a noX11 variant for the R port.

FYI the name we've standardized on for such a variant is "no_x11".


>> It is not the MacPorts way to use a user's software that was not  
>> installed with MacPorts. MacPorts is a package management system.  
>> It is supposed to manage your packages. But it cannot do that if  
>> you allow ports to use software that is outside of MacPorts.
>>
>> It would be best to remove the custom_r variant and make the port  
>> always use the MacPorts R port. If the R port does not provide all  
>> the options a user of R would expect, please file tickets  
>> requesting the R port be enhanced in whatever ways necessary.
>
> Ok then, I'll replace the variant with a comment in the Portfile so  
> that people who know what they are doing can manipulate the  
> Portfile to continue using their R installation:
> ---------8<---------8<---------
> # To continue using your custom R installation instead of MacPorts' R,
> # you have to remove this dependency line and make sure that your R
> # is in MacPorts' binpath, see your macports.conf for details.
> ---------8<---------8<---------
> Is that a compromise everybody can live with?

Perhaps....

But again what were the advantages of using the non-MacPorts R, aside  
from your concerns over the number of dependencies and the build  
time? You said it could be customized and the MacPorts R port could  
not. In what ways?





More information about the macports-dev mailing list