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