Opened 11 years ago

Closed 10 years ago

#37595 closed enhancement (fixed)

p5-app-ack: Rename to ack

Reported by: raimue (Rainer Müller) Owned by: mschout@…
Priority: Normal Milestone:
Component: ports Version: 2.1.2
Keywords: haspatch Cc: cooljeanius (Eric Gallager), redpola (Neil Brewitt), ryandesign (Ryan Carsten Schmidt)
Port: p5-app-ack ack

Description (last modified by raimue (Rainer Müller))

The p5-app-ack port does not provide a perl module but an application. Currently there are several ports where each installs a different ack-5.XY. Subports work for modules targeting multiple versions of perl5, but this is not useful for an application.

This port should be available as plain ack.

Attachments (1)

ack-rename.diff (2.2 KB) - added by raimue (Rainer Müller) 11 years ago.

Download all attachments as: .zip

Change History (16)

comment:1 Changed 11 years ago by raimue (Rainer Müller)

Description: modified (diff)

comment:2 in reply to:  description ; Changed 11 years ago by mschout@…

Replying to raimue@…:

The p5-app-ack port does not provide a perl module but an application. Currently there are several ports where each installs a different ack-5.XY. Subports work for modules targeting multiple versions of perl5, but this is not useful for an application.

This port should be available as plain ack.

It *is* available as plain ack. You just need to set your path properly. If you prefer version 5.14 of perl for example, your path needs to have /opt/local/libexec/perl5.14 in it. This is how macports handles bin scripts for multiple versions of perl.

Changed 11 years ago by raimue (Rainer Müller)

Attachment: ack-rename.diff added

comment:3 Changed 11 years ago by raimue (Rainer Müller)

Please apply the patch like this to record the copy information properly:

trunk/dports $ svn cp perl/p5-app-ack devel/ack
trunk/dports $ svn patch /tmp/ack-rename.diff

comment:4 in reply to:  2 Changed 11 years ago by raimue (Rainer Müller)

Replying to mschout@…:

It *is* available as plain ack. You just need to set your path properly. If you prefer version 5.14 of perl for example, your path needs to have /opt/local/libexec/perl5.14 in it. This is how macports handles bin scripts for multiple versions of perl.

In my opinion, for modules it's important to have them available for all available versions of perl. But this does not make sense for a tool like ack. Why do I have to choose from these different versions? Why do I have to change my PATH to use this tool?

comment:5 Changed 11 years ago by mschout@…

I do not know why macports does things this way.

Honestly this is why I prefer perlbrew for things like this.

comment:6 Changed 11 years ago by raimue (Rainer Müller)

comment:7 Changed 11 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:8 Changed 10 years ago by redpola (Neil Brewitt)

User expectation is that I type "port install p5-app-ack" and can then type "ack foobar" to use the tool I just installed.

Telling me on some trac page that I had difficulty finding that I need to update my path after installing p5-app-ack to get the "ack" command is really not acceptable.

I'd rather install the tool from source, which is probably not one of the aims of macports.

comment:9 Changed 10 years ago by redpola (Neil Brewitt)

Cc: neil@… added

Cc Me!

comment:10 Changed 10 years ago by mschout@…

I don't disagree with anything here, but I have no idea how, or if its even possible, to fix this in the current macports infrastructure. I don't really have any idea how this could be fixed in the port. If anyone wants to take a stab at it, patches are welcome.

comment:11 Changed 10 years ago by raimue (Rainer Müller)

Well, what about the patch I attached here? Why is it even called p5-app-ack? I just want the tool ack and I don't care which language it is written in.

comment:12 in reply to:  11 Changed 10 years ago by mschout@…

Replying to raimue@…:

Well, what about the patch I attached here? Why is it even called p5-app-ack? I just want the tool ack and I don't care which language it is written in.

But your patch does not install 'ack' It installs /opt/local/bin/ack-5.12. This hardly seems like an improvement other than the name of the port is changed. I'd rather see this fixed in a way that you get /opt/local/bin/ack installed from the port, but as said above, I have no idea if thats even possible within the constraints of macports perl build system.

comment:13 Changed 10 years ago by raimue (Rainer Müller)

You could always add an additional symlink. I have not checked whether the perl port group allows to leave out the version suffix with some option.

comment:14 in reply to:  13 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added
Keywords: rename removed

Replying to raimue@…:

I have not checked whether the perl port group allows to leave out the version suffix with some option.

It does; set perl5.link_binaries_suffix to empty. Perl app ports are expected to do this.

comment:15 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Keywords: haspatch added
Resolution: fixed
Status: newclosed

Fixed in r123593. Thanks Rainer for the patch.

Note: See TracTickets for help on using tickets.