ryandesign at macports.org
Thu Jun 11 11:17:40 PDT 2009
On Jun 11, 2009, at 06:56, Thomas De Contes wrote:
> Le 11 juin 09 à 06:54, Ryan Schmidt a écrit :
>> On Jun 10, 2009, at 18:28, Thomas De Contes wrote:
>>> i want to install the port "gnat-gcc"
>>> for that, it needs to use an other (older) gnat
>> IMHO this port is in violation of the basic requirement that a
>> port should install everything it needs. If gnat needs an older
>> version of gnat to build, gnat must download and use an older
>> version of gnat.
> a port can download and use binaries ?
> i thought that it has to download only sources and compile all
Some ports download and install a binary. My ports oracle-
instantclient, isightcapture and sleepwatcher do this because source
is not available. istumbler and blender presumably do this because
the person who contributed the ports encountered insurmountable
obstacles trying to build from source.
But I was talking about ports that need to use a binary to build
themselves from source. This is common with compilers like gnat-gcc
and ghc which need an earlier version of themselves to compile the
newer version. This is not a problem for gcc because an older version
of gcc is included with Xcode. But gnat-gcc and ghc do not exist
already on OS X, therefore the ports must somehow provide one. ghc
does this the correct way, IMHO: It downloads a binary version of ghc
specific to the OS and processor, unpacks it, and uses it to build
the final version of ghc that gets installed. The gnat-gcc port does
this in a poor way, IMHO: it requires the user to either have a prior
version of the gnat-gcc port installed (obviously not possible the
first time a user tries to install the port), or to manually download
and install a binary version of gnat-gcc to a specific location
outside the MacPorts prefix.
More information about the macports-users