Opened 7 years ago

Closed 5 years ago

#44580 closed defect (worksforme)

p5-unicode-linebreak: use /usr/bin/ar instead of ${prefix}/bin/ar

Reported by: Ionic (Mihai Moldovan) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: haspatch tracemode Cc:
Port: p5-unicode-linebreak

Description

p5-unicode-linebreak automatically generates a Makefile making use of ${prefix}/bin/ar.

This will break trace mode.

The possible solutions to this problem are:

  • add a build dependency on cctools
  • change the affected Makefiles to use /usr/bin/ar

As only one binary is required, I went the less invasive second way.

Attachments (1)

p5-unicode-linebreak-cctools.diff (456 bytes) - added by Ionic (Mihai Moldovan) 7 years ago.
use /usr/bin/ar instead of ${prefix}/bin/ar

Download all attachments as: .zip

Change History (5)

Changed 7 years ago by Ionic (Mihai Moldovan)

use /usr/bin/ar instead of ${prefix}/bin/ar

comment:1 Changed 7 years ago by ryandesign (Ryan Schmidt)

To prevent failure of the stub port, the post-configure block you added needs to be inside the if {$subport != $name} block (which for consistency with other perl modules should actually be a if {${perl5.major} != ""} block). But how does this path to ar get into the Makefile in the first place? I'd rather patch that, than patch the Makefile after configure.

comment:2 Changed 7 years ago by ryandesign (Ryan Schmidt)

Isn't this just ExtUtils::MakeMaker getting the values via Config from /opt/local/lib/perl5/5.20/darwin-thread-multi-2level/Config_heavy.pl? In which case isn't every perl module affected?

comment:3 in reply to:  1 Changed 7 years ago by Ionic (Mihai Moldovan)

Replying to ryandesign@…:

To prevent failure of the stub port, the post-configure block you added needs to be inside the if {$subport != $name} block (which for consistency with other perl modules should actually be a if {${perl5.major} != ""} block).

You're right, sorry.

Replying to ryandesign@…:

But how does this path to ar get into the Makefile in the first place? I'd rather patch that, than patch the Makefile after configure.

"configure" is a little bit over-euphemized for those perl ports. There's no Makefile template from which it would be generated, that I made sure. But I had no idea what exactly generated it either way.

Replying to ryandesign@…:

Isn't this just ExtUtils::MakeMaker getting the values via Config from /opt/local/lib/perl5/5.20/darwin-thread-multi-2level/Config_heavy.pl? In which case isn't every perl module affected?

Yes, probably! It was the only perl module affected I stumpled upon, but I don't have all of them installed either. A lot of modules don't need compilation or use other means of generating their Makefiles, so that's probably why I haven't seen other modules failing. Fixing the common issue is better though, yes. Thanks.

comment:4 Changed 5 years ago by Ionic (Mihai Moldovan)

Resolution: worksforme
Status: newclosed

I haven't come across this problem for some time now. Not sure what changed exactly, but if I cannot reproduce it, I'd rather close the ticket.

Note: See TracTickets for help on using tickets.