git: 8272d84a122f - main - www/h2o: Fix build with Ruby 3.x when MRUBY option is enabled

From: Yasuhiro Kimura <yasu_at_FreeBSD.org>
Date: Wed, 27 Apr 2022 07:33:00 UTC
The branch main has been updated by yasu:

URL: https://cgit.FreeBSD.org/ports/commit/?id=8272d84a122f4169c06d794415d598a8b965b43e

commit 8272d84a122f4169c06d794415d598a8b965b43e
Author:     Florian Smeets <flo@FreeBSD.org>
AuthorDate: 2022-04-23 14:32:45 +0000
Commit:     Yasuhiro Kimura <yasu@FreeBSD.org>
CommitDate: 2022-04-27 07:32:14 +0000

    www/h2o: Fix build with Ruby 3.x when MRUBY option is enabled
    
    Reference:      https://github.com/h2o/h2o/issues/2789
    PR:             263053
    Approved by:    maintainer
---
 www/h2o/Makefile                        |  7 ----
 www/h2o/files/patch-deps_mruby_Rakefile | 63 +++++++++++++++++++++++++++++++++
 2 files changed, 63 insertions(+), 7 deletions(-)

diff --git a/www/h2o/Makefile b/www/h2o/Makefile
index ce57e5a871da..27885b55a134 100644
--- a/www/h2o/Makefile
+++ b/www/h2o/Makefile
@@ -58,13 +58,6 @@ MRUBY_USES=		bison
 MRUBY_USE=		ruby=yes
 MRUBY_VARS=		RUBY_NO_RUN_DEPENDS=yes
 
-.include <bsd.port.options.mk>
-
-.if ${PORT_OPTIONS:MMRUBY}
-BROKEN_RUBY30=	yes
-BROKEN_RUBY31=	yes
-.endif
-
 post-patch:
 	@${REINPLACE_CMD} -e 's|exec perl|exec ${LOCALBASE}/bin/perl|' \
 		${WRKSRC}/share/h2o/annotate-backtrace-symbols \
diff --git a/www/h2o/files/patch-deps_mruby_Rakefile b/www/h2o/files/patch-deps_mruby_Rakefile
new file mode 100644
index 000000000000..edbd51a02ecd
--- /dev/null
+++ b/www/h2o/files/patch-deps_mruby_Rakefile
@@ -0,0 +1,63 @@
+--- deps/mruby/Rakefile.orig	2019-08-12 14:09:44 UTC
++++ deps/mruby/Rakefile
+@@ -37,15 +37,15 @@ bin_path = ENV['INSTALL_DIR'] || "#{MRUBY_ROOT}/bin"
+ task :default => :all
+ 
+ bin_path = ENV['INSTALL_DIR'] || "#{MRUBY_ROOT}/bin"
+-FileUtils.mkdir_p bin_path, { :verbose => $verbose }
++FileUtils.mkdir_p bin_path, verbose: $verbose
+ 
+ depfiles = MRuby.targets['host'].bins.map do |bin|
+   install_path = MRuby.targets['host'].exefile("#{bin_path}/#{bin}")
+   source_path = MRuby.targets['host'].exefile("#{MRuby.targets['host'].build_dir}/bin/#{bin}")
+ 
+   file install_path => source_path do |t|
+-    FileUtils.rm_f t.name, { :verbose => $verbose }
+-    FileUtils.cp t.prerequisites.first, t.name, { :verbose => $verbose }
++    FileUtils.rm_f t.name, verbose: $verbose
++    FileUtils.cp t.prerequisites.first, t.name, verbose: $verbose
+   end
+ 
+   install_path
+@@ -78,8 +78,8 @@ MRuby.each_target do |target|
+         install_path = MRuby.targets['host'].exefile("#{bin_path}/#{bin}")
+ 
+         file install_path => exec do |t|
+-          FileUtils.rm_f t.name, { :verbose => $verbose }
+-          FileUtils.cp t.prerequisites.first, t.name, { :verbose => $verbose }
++          FileUtils.rm_f t.name, verbose: $verbose
++          FileUtils.cp t.prerequisites.first, t.name, verbose: $verbose
+         end
+         depfiles += [ install_path ]
+       elsif target == MRuby.targets['host-debug']
+@@ -87,8 +87,8 @@ MRuby.each_target do |target|
+           install_path = MRuby.targets['host-debug'].exefile("#{bin_path}/#{bin}")
+ 
+           file install_path => exec do |t|
+-            FileUtils.rm_f t.name, { :verbose => $verbose }
+-            FileUtils.cp t.prerequisites.first, t.name, { :verbose => $verbose }
++            FileUtils.rm_f t.name, verbose: $verbose
++            FileUtils.cp t.prerequisites.first, t.name, verbose: $verbose
+           end
+           depfiles += [ install_path ]
+         end
+@@ -127,16 +127,16 @@ task :clean do
+ desc "clean all built and in-repo installed artifacts"
+ task :clean do
+   MRuby.each_target do |t|
+-    FileUtils.rm_rf t.build_dir, { :verbose => $verbose }
++    FileUtils.rm_rf t.build_dir, verbose: $verbose
+   end
+-  FileUtils.rm_f depfiles, { :verbose => $verbose }
++  FileUtils.rm_f depfiles, verbose: $verbose
+   puts "Cleaned up target build folder"
+ end
+ 
+ desc "clean everything!"
+ task :deep_clean => ["clean"] do
+   MRuby.each_target do |t|
+-    FileUtils.rm_rf t.gem_clone_dir, { :verbose => $verbose }
++    FileUtils.rm_rf t.gem_clone_dir, verbose: $verbose
+   end
+   puts "Cleaned up mrbgems build folder"
+ end