<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>