-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rb-netrc and friends: update to current versions, support modern Ruby #22181
Conversation
I don't think a lot of maintenance has happened for the Ruby ports of late. We should probably be clearing out the ancient stuff that is way out of support to the greatest extent possible. |
@pmetzger To be honest I have no objections to removing anything earlier than Ruby 3.1, and surely all 1.x stuff. That will make updating Ruby stuff far easier. There might be some sense in retaining archaic Ruby for the sake of Tiger (ppc and x86), but Tiger is not something I care about personally, so I do not insist on maintaining it. (10.5–10.6 on PowerPC should work with the latest Ruby 3.1+.) |
@pmetzger Here however there is no complication to have older Ruby supported – we need ruby.branches here anyway. I do not think this is a relevant problem with this specific port, since everything is the same. |
@pmetzger I was going to update several Ruby ports once these PRs are merged; if there is a consensus not to keep 1.x Ruby support (which I am okay with), I remove it with updates. Otherwise I can make all related updates preserving existing versions for Ruby 1.x. (I am not gonna bother determining which was the latest version to work with each old Ruby, but keeping what we already have is no problem.) |
So we've had a policy, for support and security reasons, of doing things like getting rid of truly ancient versions of Python. This isn't that different a situation. |
@pmetzger Okay, no issues with this from my side. I can move to new Ruby with upcoming updates and drop old ones. I may need to add a bit more into this PR to do it coherently without breaking some dependent. |
I suppose it depends on the question of how much stuff is dependent on old versions of Ruby. 1.8 and 1.9 are truly ancient at this point btw. |
@pmetzger Well, most of Macports Ruby stuff or it least a large part of it at the moment is for archaic Ruby. So you tell me which is better. Let us just do it some way, since the stuff is stuck unupdated for ages. We certainly do not want to have only archaic Ruby supported :) |
I don't know what's best. Someone on -dev may have an opinion. |
To be honest, it is ridiculous that Macports has a Ruby port which installs some pre-historic version. Even TigerBrew uses 2.x. IMO, it should follow Python model. No unversioned ports in general, get rid of the zoo of outdated and conflicting (!) versions, bring all existing Ruby ports to support 3.1+, perhaps dump everything earlier. There are arguably no reasons to have 1.8 and 1.9 both even for a sake of compatibility, since the earliest system we support, Tiger, should work with Ruby 2.4 and definitely with 1.9. |
As a Rubyist, I would generally agree, although I would keep Ruby 2.7 for another year or so, even though it is EOL. (I don't generally pay attention to MacPorts Ruby since I use ruby-build in one form or another to install the Ruby versions that I need.) |
@halostatue We do not need to remove versioned rubyX lang ports, they do not pose any problem. What does pose a problem is a multitude of mostly unversioned and very outdated ruby gems. |
rubygems was born at last of ruby-1.8/1.9 versions. like this:
|
@kimuraw What would you prefer, just moving to new Ruby (and dropping 1.8/1.9 ports) or retaining existing old versions for compatibility and adding modern ones along with those? |
So we typically have ports of packages in Perl and Python and other scripting languages for two purposes: (1) because someone wants the thing in itself and (2) because some other port depends on something. To the extent that little or nothing is in (2) and is dependent on something old, we have a great deal of freedom to simply update anything in category (1). That is to say, if little or nothing actually demands that we use some old crusty Ruby 1.8 thing, then we can drop it or replace it with the modern form. |
@halostatue On a side note – the question is not immediately related to this PR – could you say what can be done about this sort of errors?
I was gonna add some new packages, everything installs fine, but then I keep getting these silly errors with mismatching versions. And needed dependencies are installed, but for some reason Ruby cannot acknowledge these are acceptable versions. |
@barracuda156 Not offhand; I haven't used system-installed Rubies in a long time (and MacPorts would be one, even though it's not Apple native). I would need some more context on how you got to this point. However, RubyGems allows multiple simultaneous installations of different versions of gems, which is not natively supported by MacPorts (well, simultaneous installations are allowed, but not simultaneous activations). For MacPorts to properly manage RubyGems installations, we would need something like ten packages ( |
@barracuda156 I prefer former. but I wonder most of rb18|19 ports not work with recent versions of ruby. |
@kimuraw Got it, thank you. Then we can just update those for which modern versions are available. |
ff67500
to
a6ab10a
Compare
@kimuraw Let’s see if this works. Hopefully all dependents are taken care of, but if something missed, I will add that. |
what's the status of this - anyone interested in finishing this off? |
@reneeotten I will give it another go, yeah. While I don’t hold this important, this Ruby cleanup needs to be done, and not having it done prevents from adding anything useful for Ruby. |
@pmetzger Well, I know, because turned out that a tarball of It might build now, let’s see. |
UPD. Mostly, but not yet. Will finish this soon anyway. But I kinda get now why nobody wanted to touch Ruby stuff :) |
0c78926
to
b7cd078
Compare
b7cd078
to
fbd2afa
Compare
@barracuda156 If you want, you can add me ( |
@halostatue Awesome, sure, will do now. |
@pmetzger Are we good with this one? |
I'm not sure everything is perfect but things seem strictly better. Note that there is a stupid lint warning for rb-multi_json; I'd appreciate if you fixed it in a subsequent commit. |
@pmetzger Thank you for pointing, I will look into that lint issue. I will probably do some Ruby-related PR in a week or two: while I will be away from PowerPC machines, I do not need to test Ruby stuff there. (It will probably work on ppc, or if not, it is isolated and can be fixed later.) |
Description
This port can be updated to the latest version, since minimum required is 0: https://rubygems.org/gems/netrc
There is also zero reason to restrict it to Ruby 1.9.
(I guess, there is no point to add all the zoo of Ruby versions; I keep archaic ones since many Ruby ports in Macports still use those, and add modern ones.)
Type(s)
Tested on
macOS 14.2.1
Xcode 15.2
Verification
Have you
port lint --nitpick
?sudo port test
?sudo port -vst install
?