Switching to Perl 5.16

Jeremy Huddleston Sequoia jeremyhu at apple.com
Mon Jul 1 10:58:49 PDT 2013


On Jul 1, 2013, at 10:33 AM, Joshua Root <jmr at macports.org> wrote:

> On 2013-7-2 02:30 , Jeremy Huddleston Sequoia wrote:
>> 
>> On Jul 1, 2013, at 3:44 AM, Joshua Root <jmr at macports.org> wrote:
>> 
>>>>> Anything that depends on intltool and uses the standard autoconf macros
>>>>> to check for it also needs to be updated when intltool is,
>>>>> unfortunately. INTLTOOL_PERL needs to match the perl used by intltool,
>>>>> or the configure script complains.
>>>> 
>>>> I tried setting +perl5_16 as a variant in my full rebuild this weekend, and intltool was certainly the biggest thorn..
>>>> 
>>>> Is there any reason not to just do something like this:
>>>> 
>>>> ...
>>> 
>>> There's no guarantee that perl5 is linked to the same perl version as
>>> p5-xml-parser's dependency uses.
>> 
>> 
>> Oh, we want to support changing perl variants on the fly then…
>> 
>> So then is this the correct approach we should be taking:
>> 
>> Index: Portfile
>> ===================================================================
>> --- Portfile	(revision 107485)
>> +++ Portfile	(working copy)
>> @@ -2,9 +2,11 @@
>> # $Id$
>> 
>> PortSystem      1.0
>> +PortGroup       perl5 1.0
>> 
>> name            intltool
>> version         0.50.2
>> +revision        1
>> maintainers     nomaintainer
>> categories      textproc gnome
>> license         GPL-2+
>> @@ -31,13 +33,13 @@
>> 
>> depends_build   port:gnome-common
>> depends_lib     port:expat \
>> -                port:perl5.12 \
>> -                port:p5.12-xml-parser \
>> -                port:p5.12-getopt-long \
>> -                port:p5.12-pathtools \
>> -                port:p5.12-scalar-list-utils
>> +                port:perl5 \
>> +                port:p${perl5.major}-xml-parser \
>> +                port:p${perl5.major}-getopt-long \
>> +                port:p${perl5.major}-pathtools \
>> +                port:p${perl5.major}-scalar-list-utils
>> 
>> -configure.perl  ${prefix}/bin/perl5.12
>> +configure.perl  ${prefix}/bin/perl${perl5.major}

> Still doesn't work. perl5.major isn't guaranteed to be the same at build
> time and activation time. (And what do dependents use for INTLTOOL_PERL?)

So then do we really need variants for each perl version in each dependent application?  Should we add logic to the perl5 port group that used perl5_Y variants for this stuff?  I don't want to see that mess land in Portfiles like it has for python.


> The problem isn't really with intltool itself, it's that the autoconf
> macro isn't smart enough to figure out which perl intltool is using on
> its own. (Or possibly that it even cares about such a thing; shouldn't
> the presence of a working intltool be enough without also checking for
> an implementation detail such as XML::Parser?)

I agree with that statement, but I also think we need a solution to the general problem of "hey I need perl with these modules, and I don't care what version of perl it is"

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4136 bytes
Desc: not available
URL: <http://lists.macosforge.org/pipermail/macports-dev/attachments/20130701/dae35901/attachment.p7s>


More information about the macports-dev mailing list