Opened 5 years ago
Last modified 8 months ago
#58975 assigned enhancement
vim: ruby variants
Reported by: | iefdev (Eric F) | Owned by: | raimue (Rainer Müller) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.5.4 |
Keywords: | Cc: | ||
Port: | vim |
Description
I just wanted to bounce a couple of ideas before going further (PR), or if you want to add it in yourself.
All the ruby variants… They keep growing, so I thought maybe it could be automated some way - and easier to update later.
So, could this be a good idea?
(see the attached diff/patch)
# Set latest version of ruby set rb_latest 26 variant ruby requires ruby18 description {Compatibility variant, requires +ruby18} {} set rb_versions {} for {set v 18} {$v <= ${rb_latest}} {incr v} { lappend rb_versions ruby${v} } foreach rb_version ${rb_versions} { set rbi [lsearch ${rb_versions} ${rb_version}] set rb_conflict_versions [lreplace ${rb_versions} ${rbi} ${rbi}] set rb_bin_version [regsub {(\d{1})(\d){1}} ${rb_version} {\1.\2}] variant ${rb_version} conflicts $rb_conflict_versions description {Enable Ruby scripting} { configure.args-append --enable-rubyinterp configure.args-append --with-ruby-command=${prefix}/bin/${rb_bin_version} } if {[variant_isset ${rb_version}]} { depends_lib-append port:[expr {${rb_version} eq {ruby18} ? {ruby} : ${rb_version}}] } }
That's all of them. It's about half the code of all variants written out.
Had to put the depends_lib-append
outside, or it chose the wrong port:rubyXX when specifying a variant.
---
The other idea was about the default/compatibility variant.
variant ruby requires ruby18 description {Compatibility variant, requires +ruby18} {}
Instead of using the very old ruby18… I'm thinking something like:
variant ruby description {Defaults to `ruby', and can be used with `ruby_select'} { configure.args-append --enable-rubyinterp configure.args-append --with-ruby-command=${prefix}/bin/ruby depends_lib-append port:ruby }
And it will use whatever version responds to ruby
. If users don't have ruby installed, it will still pull the 1.8 version, to start with.
Just an idea…
Attachments (1)
Change History (2)
Changed 5 years ago by iEFdev
Attachment: | vim_ruby-loops.patch added |
---|
Perhaps archaic Rubies should be removed, we only need 2.7+ or even 3.0+.