Switching to Perl 5.16

Joshua Root jmr at macports.org
Mon Jul 1 10:33:44 PDT 2013


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?)

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?)

- Josh


More information about the macports-dev mailing list