Naive question about perl versions (LaTeXML)

Bruce Miller bruce.miller at nist.gov
Wed Feb 18 03:35:51 PST 2015


On 02/17/2015 10:22 PM, Ryan Schmidt wrote:
>
> On Feb 17, 2015, at 2:36 PM, Bruce Miller wrote:
>
>> Hi all;
>>   The portfile for LaTeXML (with the help
>> of mojca and others on this list) now has lines
>> to the effect:
>>
>> PortGroup           perl5 1.0
>> perl5.branches      5.8 5.10 5.12 5.14 5.16 5.18 5.20
>>
>> and
>>
>> if {${perl5.major} ne ""} {
>>     depends_lib-append \
>>         port:p${perl5.major}-archive-zip \
>>         port:p${perl5.major}-file-which \
>>   ...
>>
>> My understanding is that LaTeXML is thus
>> ready to run under "any" version of perl5.
>>
>> But:
>> (1) the listing under available ports for LaTeXML
>>   shows dependencies on p5.16-archive-zip, etc.
>> and
>> (2) a user reported a problem when trying to install
>> LaTeXML that it depended on p5.12-archive-zip which was
>> obsolete, recommending p5.16-archive-zip.
>>
>> Is the reason for (1) that 5.16 is currently the "default" perl,
>> and the reason for (2) that that user currently has perl 5.12
>> installed? (and thus should upgrade to perl 5.16)
>>
>> Just checking that I understand what's going on;
>> I'm preparing to make a release 0.8.1 of LaTeXML
>> and want to get it right...
>
> It sounds like the LaTeXML port builds itself differently (with different dependencies) depending on what variant of the perl5 port is installed. Ports that change their behavior depending on what other ports are already installed is an antipattern. Port builds should always do the same thing, regardless what else is already on the user's system. So I don't know why this functionality of the perl5 portgroup exists.

A good principle, in principle;
But a common idiom is for an unversioned dependency, or a dependency
with version at least some particular one, so as to avoid having to
continually track all versions in Portfiles (or specfiles, etc).

FWIW: I'm not clever enough with MacPorts to have come up with
that strategy all on my own... but sorry, in any case!

I've opened ticket #46896 (https://trac.macports.org/ticket/46896)
to sort it out, and ultimately to update LaTeXML to 0.8.1.

Thanks;
bruce



More information about the macports-dev mailing list