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.

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

Reply via email to