On Tue, Jun 21, 2022 at 1:43 PM Kurt Mosiejczuk <k...@openbsd.org> wrote:
> Ruby as of 3.0 stopped shipping Set. > > Sorted_set was split out of Set since it needed the external library > rbtree for > decent performance. > > Here are the three gems to import and make them available for Ruby 3.0/3.1 > > I've marked the FLAVORS as just "ruby30 ruby31" since ruby27 has them built > in and jRuby has its own implementations built in still. > > ok to import? > Ruby didn't stop shipping Set in Ruby 3.0, though it is true that sorted_set was removed. So importing ruby-set should not be necessary. Looks like sorted-set has a runtime dependency on the set gem, you should patch that out as it isn't necessary (make patch, then edit $WRKSRC/.metadata). I would remove the use of FLAVORS in rbtree and sorted_set. It's not a problem to build a Ruby 2.7 version, the Ruby 2.7 version is not built by default anyway, and removing FLAVORS will ease maintenance burden when Ruby 3.2 is added. For sorted_set, seems odd to comment out the .git* files in the package, but leave the bin directory. No objections to keeping it that way, though. For rbtree, it has a C extension, so CONFIGURE_STYLE should be "ruby gem ext". The ${GEM_LIB}/extensions directory should be removed from the PLIST. Most files from ${GEM_LIB}/gems/${DISTNAME} should be removed as well. I would change the rbtree PLIST to: ${GEM_LIB}/cache/${DISTNAME}.gem ${GEM_LIB}/gems/${DISTNAME}/ ${GEM_LIB}/gems/${DISTNAME}/LICENSE ${GEM_LIB}/gems/${DISTNAME}/MANIFEST ${GEM_LIB}/gems/${DISTNAME}/README ${GEM_LIB}/gems/${DISTNAME}/lib/ @so ${GEM_LIB}/gems/${DISTNAME}/lib/rbtree.so ${GEM_LIB}/gems/${DISTNAME}/test.rb ${GEM_LIB}/specifications/${DISTNAME}.gemspec Thanks, Jeremy