<pre style='margin:0'>
Michael Dickens (michaelld) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/fafb8b0e4c0f64c7c2e811f22b0b4f7293cd7d21">https://github.com/macports/macports-ports/commit/fafb8b0e4c0f64c7c2e811f22b0b4f7293cd7d21</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new fafb8b0e4c0 ruby30: Fix build on 10.4, 10.5
</span>fafb8b0e4c0 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit fafb8b0e4c0f64c7c2e811f22b0b4f7293cd7d21
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Wed Jan 18 17:08:49 2023 -0800

<span style='display:block; white-space:pre;color:#404040;'>    ruby30: Fix build on 10.4, 10.5
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Also enables universal builds, where possible.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    This incorporates the new patches from ruby27, all of which are
</span><span style='display:block; white-space:pre;color:#404040;'>    relevant to ruby30.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    All source patches are now in a single patchfile derived from the ruby
</span><span style='display:block; white-space:pre;color:#404040;'>    fork at github.com/fhgwright/ruby.  The changes are much more
</span><span style='display:block; white-space:pre;color:#404040;'>    readable in the git repo.  A second patchfile (also derived from the
</span><span style='display:block; white-space:pre;color:#404040;'>    GitHub fork) patches 'configure' to reflect the source changes without
</span><span style='display:block; white-space:pre;color:#404040;'>    rerunning autoconf.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Although this update mostly only affects previously failing builds,
</span><span style='display:block; white-space:pre;color:#404040;'>    it also changes the i386 context handling in successful builds as well,
</span><span style='display:block; white-space:pre;color:#404040;'>    therefore requiring a revbump.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    In theory, the installed content should be unchanged on successful
</span><span style='display:block; white-space:pre;color:#404040;'>    non-i386 builds.  In practice, there appear to be nonreproducible
</span><span style='display:block; white-space:pre;color:#404040;'>    build issues affecting libruby.3.0-static.a and many .gemspec files,
</span><span style='display:block; white-space:pre;color:#404040;'>    though there are presumably no effective differences.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Narrows compiler blacklisting to the one offending case.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Universal builds are now enabled using ruby's built-in universal
</span><span style='display:block; white-space:pre;color:#404040;'>    mechanism (as in ruby27).  Compiler issues currently prevent building
</span><span style='display:block; white-space:pre;color:#404040;'>    universal on 10.4 and 10.5, though it's believed that they would work
</span><span style='display:block; white-space:pre;color:#404040;'>    otherwise.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes a couple of typos in a Portfile comment.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Cleans up long lines in Portfile comments.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Also adds self as co-maintainer.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    TESTED:
</span><span style='display:block; white-space:pre;color:#404040;'>    Built successfully -universal on OSX 10.4-10.5 ppc, 10.4-10.6 i386,
</span><span style='display:block; white-space:pre;color:#404040;'>    10.5-10.15 x86_64, and 11.x-13.x arm64.  Also successfully built
</span><span style='display:block; white-space:pre;color:#404040;'>    +universal in all 10.6+ cases except 10.14-10.15 (SDK restriction).
</span>---
 lang/ruby30/Portfile                   |  89 ++++++++++++--
 lang/ruby30/files/patch-generated.diff |  39 +++++++
 lang/ruby30/files/patch-random.c.diff  |  20 ----
 lang/ruby30/files/patch-sources.diff   | 208 +++++++++++++++++++++++++++++++++
 4 files changed, 325 insertions(+), 31 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/ruby30/Portfile b/lang/ruby30/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5e71b22107e..ceb7e24a045 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/ruby30/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/ruby30/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7,10 +7,12 @@ PortGroup           compiler_blacklist_versions 1.0
</span> 
 name                ruby30
 version             3.0.5
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> 
 categories          lang ruby
<span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers         {kimuraw @kimuraw} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {kimuraw @kimuraw} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    {fwright.net:fw @fhgwright} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    openmaintainer
</span> platforms           darwin
 
 description         Powerful and clean object-oriented scripting language
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -33,8 +35,6 @@ checksums           md5 cdff2395625dc1d632fc5400c8fec103 \
</span>                     sha256 9afc6380a027a4fe1ae1a3e2eccb6b497b9c5ac0631c12ca56f9b7beb4848776 \
                     size 21312118
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-universal_variant   no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # ruby/openssl does not support openssl-3
 openssl.branch      1.1
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -50,18 +50,59 @@ depends_skip_archcheck pkgconfig
</span> select.group        ruby
 select.file         ${filespath}/ruby30
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# patch-random.c.diff: fix build error at Lion (#63571)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles          patch-random.c.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Patches derived from MacPorts-enhanced GitHub fork at
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# github.com/fhgwright/ruby
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# patch-sources.diff: fixes for build problems on 10.4 and 10.5.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Also, since the previous patch-random.c.diff (fix for 10.7 build error)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# wasn't renormalized for 3.0.5, it has been folded into this diff, rather
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# than being retained as is.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This diff is from v3_0_5 vs. macports-3_0_5r1.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   patch-sources.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# patch-generated.diff: additional patches to generated files, which don't
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# exist in the upstream git sources, and which must be patched after the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# source patches so that make doesn't regard them as outdated.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# At present, the only patched generated file is 'configure', to avoid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# the need to rerun autoconf, whose output has reproducibility issues.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This diff is from tarball-3_0_5 vs. macports-tarball-3_0_5r1.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   patch-generated.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# It's recommended that the reinplace patch be folded into the combined
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# source patch in a future update (the fork already has a commit for it).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Using a patch instead of reinplace for the 'gem' versioning fix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# would be more readable and more trackable.  A commit version of this already
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# exists in the fork, in the macports-reinplace-3_0 branch.
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#----------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#-------------------------------------------------------------------------------
</span> # Fix compilation on buildbots for 10.12 and earlier.
 # Issue: 62183: error: use of undeclared identifier 'fmt'; did you mean 'fma'?
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#----------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This issue only appears in Xcode clang 9 (clang 900), not MacPorts clang 9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# (clang 901), so the blacklisting can be narrow.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#-------------------------------------------------------------------------------
</span> compiler.blacklist-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    { clang < 901 }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    { clang >= 900 < 901 }
</span> 
 compiler.thread_local_storage yes
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# At least one version of clang doesn't offer cstdbool (introduced in C++11)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# with -stdlib=libstc++ but still reports as C++14.  This causes an include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# failure in include/ruby/internal/stdbool.h when built as C++.  Setting the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# standard to C++03 removes the expectation that cstdbool is available.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This has only been observed when building for 10.5, and in fact, ruby
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# makes very little use of C++, and would probably be fine if this were
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# unconditional.  Nevertheless, we limit it to the failing case.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[string match *clang* ${configure.compiler}] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    && ${configure.cxx_stdlib} eq "libstdc++"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    configure.cxxflags-append -std=c++03
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> configure.args      --enable-shared \
                     --enable-install-static-library \
                     --disable-install-doc \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -82,8 +123,8 @@ configure.args-append   AR=${prefix}/bin/ar RANLIB=${prefix}/bin/ranlib
</span> # see ruby27/Portfile
 post-build {
     if {${os.major} >= 20} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        # ruby saves its' compile options (CFLAGS, LDFLAGS, ..) in "rbconfig.rb" at build,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # and uses the options when complile binary extensions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # ruby saves its compile options (CFLAGS, LDFLAGS, ..) in "rbconfig.rb"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # at build, and uses the options when compiling binary extensions.
</span> 
         # rewrite MacOSX11.1.sdk -> MacOSX.sdk in rbconfig.rb
         file copy ${worksrcpath}/rbconfig.rb ${worksrcpath}/rbconfig.rb.orig
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -108,6 +149,17 @@ post-patch {
</span>     # end
     reinplace -E "s/(shellsplit .. .)(\"gem\")/\\1\"gem3.0\"/g" \
         ${worksrcpath}/lib/bundler/gem_helper.rb
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Ensure that generated files have clearly later mtimes than sources,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # to avoid gratuitous rebuilds by make.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # This is already nominally true based on the patching order, but
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # one-second resolution on timestamps may cover it up.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Increment the mtime(s) by one second.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach genfile [list configure] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set genfull ${worksrcpath}/${genfile}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file mtime ${genfull} [expr [file mtime ${genfull}] + 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> }
 
 post-destroot {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -145,6 +197,21 @@ variant jemalloc description "use jemalloc" {
</span>         depends_lib-append      port:jemalloc
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+variant universal {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # (Copied from ruby27)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Disable parallel builds for Universal case
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # See: https://trac.macports.org/ticket/24240
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        use_parallel_build      no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # use ruby built-in universal mechanism.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append   --with-arch=[join ${universal_archs} ,]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # clear macports' universal flags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.universal_cflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.universal_cppflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.universal_cxxflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.universal_ldflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> variant relative description "Enable relative loading of libraries to allow for relocation of binaries." {
         #enable relative loading
         configure.args-append  --enable-load-relative
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/ruby30/files/patch-generated.diff b/lang/ruby30/files/patch-generated.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..9539649fb20
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/ruby30/files/patch-generated.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,39 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.orig 2022-11-24 03:04:58.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure      2023-01-18 14:26:48.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9237,6 +9237,8 @@ case "$target_archs" in #(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ARCH_FLAG=-m64 ;; #(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   i[3-6]86) :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ARCH_FLAG=-m32 ;; #(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  ppc) :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    ARCH_FLAG=-m32 ;; #(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   *) :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     as_fn_error $? "unknown target architecture: $target_archs" "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9335,6 +9337,8 @@ case "$target_cpu" in #(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ARCH_FLAG=-m64 ;; #(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   i[3-6]86) :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ARCH_FLAG=-m32 ;; #(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  ppc) :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    ARCH_FLAG=-m32 ;; #(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   *) :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     as_fn_error $? "unknown target architecture: $target_archs" "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -28712,6 +28716,18 @@ printf %s "checking native coroutine imp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             rb_cv_coroutine=arm64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+          ;; #(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  *86-darwin*) :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            rb_cv_coroutine=x86
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++         ;; #(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  ppc*-darwin8*) :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            rb_cv_coroutine=copy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++         ;; #(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  universal-darwin8*) :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            rb_cv_coroutine=copy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++         ;; #(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   x*64-linux*) :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             case "$ac_cv_sizeof_voidp" in #(
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/ruby30/files/patch-random.c.diff b/lang/ruby30/files/patch-random.c.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index a3f117e837f..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/ruby30/files/patch-random.c.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,20 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- random.c.orig  2021-07-07 19:08:35.000000000 +0900
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ random.c       2021-10-07 00:15:59.000000000 +0900
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -477,7 +477,16 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #elif defined MAC_OS_X_VERSION_10_7 && MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#include <Security/Security.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* #include <Security/Security.h> */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * fix "error: use of undeclared identifier 'kSecRandomDefault'"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * https://trac.macports.org/ticket/63571
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * some old versions of SDKs do not import SecRandom.h in Security.h.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * this problem will be fixed at ruby-3.0.3.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *     https://github.com/ruby/ruby/commit/bf089d786a7ee1fa8c972e10bb31b23ba30a1438#diff-32cd45cbdc2d400fa3c2d0f7889e737f7837404a0bf31692c9e7ef014cfba568
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <Security/SecRandom.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fill_random_bytes_syscall(void *seed, size_t size, int unused)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/ruby30/files/patch-sources.diff b/lang/ruby30/files/patch-sources.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..d9fc6f71ec7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/ruby30/files/patch-sources.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,208 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- .gdbinit.orig  2022-11-24 03:04:56.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ .gdbinit       2023-01-18 14:26:47.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,4 +1,5 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-set startup-with-shell off
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Move this to end, so failure on older gdbs doesn't blow the rest
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# set startup-with-shell off
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ define hook-run
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   set $color_type = 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1349,3 +1350,6 @@ define print_flags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   printf "RUBY_FL_USER17      : %s\n", ((struct RBasic*)($arg0))->flags & RUBY_FL_USER17 ? "1" : "0"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   printf "RUBY_FL_USER18      : %s\n", ((struct RBasic*)($arg0))->flags & RUBY_FL_USER18 ? "1" : "0"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Moved from beginning, since it fails on older gdbs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set startup-with-shell off
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.ac.orig      2022-11-24 03:04:56.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure.ac   2023-01-18 14:26:47.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2433,6 +2433,15 @@ AS_CASE([$rb_cv_coroutine], [yes|''], [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         [arm64-darwin*], [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             rb_cv_coroutine=arm64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         ],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        [*86-darwin*], [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            rb_cv_coroutine=x86
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        ],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        [ppc*-darwin8*], [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            rb_cv_coroutine=copy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        ],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        [universal-darwin8*], [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            rb_cv_coroutine=copy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        ],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         [x*64-linux*], [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             AS_CASE(["$ac_cv_sizeof_voidp"],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 [8], [ rb_cv_coroutine=amd64 ],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- dln.c.orig     2022-11-24 03:04:56.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ dln.c  2023-01-18 14:26:47.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1350,8 +1350,7 @@ dln_load(const char *file)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       if (dln_incompatible_library_p(handle)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #   if defined __APPLE__ && \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    defined(MAC_OS_X_VERSION_MIN_REQUIRED) && \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    (MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_11)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 101100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           /* dlclose() segfaults */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           rb_fatal("%s - %s", incompatible, file);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #   else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- error.c.orig   2022-11-24 03:04:56.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ error.c        2023-01-18 14:26:47.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -649,7 +649,7 @@ preface_dump(FILE *out)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   "-- Crash Report log information "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   "--------------------------------------------\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   "   See Crash Report log file under the one of following:\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# if MAC_OS_X_VERSION_MIN_REQUIRED < 1060
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   "     * ~/Library/Logs/CrashReporter\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   "     * /Library/Logs/CrashReporter\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -674,7 +674,7 @@ postscript_dump(FILE *out)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   "[IMPORTANT]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   /*" ------------------------------------------------"*/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   "\n""Don't forget to include the Crash Report log file under\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# if MAC_OS_X_VERSION_MIN_REQUIRED < 1060
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   "CrashReporter or "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   "DiagnosticReports directory in bug reports.\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- file.c.orig    2022-11-24 03:04:56.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ file.c 2023-01-18 14:26:47.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -152,6 +152,23 @@ int flock(int, int);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # include <stdlib.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined HAVE_REALPATH && defined __APPLE__ && \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1060
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* realpath() on OSX < 10.6 doesn't implement automatic allocation */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <sys/syslimits.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static char *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++realpath_wrapper(const char *file_name, char *resolved_name)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if (resolved_name == NULL) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        resolved_name = malloc(PATH_MAX);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if (resolved_name == NULL) return NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return realpath(file_name, resolved_name);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define realpath_wrapper realpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "dln.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "encindex.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "id.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4440,7 +4457,8 @@ rb_check_realpath_internal(VALUE basedir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (origenc) unresolved_path = TO_OSPATH(unresolved_path);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    if ((resolved_ptr = realpath(RSTRING_PTR(unresolved_path), NULL)) == NULL) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if ((resolved_ptr = realpath_wrapper(RSTRING_PTR(unresolved_path), NULL))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        == NULL) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         /* glibc realpath(3) does not allow /path/to/file.rb/../other_file.rb,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            returning ENOTDIR in that case.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            glibc realpath(3) can also return ENOENT for paths that exist,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- io.c.orig      2022-11-24 03:04:56.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ io.c   2023-01-18 14:26:47.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -114,6 +114,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # include <copyfile.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Some OSes (e.g., OSX < 10.6) implement fcopyfile() but not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * COPYFILE_STATE_COPIED.  Since the only use of the former here
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * requires the latter, we disable the former when the latter is undefined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef COPYFILE_STATE_COPIED
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef HAVE_FCOPYFILE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "ruby/internal/stdbool.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "ccan/list/list.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "dln.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- random.c.orig  2022-11-24 03:04:56.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ random.c       2023-01-18 14:26:47.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -474,7 +474,16 @@ fill_random_bytes_urandom(void *seed, si
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #elif defined MAC_OS_X_VERSION_10_7 && MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <Security/Security.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* #include <Security/Security.h> */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * fix "error: use of undeclared identifier 'kSecRandomDefault'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * https://trac.macports.org/ticket/63571
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * some old versions of SDKs do not import SecRandom.h in Security.h.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * this problem will be fixed at ruby-3.0.3.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *     https://github.com/ruby/ruby/commit/bf089d786a7ee1fa8c972e10bb31b23ba30a1438#diff-32cd45cbdc2d400fa3c2d0f7889e737f7837404a0bf31692c9e7ef014cfba568
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <Security/SecRandom.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fill_random_bytes_syscall(void *seed, size_t size, int unused)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- signal.c.orig  2022-11-24 03:04:56.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ signal.c       2023-01-18 14:26:47.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -841,7 +841,8 @@ check_stack_overflow(int sig, const uint
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     const greg_t bp = mctx->gregs[REG_EBP];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #   endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # elif defined __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#   if __DARWIN_UNIX03
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#   include <AvailabilityMacros.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#   if MAC_OS_X_VERSION_MAX_ALLOWED >= 1050
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #     define MCTX_SS_REG(reg) __ss.__##reg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #   else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #     define MCTX_SS_REG(reg) ss.reg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- template/Makefile.in.orig      2022-11-24 03:04:56.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ template/Makefile.in   2023-01-18 14:26:47.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -214,7 +214,7 @@ AR            = @AR@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ARFLAGS       = @ARFLAGS@$(empty)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ RANLIB        = @RANLIB@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AS            = @AS@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-ASFLAGS       = @ASFLAGS@ $(INCFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ASFLAGS       = @ASFLAGS@ $(ARCH_FLAG) $(INCFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ IFCHANGE      = $(tooldir)/ifchange
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OBJDUMP       = @OBJDUMP@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OBJCOPY       = @OBJCOPY@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- tool/m4/ruby_default_arch.m4.orig      2022-11-24 03:04:56.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ tool/m4/ruby_default_arch.m4   2023-01-18 14:26:47.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4,6 +4,7 @@ AC_MSG_CHECKING([arch option])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AS_CASE([$1],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   [*64],        [ARCH_FLAG=-m64],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   [[i[3-6]86]], [ARCH_FLAG=-m32],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  [ppc], [ARCH_FLAG=-m32],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   [AC_MSG_ERROR(unknown target architecture: $target_archs)]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_MSG_RESULT([$ARCH_FLAG])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- tool/transform_mjit_header.rb.orig     2022-11-24 03:04:56.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ tool/transform_mjit_header.rb  2023-01-18 14:26:47.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -184,7 +184,9 @@ module MJITHeader
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   def self.conflicting_types?(code, cc, cflags)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     with_code(code) do |path|
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       cmd = "#{cc} #{cflags} #{path}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      out = IO.popen(cmd, err: [:child, :out], &:read)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      # As per gcc docs, set LC_ALL=C to avoid curly quotes in messages
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      cmd_env = {"LC_ALL" => "C"}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      out = IO.popen(cmd_env, cmd, err: [:child, :out], &:read)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       !$?.success? &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         (out.match?(/error: conflicting types for '[^']+'/) ||
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+          out.match?(/error: redefinition of parameter '[^']+'/))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- vm_dump.c.orig 2022-11-24 03:04:56.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ vm_dump.c      2023-01-18 14:26:47.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -462,7 +462,8 @@ rb_vmdebug_thread_dump_state(VALUE self)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if defined __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# if __DARWIN_UNIX03
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# include <AvailabilityMacros.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# if MAC_OS_X_VERSION_MAX_ALLOWED >= 1050
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #   define MCTX_SS_REG(reg) __ss.__##reg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #   define MCTX_SS_REG(reg) ss.reg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -473,7 +474,8 @@ rb_vmdebug_thread_dump_state(VALUE self)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # ifdef HAVE_LIBUNWIND
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  undef backtrace
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  define backtrace unw_backtrace
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# elif defined(__APPLE__) && defined(__x86_64__) && defined(HAVE_LIBUNWIND_H)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# elif defined(__APPLE__) && defined(__x86_64__) && defined(HAVE_LIBUNWIND_H) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       && MAC_OS_X_VERSION_MIN_REQUIRED >= 1060
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  define UNW_LOCAL_ONLY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  include <libunwind.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  include <sys/mman.h>
</span></pre><pre style='margin:0'>

</pre>