[MacPorts] #71435: Perl 5.34 possibly needs a patch on Tiger because of " $cf->{ccflags} .= ($cf->{ccflags} ? ' ' : '').'-Wno-error=implicit-function-declaration'; "

MacPorts noreply at macports.org
Sun Dec 1 20:58:59 UTC 2024


#71435: Perl 5.34 possibly needs a patch on Tiger because of " $cf->{ccflags} .=
($cf->{ccflags} ? ' ' : '').'-Wno-error=implicit-function-declaration';"
-----------------------+----------------------
 Reporter:  ballapete  |      Owner:  (none)
     Type:  defect     |     Status:  new
 Priority:  Normal     |  Milestone:
Component:  ports      |    Version:  2.10.5
 Keywords:  tiger      |       Port:  perl5.34
-----------------------+----------------------
 `/opt/local/lib/perl5/5.34/ExtUtils/CBuilder/Platform/darwin.pm` has these
 26 lines:

 {{{
       1 package ExtUtils::CBuilder::Platform::darwin;
       2
       3 use warnings;
       4 use strict;
       5 use ExtUtils::CBuilder::Platform::Unix;
       6
       7 our $VERSION = '0.280236'; # VERSION
       8 our @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
       9
      10 sub compile {
      11   my $self = shift;
      12   my $cf = $self->{config};
      13
      14   # -flat_namespace isn't a compile flag, it's a linker flag.  But
      15   # it's mistakenly in Config.pm as both.  Make the correction
 here.
      16   local $cf->{ccflags} = $cf->{ccflags};
      17   $cf->{ccflags} =~ s/-flat_namespace//;
      18
      19   # XCode 12 makes this fatal, breaking tons of XS modules
      20   $cf->{ccflags} .= ($cf->{ccflags} ? ' ' : '').'-Wno-error
 =implicit-function-declaration';
      21
      22   $self->SUPER::compile(@_);
      23 }
      24
      25
      26 1;
 }}}

 Lines #19 and #20 are the interesting ones. When `test`ing Perl Modules
 that use `Build.PL` to build with self-written `Portfile`s I encounter
 complaints, and `compiler error`s about the passed argument `-Wno-error
 =implicit-function-declaration`. I think MacPorts' regular `Portfile`s use
 this work-around:

 {{{
     compiler.blacklist-append \
                      *gcc-4.*
 }}}

 together with

 {{{
     perl5.use_module_build
 }}}

 Shouldn't a patch for
 `/opt/local/lib/perl5/5.34/ExtUtils/CBuilder/Platform/darwin.pm` be
 preferred? The XCode 12 problem does not exist in a dozen of Mac OS X and
 macOS versions and could be sharper formulated.

-- 
Ticket URL: <https://trac.macports.org/ticket/71435>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list