[MacPorts] #49570: ackmate: replace "!/usr/bin/env perl"
#49570: ackmate: replace "!/usr/bin/env perl" ---------------------+-------------------------------- Reporter: mojca@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Keywords: | Port: ackmate ---------------------+-------------------------------- The file {{{ /Applications/MacPorts/AckMate.tmplugin/Contents/Resources/ackmate_ack }}} from `ackmate` should be fixed to use the same version of Perl as `ack` uses. -- Ticket URL: <https://trac.macports.org/ticket/49570> MacPorts <https://www.macports.org/> Ports system for OS X
#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 mojca@…): I submitted a patch in r142097, but it doesn't automatically use the correct version of Perl. Ideally we should be able to get rid of specifying any version of Perl in that port and simply check which version of perl is used by `ack`. -- Ticket URL: <https://trac.macports.org/ticket/49570#comment:1> MacPorts <https://www.macports.org/> Ports system for OS X
#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 ryandesign@…): That would make ackmate not [wiki:RepeatableBuilds build reproducibly]. If ackmate (and ack) want to offer the option of building against different versions of perl, they must do so using variants. -- Ticket URL: <https://trac.macports.org/ticket/49570#comment:2> MacPorts <https://www.macports.org/> Ports system for OS X
#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 dluke@…): This would also be fixed by just having one version of perl5 (the current upstream stable release). -- Ticket URL: <https://trac.macports.org/ticket/49570#comment:3> MacPorts <https://www.macports.org/> Ports system for OS X
#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
#49570: ackmate: use perl5.22 ----------------------+-------------------------------- Reporter: mojca@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: ackmate | ----------------------+-------------------------------- -- Ticket URL: <https://trac.macports.org/ticket/49570#comment:5> MacPorts <https://www.macports.org/> Ports system for OS X
#49570: ackmate: use perl5.22 ----------------------+-------------------------------- Reporter: mojca@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: ackmate | ----------------------+-------------------------------- Comment (by devans@…): Note also that the way this app is constructed (not a typical perl build), you don't need to use the perl5 PortGroup and associated variables. Just add a dependency on perl5.22. -- Ticket URL: <https://trac.macports.org/ticket/49570#comment:6> MacPorts <https://www.macports.org/> Ports system for OS X
#49570: ackmate: hardcode full path to the perl interpreter ----------------------+-------------------------------- Reporter: mojca@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: ackmate | ----------------------+-------------------------------- -- Ticket URL: <https://trac.macports.org/ticket/49570#comment:7> MacPorts <https://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts