Mojca Miklavec mojca at
Sun Jul 27 01:59:13 PDT 2014

On Thu, Jul 24, 2014 at 11:20 AM, Joshua Root wrote:
> On 2014-7-24 01:20 , Mojca Miklavec wrote:
>> One slightly easier step-by-step approach could be the following
>> 1.) Replace
>>     perl5.branches      5.14 5.16 5.18
>> in all perl modules with
>>     perl5.branches_blacklist 5.8 5.10 5.12
>> or to remove branche_blacklist altogether if the module builds with
>> all perl versions. When that blacklist isn't present (or empty) simply
>> make the module work with all known perl versions (defined in the
>> PortGroup).
> There's no need for an additional option and code for blacklisting. If
> you want modules to opt out of perl versions rather than opting in, set
> a default for perl5.branches in the portgroup, containing all the
> versions. Then use perl5.branches-delete in portfiles to remove the perl
> versions that they don't work with.

Like this?

Index: _resources/port1.0/group/perl5-1.0.tcl
--- _resources/port1.0/group/perl5-1.0.tcl    (revision 122703)
+++ _resources/port1.0/group/perl5-1.0.tcl    (working copy)
@@ -39,6 +39,7 @@
 # perl5.default_branch: the branch used when you request p5-foo
 options perl5.default_branch perl5.branches
 default perl5.default_branch {[perl5_get_default_branch]}
+perl5.branches 5.8 5.10 5.12 5.14 5.16 5.18 5.20

 proc perl5_get_default_branch {} {
     global prefix perl5.branches
Index: perl/p5-wx/Portfile
--- perl/p5-wx/Portfile    (revision 122703)
+++ perl/p5-wx/Portfile    (working copy)
@@ -9,8 +9,8 @@
 # but earlier perl versions provide too old ParseXL versions and thus
cannot be built
 # So 5.14 is the lowest version of Perl that used to work until recently
 # but is now broken as well:
-#perl5.branches     5.8 5.10 5.12 5.14 5.16 5.18
-perl5.branches      5.16 5.18 5.20
+perl5.branches-delete \
+                    5.8 5.10 5.12 5.14
 perl5.setup         Wx 0.9923
 revision            1

Is it perfectly safe if I simply add
    perl5.branches 5.8 5.10 5.12 5.14 5.16 5.18 5.20
to the PortGroup and then start removing "perl5.branches" from
individual perl ports? If so, I would add that line, but I need a
confirmation from more experienced users.

> On another topic related to updating perl modules, how about we remove
> all the p5 ports that don't need to exist? If a module is not (directly
> or indirectly) (a) depending on something that is in MacPorts but not in
> CPAN, or (b) depended on by something that is in MacPorts but not in
> CPAN; it should really just be installed with CPAN.

I have mixed feelings about that. If nothing else people might install
modules with CPAN, then update MacPorts and their scripts might stop

We certainly need to fix a lot of things related to Perl, but it's
basically impossible to figure out which modules could be removed. We
might end up removing one module just to discover that someone
submitted a ticket to request some other piece of software that
requires the deleted module.


More information about the macports-dev mailing list