Perl 5.8.8 already present on Leopard; can I make a "dummy" Portfile?

Philip K.F. Hölzenspies p.k.f.holzenspies at utwente.nl
Thu Jan 17 07:44:51 PST 2008


On Thursday 17 January 2008 16:21:16 Ryan Schmidt wrote:
> Welcome to MacPorts!

Thank you ;)

> http://trac.macosforge.org/projects/macports/wiki/
> FAQ#WhyisMacPortsusingitsownlibraries

I did indeed read this, but my point is slightly more subtle. Allow me to go 
through the entry in the FAQ in an inline manner:

<quote>
First, it makes ports more compatible across different versions of Darwin/OS 
X. If we can rely on e. g. openssl 0.9.8 from MacPorts, we don't have to test 
every port that needs ssl for every available openssl installation.
</quote>

My point was actually about a Portfile of a very specific version of perl 
(5.8.8), which happens to be exactly that version which comes with Leopard. 
This means that you only assume the default installation and only if 
explicitly mentioned in the Portfile. Thus, only the Portfile for perl5.8 
with version 5.8.8 would have a section for platform darwin 9 that exempts 
from actually installing it. This is consistent with the observation that 
MacPorts didn't actually bother installing it's own gcc, but rather simply 
keep on using the gcc installed with the DT package.

<quote>
Apple's software tends to break from time to  time (e. g. openssl refuses to 
build with an old zlib, but Apple shipped theold headers of the vulnerable 
zlib version).
</quote>

Absolutely true. However, when Apple shifts broken software, it does so with a 
version of the OS. Tiger contained a funky version of libgmp IIRC, in which 
case the libgmp Portfile for the version installed on Tiger would NOT exempt 
from installing when on a darwin 8 platform.

<quote>
Third reason is up-to-dateness: Apple only features e. g. Python 2.3, not 2.4, 
with which some software does not work. The drawbacks on this behaviour also 
are minimal: Wasting 10MB for a Python installation is next to nothing if you 
have a GB-harddisk and gain consistency all the way in return. 
</quote>

This point still holds. When Portfiles for perl5.8 with version 5.8.9 and 
5.8.10 do not have an exemption for darwin 9, they're simply installed. The 
quote above is slightly optimistic, however, in assuming a general 
up-to-dateness of MacPorts own portfile tree. This is not true, though. Like 
I said, ghc required Perl 5.8.8, but the tree contains packages for 5.8.9 and 
5.8.10 as well. When another package requires 5.8.9, is perl installed twice? 
When yet another package wants 5.8.10, is it installed yet another time? If 
this is not the case, what happens with perl 5.10?

Regards,
Philip


More information about the macports-users mailing list