[MacPorts] #49570: ackmate: replace "!/usr/bin/env perl"

MacPorts noreply at macports.org
Fri Nov 6 10:31:19 PST 2015


#49570: ackmate: replace "!/usr/bin/env perl"
----------------------+--------------------------------
  Reporter:  mojca@…  |      Owner:  macports-tickets@…
      Type:  defect   |     Status:  new
  Priority:  Normal   |  Milestone:
 Component:  ports    |    Version:
Resolution:           |   Keywords:
      Port:  ackmate  |
----------------------+--------------------------------

Comment (by devans@…):

 As of r142181, ack builds using perl5.22 only, no variants.  So just need
 to configure ackmate to use perl5.22.

 It appears to me that ackmate invokes ackmate_ack programmatically in
 source/controllers/JPAckTypesProcess.m as follows:


 {{{
 - (void)invokeWithPath:(NSString*)path options:(NSArray*)options
 {
   ackState = ackInitial;

   self.ackTask = [[[NSTask alloc] init] autorelease];

   NSString* ackmateAck = [[[NSBundle bundleForClass:self.class]
 resourcePath] stringByAppendingPathComponent:@"ackmate_ack"];

   [self.ackTask setCurrentDirectoryPath:path];

   [self.ackTask setLaunchPath:@"/usr/bin/env"];
   NSMutableArray* args = [NSMutableArray arrayWithObjects:@"perl",
 ackmateAck, nil];

 }}}

 so this needs to be patched something like

 {{{
   [self.ackTask setLaunchPath:@"/opt/local/bin/perl5.22"];
   NSMutableArray* args = [NSMutableArray arrayWithObjects:ackmateAck,
 nil];
 }}}

 Because of this, the shebang in ackmate_ack is probably irrelevant.

 I can't test this hypothesis because ackmate fails during build for me on
 Yosemite. See attached main.log.

-- 
Ticket URL: <https://trac.macports.org/ticket/49570#comment:4>
MacPorts <https://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list