The ruby bindings for xapian do not build with ruby 2.5 as ruby 2.5 is a little more strict and doesn't allow excess arguments to rb_funcall. This uses a sed script in pre-configure to fix the issue, which is much easier than adding a very large patch.
Ruby 2.5 changes which documentation files are generated due to changes in rdoc, so this also removes the rdoc files from the package. With this change you can build packages for all 3 currently supported versions of ruby. Will commit in a few days unless I hear objections. Thanks, Jeremy Index: Makefile =================================================================== RCS file: /cvs/ports/databases/xapian-bindings/Makefile,v retrieving revision 1.11 diff -u -p -u -p -r1.11 Makefile --- Makefile 1 Dec 2017 14:41:22 -0000 1.11 +++ Makefile 12 Jul 2018 19:09:51 -0000 @@ -12,6 +12,7 @@ PKGNAME-python= xapian-bindings-python-$ PKGNAME-ruby= ruby${MODRUBY_BINREV}-xapian-${V} REVISION-python= 0 +REVISION-ruby= 0 MODULES= lang/python \ lang/ruby @@ -53,6 +54,10 @@ CONFIGURE_ARGS= --with-perl \ --without-csharp \ --without-java \ --without-lua + +pre-configure: + sed -i 's/\(rb_funcall(.*, 0\), NULL);/\1);/' \ + ${WRKSRC}/ruby/xapian_wrap.cc post-install: mv ${PREFIX}/share/doc/xapian-bindings/ruby{,${MODRUBY_BINREV}} Index: pkg/PLIST-ruby =================================================================== RCS file: /cvs/ports/databases/xapian-bindings/pkg/PLIST-ruby,v retrieving revision 1.1 diff -u -p -u -p -r1.1 PLIST-ruby --- pkg/PLIST-ruby 13 Nov 2017 23:36:05 -0000 1.1 +++ pkg/PLIST-ruby 12 Jul 2018 19:09:51 -0000 @@ -8,77 +8,3 @@ share/doc/xapian-bindings/ruby${MODRUBY_ share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/examples/simpleindex.rb share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/examples/simplematchdecider.rb share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/examples/simplesearch.rb -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/index.html -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/ -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/Xapian/ -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/Xapian.html -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/Xapian/LatLongCoord.html -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/Xapian/MultiValueKeyMaker/ -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/Xapian/MultiValueKeyMaker.html -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/Xapian/MultiValueKeyMaker/KeySpec.html -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/Xapian/Xapian/ -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/Xapian/Xapian.html -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/Xapian/Xapian/Database.html -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/Xapian/Xapian/Document.html -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/Xapian/Xapian/ESet.html -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/Xapian/Xapian/Enquire.html -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/Xapian/Xapian/ExpandTerm.html -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/Xapian/Xapian/LatLongCoords.html -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/Xapian/Xapian/MSet.html -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/Xapian/Xapian/Match.html -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/Xapian/Xapian/Posting.html -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/Xapian/Xapian/Query.html -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/Xapian/Xapian/Value.html -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/Xapian/Xapian/ValueCountMatchSpy.html -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/Xapian/Xapian/Xapian/ -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/Xapian/Xapian/Xapian.html -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/Xapian/Xapian/Xapian/Term.html -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/created.rid -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/css/ -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/css/fonts.css -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/css/rdoc.css -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/fonts/ -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/fonts/Lato-Light.ttf -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/fonts/Lato-LightItalic.ttf -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/fonts/Lato-Regular.ttf -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/fonts/Lato-RegularItalic.ttf -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/fonts/SourceCodePro-Bold.ttf -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/fonts/SourceCodePro-Regular.ttf -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/ -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/add.png -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/arrow_up.png -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/brick.png -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/brick_link.png -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/bug.png -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/bullet_black.png -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/bullet_toggle_minus.png -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/bullet_toggle_plus.png -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/date.png -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/delete.png -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/find.png -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/loadingAnimation.gif -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/macFFBgHack.png -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/package.png -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/page_green.png -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/page_white_text.png -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/page_white_width.png -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/plugin.png -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/ruby.png -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/tag_blue.png -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/tag_green.png -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/transparent.png -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/wrench.png -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/wrench_orange.png -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/images/zoom.png -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/index.html -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/js/ -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/js/darkfish.js -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/js/jquery.js -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/js/navigation.js -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/js/navigation.js.gz -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/js/search.js -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/js/search_index.js -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/js/search_index.js.gz -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/js/searcher.js -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/js/searcher.js.gz -share/doc/xapian-bindings/ruby${MODRUBY_BINREV}/rdocs/table_of_contents.html