<pre style='margin:0'>
kimura wataru (kimuraw) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/ef85285e802e6bace45f567cf7dd2d2287bd0d3f">https://github.com/macports/macports-ports/commit/ef85285e802e6bace45f567cf7dd2d2287bd0d3f</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 ef85285e802 ruby27: Fix build on 10.4, 10.5 (#17385)
</span>ef85285e802 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit ef85285e802e6bace45f567cf7dd2d2287bd0d3f
</span>Author: Fred Wright <fhgwright@users.noreply.github.com>
AuthorDate: Wed Feb 15 05:36:23 2023 -0800

<span style='display:block; white-space:pre;color:#404040;'>    ruby27: Fix build on 10.4, 10.5 (#17385)
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    This adds patches in three categories:
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    1) Applicable patches carried forward from ruby26.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    2) Proper source fixes for two issues previously worked around with
</span><span style='display:block; white-space:pre;color:#404040;'>    Portfile hacks in ruby26.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    3) Fixes for new OS- and CPU-related issues in ruby2.7.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Also, although .gdbinit isn't actually installed, this fixes it since
</span><span style='display:block; white-space:pre;color:#404040;'>    a working gdb is useful when debugging port brokenness.
</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.2.7-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;'>    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;'>    Adds a comment to the Portfile regarding a known trace-mode issue.
</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 such cases except where the +universal dependencies
</span><span style='display:block; white-space:pre;color:#404040;'>    failed to build (as well as in 10.14-10.15, where +universal is
</span><span style='display:block; white-space:pre;color:#404040;'>    unavailable).
</span>---
 lang/ruby27/Portfile                   |  51 ++++++++-
 lang/ruby27/files/patch-generated.diff |  39 +++++++
 lang/ruby27/files/patch-random.c.diff  |  14 ---
 lang/ruby27/files/patch-sources.diff   | 202 +++++++++++++++++++++++++++++++++
 4 files changed, 286 insertions(+), 20 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/ruby27/Portfile b/lang/ruby27/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 743de31e743..a8147feee6d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/ruby27/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/ruby27/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -6,10 +6,12 @@ PortGroup           openssl 1.0
</span> 
 name                ruby27
 version             2.7.7
<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;'>@@ -60,8 +62,28 @@ configure.args      --enable-shared \
</span>                     --with-openssl-dir=[openssl::install_area] \
                     --without-baseruby
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# patch-random.c.diff: fix build error on 10.7 or 10.8 (#64191)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append   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;'>+# These replace and enhance the former topic-specific patch, and can be
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# seen more readably in the fork.
</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 various build problems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This diff is from v2_7_7 vs. macports-2_7_7r1.
</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-2_7_7 vs. macports-tarball-2_7_7r1.
</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;'>+# Using a patch instead of reinplace for the 'gem' versioning fix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# would also be more readable and more trackable.  A commit version of this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# already exists in the fork, in the macports-reinplace-2_7 branch.
</span> 
 # [NOTE] workaround for mismatch of sdk versions on macOS 11.x,
 # such as MacOSX11.0.sdk (buildbot) <=> MacOSX11.1.sdk (user's Mac).
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -72,8 +94,8 @@ patchfiles-append   patch-random.c.diff
</span> #   https://trac.macports.org/ticket/61827
 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" at build,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # 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;'>@@ -98,8 +120,25 @@ post-patch {
</span>     # end
     reinplace -E "s/(\"GEM_COMMAND\". : )(\"gem\")/\\1\"gem2.7\"/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> }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# KNOWN BUG:  If a previous install of ruby27 is already active, destroot
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# fails in trace mode, apparently due to a blocked access to the *installed*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# library, though this is not listed in the trace-mode report.  This bug
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# goes back at least as far as 2.7.4_3 (earlier versions are harder to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# test due to the openssl issue).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> post-destroot {
     foreach type {site vendor} {
         set libdir ${destroot}${prefix}/lib/ruby2.7/${type}_ruby/2.7.0
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/ruby27/files/patch-generated.diff b/lang/ruby27/files/patch-generated.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..19e27002dd8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/ruby27/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 04:42:10.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure      2023-02-05 19:50:18.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7676,6 +7676,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;'>+@@ -7774,6 +7776,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;'>+@@ -27661,6 +27665,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/ruby27/files/patch-random.c.diff b/lang/ruby27/files/patch-random.c.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 6cb576c9040..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/ruby27/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,14 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- random.c.orig  2021-12-14 21:41:23.000000000 +0900
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ random.c       2021-12-14 21:41:34.000000000 +0900
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -340,6 +340,11 @@
</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;'>-+#ifndef kSecRandomDefault
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* hack for missing kSecRandomDefault.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   some old macOS SDKs do not import SecRandom.h in Security.h */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <Security/SecRandom.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</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/ruby27/files/patch-sources.diff b/lang/ruby27/files/patch-sources.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..25f7b2a564f
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/ruby27/files/patch-sources.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,202 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- .gdbinit.orig  2022-11-24 04:42:08.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ .gdbinit       2023-02-05 19:50:17.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;'>+@@ -1344,3 +1345,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 04:42:08.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure.ac   2023-02-05 19:50:17.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2329,6 +2329,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 04:42:08.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ dln.c  2023-02-05 19:50:17.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1347,8 +1347,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 04:42:08.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ error.c        2023-02-05 19:50:17.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -519,7 +519,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;'>+@@ -544,7 +544,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 04:42:08.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ file.c 2023-02-05 19:50:17.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -156,6 +156,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;'>+ VALUE rb_cFile;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ VALUE rb_mFileTest;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ VALUE rb_cStat;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4417,7 +4434,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 04:42:08.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ io.c   2023-02-05 19:50:17.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -119,6 +119,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/util.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifndef O_ACCMODE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- random.c.orig  2022-11-24 04:42:08.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ random.c       2023-02-05 19:50:17.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -340,6 +340,11 @@ fill_random_bytes_urandom(void *seed, si
</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;'>++#ifndef kSecRandomDefault
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* hack for missing kSecRandomDefault.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   some old macOS SDKs do not import SecRandom.h in Security.h */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <Security/SecRandom.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;'>+ 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 04:42:08.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ signal.c       2023-02-05 19:50:17.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -824,7 +824,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 04:42:08.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ template/Makefile.in   2023-02-05 19:50:17.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -210,7 +210,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      = $(srcdir)/tool/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 04:42:08.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ tool/m4/ruby_default_arch.m4   2023-02-05 19:50:17.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 04:42:08.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ tool/transform_mjit_header.rb  2023-02-05 19:50:17.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -176,7 +176,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 04:42:08.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ vm_dump.c      2023-02-05 19:50:17.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -459,7 +459,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;'>+@@ -470,7 +471,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>