<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/62917a65d1c929b653be00d862b1ecc0cca1d9f2">https://github.com/macports/macports-ports/commit/62917a65d1c929b653be00d862b1ecc0cca1d9f2</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 62917a65d1c ruby32: update to v3.2.4; fix build on 10.4, 10.5 (#23747)
</span>62917a65d1c is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 62917a65d1c929b653be00d862b1ecc0cca1d9f2
</span>Author: Fred Wright <fhgwright@users.noreply.github.com>
AuthorDate: Thu May 2 21:40:58 2024 -0700

<span style='display:block; white-space:pre;color:#404040;'>    ruby32: update to v3.2.4; fix build on 10.4, 10.5 (#23747)
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    See:
</span><span style='display:block; white-space:pre;color:#404040;'>    https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-2-4-released/
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    This incorporates the applicable patches from ruby30, including
</span><span style='display:block; white-space:pre;color:#404040;'>    converting the reinplace patch for the gem program name to a normal
</span><span style='display:block; white-space:pre;color:#404040;'>    source patch.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    It adds two new patches related to the CommonCrypto headers on
</span><span style='display:block; white-space:pre;color:#404040;'>    10.4 and 10.5.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    All source patches are 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 readable
</span><span style='display:block; white-space:pre;color:#404040;'>    in the git repo.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    It also narrows the compiler blacklisting, corresponding to what was
</span><span style='display:block; white-space:pre;color:#404040;'>    done in ruby30.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    It also incorporates the cstdbool fix for 10.5, from ruby30.
</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 with no variants on 10.4-10.5 ppc, 10.4-10.6 i386,
</span><span style='display:block; white-space:pre;color:#404040;'>    10.5-12.x x86_64, and 11.x-14.x arm64.
</span><span style='display:block; white-space:pre;color:#404040;'>    Built with all variants except jemalloc and yjit on 10.4-10.5, all
</span><span style='display:block; white-space:pre;color:#404040;'>    variants except yjit on 10.6-10.13, and all variants on 10.14+.
</span><span style='display:block; white-space:pre;color:#404040;'>    Tests not run due to test framework issues.
</span>---
 lang/ruby32/Portfile                 |  62 +++++++++-----
 lang/ruby32/files/patch-sources.diff | 154 +++++++++++++++++++++++++++++++++++
 2 files changed, 194 insertions(+), 22 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/ruby32/Portfile b/lang/ruby32/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 34ef7fa410c..8153205b0c8 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/ruby32/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/ruby32/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10,14 +10,16 @@ PortGroup           legacysupport 1.1
</span> legacysupport.newest_darwin_requires_legacy 14
 
 set ruby_ver        3.2
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set ruby_patch      3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set ruby_patch      4
</span> set ruby_ver_nodot  [string map {. {}} ${ruby_ver}]
 name                ruby${ruby_ver_nodot}
 version             ${ruby_ver}.${ruby_patch}
 revision            0
 
 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;'>@@ -25,22 +27,21 @@ long_description    Ruby is the interpreted scripting language for quick \
</span>                     and easy object-oriented programming. It has many \
                     features to process text files and to do system \
                     management tasks (as in Perl). It is simple, \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    straight-forward, extensible, and portable.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    straightforward, extensible, and portable.
</span> 
 homepage            https://www.ruby-lang.org/
 license             {Ruby BSD}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# delete this when ruby-devel becomes ruby 3.3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# conflicts           ruby-devel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> master_sites        ruby:${ruby_ver}
 distname            ruby-${version}
 dist_subdir         ruby${ruby_ver_nodot}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160 05d7fb2342e2d3161f469ccf313438676ee1a153 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256 af7f1757d9ddb630345988139211f1fd570ff5ba830def1cc7c468ae9b65c9ba \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size 20577155
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  d7e5420af382751846b8a0c3013a913042372dad \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  c72b3c5c30482dca18b0f868c9075f3f47d8168eaf626d4e682ce5b59c858692 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    20581711
</span> 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Universal builds don't currently work, including via the approach used
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# in ruby30.
</span> universal_variant   no
 
 # ruby/openssl since ruby-3.2 supports openssl-3
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -58,12 +59,25 @@ depends_skip_archcheck pkgconfig
</span> select.group        ruby
 select.file         ${filespath}/ruby${ruby_ver_nodot}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#----------------------------------------------------------------------------------------
</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 various issues.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This includes the 'gem' versioning fix formerly handled via reinplace.
</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_2_4 vs. macports-3_2_4.
</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;'>+#-------------------------------------------------------------------------------
</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> 
 if { [string match macports-clang-* ${configure.compiler}] } {
     # clang-mp-14 => dsymutil-mp-14; fix POSTLINK
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -72,6 +86,20 @@ if { [string match macports-clang-* ${configure.compiler}] } {
</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;'>@@ -93,15 +121,6 @@ if {[info exists build_arch] && ${build_arch} != ""} {
</span>     configure.args-append "--with-arch=${build_arch}"
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # rewrite "gem" to "gem${ruby_ver}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # def gem_command
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #   ENV["GEM_COMMAND"]&.shellsplit || ["gem"]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # end
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    reinplace -E "s/(shellsplit .. .)(\"gem\")/\\1\"gem${ruby_ver}\"/g" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${worksrcpath}/lib/bundler/gem_helper.rb
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> post-destroot {
     foreach type {site vendor} {
         set libdir ${destroot}${prefix}/lib/ruby${ruby_ver}/${type}_ruby/${version}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -149,7 +168,6 @@ if {${os.major} >= 19 && [info exists build_arch]} {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</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/ruby32/files/patch-sources.diff b/lang/ruby32/files/patch-sources.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..025f49cdf4d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/ruby32/files/patch-sources.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,154 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- .gdbinit.orig  2024-04-23 03:20:09.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ .gdbinit       2024-04-27 17:32:33.000000000 -0700
</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;'>+@@ -1348,3 +1349,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;'>+--- ext/digest/md5/md5cc.h.orig    2024-04-23 03:20:09.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ext/digest/md5/md5cc.h 2024-04-27 17:32:33.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -17,3 +17,11 @@ static DEFINE_FINISH_FUNC_FROM_FINAL(MD5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef MD5_Finish
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define MD5_Update rb_digest_MD5_update
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define MD5_Finish rb_digest_MD5_finish
</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;'>++ * Pre-10.6 defines are with args, which don't match the argless use in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * the function pointer inits.  Thus, we redefine MD5_Init as well.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * This is a NOP on 10.6+.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef MD5_Init
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define MD5_Init CC_MD5_Init
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ext/digest/sha1/sha1cc.h.orig  2024-04-23 03:20:09.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ext/digest/sha1/sha1cc.h       2024-04-27 17:32:33.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12,3 +12,11 @@ static DEFINE_FINISH_FUNC_FROM_FINAL(SHA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef SHA1_Finish
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define SHA1_Update rb_digest_SHA1_update
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define SHA1_Finish rb_digest_SHA1_finish
</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;'>++ * Pre-10.6 defines are with args, which don't match the argless use in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * the function pointer inits.  Thus, we redefine SHA1_Init as well.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * This is a NOP on 10.6+.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef SHA1_Init
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SHA1_Init CC_SHA1_Init
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ext/digest/sha2/sha2cc.h.orig  2024-04-23 03:20:09.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ext/digest/sha2/sha2cc.h       2024-04-27 17:32:33.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,6 +1,33 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define COMMON_DIGEST_FOR_OPENSSL 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <CommonCrypto/CommonDigest.h>
</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;'>++ * Prior to 10.5, OpenSSL-compatible definitions are missing for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * SHA2 macros, though the CC_ versions are present.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Add the missing definitions we actually use here if needed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Note that the definitions are the argless 10.6+-style.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * The weird CTX mismatch is copied from the 10.6 header.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef SHA256_DIGEST_LENGTH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SHA256_DIGEST_LENGTH              CC_SHA256_DIGEST_LENGTH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SHA256_CTX                                        CC_SHA256_CTX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SHA256_Update                             CC_SHA256_Update
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SHA256_Final                              CC_SHA256_Final
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif /* !defined SHA256_DIGEST_LENGTH */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef SHA384_DIGEST_LENGTH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SHA384_DIGEST_LENGTH              CC_SHA384_DIGEST_LENGTH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SHA512_CTX                                        CC_SHA512_CTX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SHA384_Update                             CC_SHA384_Update
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SHA384_Final                              CC_SHA384_Final
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif /* !defined SHA384_DIGEST_LENGTH */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef SHA512_DIGEST_LENGTH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SHA512_DIGEST_LENGTH              CC_SHA512_DIGEST_LENGTH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SHA512_Update                             CC_SHA512_Update
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SHA512_Final                              CC_SHA512_Final
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif /* !defined SHA512_DIGEST_LENGTH */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define SHA256_BLOCK_LENGTH       CC_SHA256_BLOCK_BYTES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define SHA384_BLOCK_LENGTH       CC_SHA384_BLOCK_BYTES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define SHA512_BLOCK_LENGTH       CC_SHA512_BLOCK_BYTES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -29,3 +56,15 @@ static DEFINE_FINISH_FUNC_FROM_FINAL(SHA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef SHA512_Finish
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define SHA512_Update rb_digest_SHA512_update
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define SHA512_Finish rb_digest_SHA512_finish
</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;'>++ * Pre-10.6 defines are with args, which don't match the argless use in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * the function pointer inits.  Thus, we redefine SHA*_Init as well.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * This is a NOP on 10.6+.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef SHA256_Init
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SHA256_Init CC_SHA256_Init
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef SHA384_Init
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SHA384_Init CC_SHA384_Init
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef SHA512_Init
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SHA512_Init CC_SHA512_Init
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- lib/bundler/gem_helper.rb.orig 2024-04-23 03:20:09.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ lib/bundler/gem_helper.rb      2024-04-27 17:32:33.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -231,7 +231,7 @@ module Bundler
</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;'>+     def gem_command
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      ENV["GEM_COMMAND"]&.shellsplit || ["gem"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      ENV["GEM_COMMAND"]&.shellsplit || ["gem3.2"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- signal.c.orig  2024-04-23 03:20:09.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ signal.c       2024-04-27 17:32:33.000000000 -0700
</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;'>+--- tool/transform_mjit_header.rb.orig     2024-04-23 03:20:09.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ tool/transform_mjit_header.rb  2024-04-27 17:32:33.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -181,7 +181,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 2024-04-23 03:20:09.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ vm_dump.c      2024-04-27 17:32:33.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -470,7 +470,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;'>+@@ -482,7 +483,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(HAVE_LIBUNWIND_H)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# elif defined(__APPLE__) && 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>