Opened 4 years ago

Last modified 2 years ago

#60759 new defect

PortGroup ruby 1.0 only provides README file

Reported by: danielbair (Daniel Bair) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: portgroup Cc: kimuraw (kimura wataru), ryandesign (Ryan Carsten Schmidt)
Port: rb-ronn-ng

Description (last modified by danielbair (Daniel Bair))

rb-ronn-ng only contains README file

rb26-ronn-ng contains a working ronn, but it is versioned as ronn-2.6 and this doesn't work within the build for other ports. And all other "ronn" ports available are also versioned (ronn-1.9, ronn-2.4, ronn-2.5, etc.).

Please update rb-ronn-ng to contain a working unversioned ronn.

I am working on a new port for espeak-ng and it uses ronn to build its docs. (​https://github.com/macports/macports-ports/pull/7581)

EDIT: updated ruby 1.0 portgroup https://github.com/macports/macports-ports/pull/7647

Change History (10)

comment:1 in reply to:  description Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: kimuraw ryandesign added

Replying to danielbair:

rb-ronn-ng only contains README file

That's correct. As the readme says:

rb-ronn-ng is a stub port

This is how all php and python module ports are implemented: The main port is a stub that users are not meant to install. Users are meant to install the subport corresponding to the version of php or python with which they want to use the module. This is also how this ruby module port is implemented, though as you've discovered in #60758 not all ruby module ports have been done this way. Someone needs to do the work to fix any remaining ruby module ports so that they are "unified" and offer subports for each supported ruby version. Kimura is the person who has been most involved with our ruby ports before.

rb26-ronn-ng contains a working ronn, but it is versioned as ronn-2.6 and this doesn't work within the build for other ports.

What do you mean? What about this doesn't work?

comment:2 Changed 4 years ago by danielbair (Daniel Bair)

Ok, I didn't know about the stub idea. Maybe the short description could mention this.

What didn't work is that the Makefile for espeak-ng was looking for ronn not ronn-2.6 and I thus had to patch the Makefile.

comment:3 Changed 4 years ago by danielbair (Daniel Bair)

Could this stub port idea include variants? Like +24 +25 +26 etc.

comment:4 Changed 4 years ago by danielbair (Daniel Bair)

Ok, I see that it is the PortGroup ruby 1.0 that does the stub README.

Maybe it could also append to the short and long description a notice that this is a stub port and requires installing a versioned port.

comment:5 Changed 4 years ago by danielbair (Daniel Bair)

Could it also output a message at install time that this is a stub port.

Sorry for all the comments, I am new to MacPorts development.

comment:6 in reply to:  2 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to danielbair:

Ok, I didn't know about the stub idea. Maybe the short description could mention this.

It would be unfathomably tedious to have to modify each of the thousands of php, python, ruby and perl modules manually. Perhaps there is a way to have the applicable portgroups do it automatically. In that case, it might also make sense to do the same for the non-stub ports to indicate which python/perl/ruby/perl version it's for, though that should be clear from the port name.

What didn't work is that the Makefile for espeak-ng was looking for ronn not ronn-2.6 and I thus had to patch the Makefile.

Yes, you have to inform the build system to use the specific ruby version of the module you want. It depends on the build system as to whether they allow you to configure it with a flag or variable or if you have to patch it.

comment:7 in reply to:  3 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to danielbair:

Could this stub port idea include variants? Like +24 +25 +26 etc.

No, there wouldn't be a point to that. A user who wants a specific python/ruby/php/perl version of a module, and indeed all users, should use that specific subport.

Last edited 4 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:8 in reply to:  5 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to danielbair:

Could it also output a message at install time that this is a stub port.

It might be reasonable to modify the perl5/php/ruby/python portgroups to automatically append notes to the stub ports to let the user know they should install something else.

comment:9 Changed 4 years ago by danielbair (Daniel Bair)

Description: modified (diff)
Summary: rb-ronn-ng only contains README filePortGroup ruby 1.0 only provides README file

Ok, I have modified the ruby 1.0 port group for the stub port to add a depends to the default ruby subport for that module.

https://github.com/macports/macports-ports/pull/7647/files#diff-dd3e6cf1b328a0b5c2c8d4a8e7a435b4

comment:10 Changed 2 years ago by mascguy (Christopher Nielsen)

Keywords: portgroup added

Add keyword portgroup, to pg-related tickets

Note: See TracTickets for help on using tickets.