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

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/df165efb7d1f76e8c75147f55ae5a5801f6b26d3">https://github.com/macports/macports-ports/commit/df165efb7d1f76e8c75147f55ae5a5801f6b26d3</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 df165efb7d1 ruby3[23]: Fix build on 10.4 with gcc14.
</span>df165efb7d1 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit df165efb7d1f76e8c75147f55ae5a5801f6b26d3
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Mon Jan 6 14:45:08 2025 -0800

<span style='display:block; white-space:pre;color:#404040;'>    ruby3[23]: Fix build on 10.4 with gcc14.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    This fixes a couple of issues that were warnings until gcc14 made them
</span><span style='display:block; white-space:pre;color:#404040;'>    errors.  At least one such issue probably would have caused a crash if
</span><span style='display:block; white-space:pre;color:#404040;'>    the relevant code were executed.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    This changes the installed content on 10.4, and hence gets a revbump.
</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 on OSX 10.4-10.5 ppc, 10.4-10.6 i386, 10.5-12.x
</span><span style='display:block; white-space:pre;color:#404040;'>    x86_64, and 11.x-14.x arm64.  Included all variants compatible with
</span><span style='display:block; white-space:pre;color:#404040;'>    available dependencies on the respective platforms (except ppc builds,
</span><span style='display:block; white-space:pre;color:#404040;'>    which were limited to default variants to save time).
</span>---
 lang/ruby32/Portfile                 |  4 +-
 lang/ruby32/files/patch-sources.diff | 96 ++++++++++++++++++++++++++++++++----
 lang/ruby33/Portfile                 |  4 +-
 lang/ruby33/files/patch-sources.diff | 92 +++++++++++++++++++++++++++++++---
 4 files changed, 176 insertions(+), 20 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 18250fec478..9edcd02dd76 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;'>@@ -14,7 +14,7 @@ set ruby_patch      6
</span> set ruby_ver_nodot  [string map {. {}} ${ruby_ver}]
 name                ruby${ruby_ver_nodot}
 version             ${ruby_ver}.${ruby_patch}
<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
 maintainers         {kimuraw @kimuraw} \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -64,7 +64,7 @@ select.file         ${filespath}/ruby${ruby_ver_nodot}
</span> # patch-sources.diff: fixes for various issues.
 # This includes the 'gem' versioning fix formerly handled via reinplace.
 #
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# This diff is from v3_2_6 vs. macports-3_2_6.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This diff is from v3_2_6 vs. macports-3_2_6r1.
</span> #
 patchfiles-append   patch-sources.diff
 
<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><span style='display:block; white-space:pre;color:#808080;'>index 1759ed0eab3..c94e4b61163 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/ruby32/files/patch-sources.diff
</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;'>@@ -1,5 +1,5 @@
</span> --- .gdbinit.orig 2024-10-30 02:47:11.000000000 -0700
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ .gdbinit    2024-11-27 15:13:42.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ .gdbinit       2025-01-06 14:46:11.000000000 -0800
</span> @@ -1,4 +1,5 @@
 -set startup-with-shell off
 +# Move this to end, so failure on older gdbs doesn't blow the rest
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -15,7 +15,7 @@
</span> +# Moved from beginning, since it fails on older gdbs
 +set startup-with-shell off
 --- ext/digest/md5/md5cc.h.orig        2024-10-30 02:47:11.000000000 -0700
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ext/digest/md5/md5cc.h      2024-11-27 15:13:42.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ext/digest/md5/md5cc.h 2025-01-06 14:46:11.000000000 -0800
</span> @@ -17,3 +17,11 @@ static DEFINE_FINISH_FUNC_FROM_FINAL(MD5
  #undef MD5_Finish
  #define MD5_Update rb_digest_MD5_update
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -29,7 +29,7 @@
</span> +#undef MD5_Init
 +#define MD5_Init CC_MD5_Init
 --- ext/digest/sha1/sha1cc.h.orig      2024-10-30 02:47:11.000000000 -0700
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ext/digest/sha1/sha1cc.h    2024-11-27 15:13:42.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ext/digest/sha1/sha1cc.h       2025-01-06 14:46:11.000000000 -0800
</span> @@ -12,3 +12,11 @@ static DEFINE_FINISH_FUNC_FROM_FINAL(SHA
  #undef SHA1_Finish
  #define SHA1_Update rb_digest_SHA1_update
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -43,7 +43,7 @@
</span> +#undef SHA1_Init
 +#define SHA1_Init CC_SHA1_Init
 --- ext/digest/sha2/sha2cc.h.orig      2024-10-30 02:47:11.000000000 -0700
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ext/digest/sha2/sha2cc.h    2024-11-27 15:13:42.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ext/digest/sha2/sha2cc.h       2025-01-06 14:46:11.000000000 -0800
</span> @@ -1,6 +1,33 @@
  #define COMMON_DIGEST_FOR_OPENSSL 1
  #include <CommonCrypto/CommonDigest.h>
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -94,8 +94,61 @@
</span> +#define SHA384_Init CC_SHA384_Init
 +#undef SHA512_Init
 +#define SHA512_Init CC_SHA512_Init
<span style='display:block; white-space:pre;background:#e0ffe0;'>+--- file.c.orig 2024-10-30 02:47:11.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ file.c 2025-01-06 14:46:11.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -300,10 +300,30 @@ rb_CFString_class_initialize_before_fork
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     long len = sizeof(small_str) - 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     const CFAllocatorRef alloc = kCFAllocatorDefault;
</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;'>++ * The 'NoCopy' version of CFStringCreateWithBytes didn't appear until
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * 10.5, though the original CFStringCreateWithBytes has been available
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * since 10.0.  Hence, we need to use CFStringCreateWithBytes on OS versions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * earlier than 10.5.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * There's probably no significant benefit to using the 'NoCopy' version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * in this context, so making that substitution unconditionally would
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * probably be fine (and simpler), but by the principle of least change,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * we limit the substitution to earlier OS versions (i.e., 10.4).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1050
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFStringRef s = CFStringCreateWithBytesNoCopy(alloc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                                   (const UInt8 *)small_str,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                                   len, kCFStringEncodingUTF8,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                                   FALSE, kCFAllocatorNull);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# else /* 10.4 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    CFStringRef s = CFStringCreateWithBytes(alloc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                            (const UInt8 *)small_str,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                            len, kCFStringEncodingUTF8,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                            FALSE);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# endif /* 10.4 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFMutableStringRef m = CFStringCreateMutableCopy(alloc, len, s);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFRelease(m);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFRelease(s);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -315,10 +335,19 @@ rb_str_append_normalized_ospath(VALUE st
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFIndex buflen = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFRange all;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* See above comment regarding CFStringCreateWithBytes[NoCopy]. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1050
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFStringRef s = CFStringCreateWithBytesNoCopy(kCFAllocatorDefault,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                                   (const UInt8 *)ptr, len,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                                   kCFStringEncodingUTF8, FALSE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                                   kCFAllocatorNull);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# else /* 10.4 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    CFStringRef s = CFStringCreateWithBytes(kCFAllocatorDefault,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                            (const UInt8 *)ptr, len,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                            kCFStringEncodingUTF8, FALSE);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# endif /* 10.4 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFMutableStringRef m = CFStringCreateMutableCopy(kCFAllocatorDefault, len, s);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     long oldlen = RSTRING_LEN(str);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span> --- lib/bundler/gem_helper.rb.orig        2024-10-30 02:47:11.000000000 -0700
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ lib/bundler/gem_helper.rb   2024-11-27 15:13:42.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ lib/bundler/gem_helper.rb      2025-01-06 14:46:11.000000000 -0800
</span> @@ -231,7 +231,7 @@ module Bundler
      end
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -106,7 +159,7 @@
</span>    end
  end
 --- signal.c.orig      2024-10-30 02:47:11.000000000 -0700
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ signal.c    2024-11-27 15:13:42.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ signal.c       2025-01-06 14:46:11.000000000 -0800
</span> @@ -841,7 +841,8 @@ check_stack_overflow(int sig, const uint
      const greg_t bp = mctx->gregs[REG_EBP];
  #   endif
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -117,8 +170,33 @@
</span>  #     define MCTX_SS_REG(reg) __ss.__##reg
  #   else
  #     define MCTX_SS_REG(reg) ss.reg
<span style='display:block; white-space:pre;background:#e0ffe0;'>+--- thread_pthread.c.orig       2024-10-30 02:47:11.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ thread_pthread.c       2025-01-06 14:46:11.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -42,6 +42,22 @@
</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;'>+ # include <AvailabilityMacros.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;'>++ * This code is built with _XOPEN_SOURCE=1 and _DARWIN_C_SOURCE=1, which
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * blocks the declaration of pthread_mach_thread_np() in pthread.h on 10.4.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Overriding this by also defining _DARWIN_C_SOURCE didn't become available
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * until 10.5.  The missing prototype went unnoticed until gcc14 started
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * calling it an error.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Note that many uses of Apple-specific functions with these settings are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * illegal (on 10.4), but for now we just fix the immediate problem by
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * duplicating the missing declaration.  There's no need to make this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * conditional, since redundant prototypes are legal.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <mach/port.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++mach_port_t       pthread_mach_thread_np(pthread_t);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</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_SYS_EVENTFD_H) && defined(HAVE_EVENTFD)
</span> --- time.c.orig   2024-10-30 02:47:11.000000000 -0700
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ time.c      2024-11-27 15:13:42.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ time.c 2025-01-06 14:46:11.000000000 -0800
</span> @@ -2322,7 +2322,7 @@ zone_timelocal(VALUE zone, VALUE time)
      struct time_object *tobj = DATA_PTR(time);
      wideval_t t, s;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -129,7 +207,7 @@
</span>      utc = rb_check_funcall(zone, id_local_to_utc, 1, &tm);
      if (UNDEF_P(utc)) return 0;
 --- tool/transform_mjit_header.rb.orig 2024-10-30 02:47:11.000000000 -0700
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ tool/transform_mjit_header.rb       2024-11-27 15:13:42.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ tool/transform_mjit_header.rb  2025-01-06 14:46:11.000000000 -0800
</span> @@ -181,7 +181,9 @@ module MJITHeader
    def self.conflicting_types?(code, cc, cflags)
      with_code(code) do |path|
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -142,7 +220,7 @@
</span>          (out.match?(/error: conflicting types for '[^']+'/) ||
           out.match?(/error: redefinition of parameter '[^']+'/))
 --- vm_dump.c.orig     2024-10-30 02:47:11.000000000 -0700
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ vm_dump.c   2024-11-27 15:13:42.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ vm_dump.c      2025-01-06 14:46:11.000000000 -0800
</span> @@ -470,7 +470,8 @@ rb_vmdebug_thread_dump_state(VALUE self)
  }
  
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/ruby33/Portfile b/lang/ruby33/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 15610e65ee4..b1ddde45730 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/ruby33/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/ruby33/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -21,7 +21,7 @@ set ruby_patch      6
</span> set ruby_ver_nodot  [string map {. {}} ${ruby_ver}]
 name                ruby${ruby_ver_nodot}
 version             ${ruby_ver}.${ruby_patch}
<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
 maintainers         {kimuraw @kimuraw} \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -69,7 +69,7 @@ select.file         ${filespath}/ruby${ruby_ver_nodot}
</span> 
 # patch-sources.diff: fixes for various issues.
 #
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# This diff is from v3_3_6 vs. macports-3_3_6.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This diff is from v3_3_6 vs. macports-3_3_6r1.
</span> #
 patchfiles-append   patch-sources.diff
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/ruby33/files/patch-sources.diff b/lang/ruby33/files/patch-sources.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 9685733f854..eedef358985 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/ruby33/files/patch-sources.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/ruby33/files/patch-sources.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,5 +1,5 @@
</span> --- .gdbinit.orig 2024-11-04 16:49:11.000000000 -0800
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ .gdbinit    2024-11-27 15:23:38.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ .gdbinit       2025-01-06 14:44:26.000000000 -0800
</span> @@ -1,4 +1,5 @@
 -set startup-with-shell off
 +# Move this to end, so failure on older gdbs doesn't blow the rest
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -15,7 +15,7 @@
</span> +# Moved from beginning, since it fails on older gdbs
 +set startup-with-shell off
 --- ext/digest/md5/md5cc.h.orig        2024-11-04 16:49:11.000000000 -0800
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ext/digest/md5/md5cc.h      2024-11-27 15:23:38.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ext/digest/md5/md5cc.h 2025-01-06 14:44:26.000000000 -0800
</span> @@ -17,3 +17,11 @@ static DEFINE_FINISH_FUNC_FROM_FINAL(MD5
  #undef MD5_Finish
  #define MD5_Update rb_digest_MD5_update
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -29,7 +29,7 @@
</span> +#undef MD5_Init
 +#define MD5_Init CC_MD5_Init
 --- ext/digest/sha1/sha1cc.h.orig      2024-11-04 16:49:11.000000000 -0800
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ext/digest/sha1/sha1cc.h    2024-11-27 15:23:38.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ext/digest/sha1/sha1cc.h       2025-01-06 14:44:26.000000000 -0800
</span> @@ -12,3 +12,11 @@ static DEFINE_FINISH_FUNC_FROM_FINAL(SHA
  #undef SHA1_Finish
  #define SHA1_Update rb_digest_SHA1_update
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -43,7 +43,7 @@
</span> +#undef SHA1_Init
 +#define SHA1_Init CC_SHA1_Init
 --- ext/digest/sha2/sha2cc.h.orig      2024-11-04 16:49:11.000000000 -0800
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ext/digest/sha2/sha2cc.h    2024-11-27 15:23:38.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ext/digest/sha2/sha2cc.h       2025-01-06 14:44:26.000000000 -0800
</span> @@ -1,6 +1,33 @@
  #define COMMON_DIGEST_FOR_OPENSSL 1
  #include <CommonCrypto/CommonDigest.h>
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -94,8 +94,61 @@
</span> +#define SHA384_Init CC_SHA384_Init
 +#undef SHA512_Init
 +#define SHA512_Init CC_SHA512_Init
<span style='display:block; white-space:pre;background:#e0ffe0;'>+--- file.c.orig 2024-11-04 16:49:11.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ file.c 2025-01-06 14:44:26.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -299,10 +299,30 @@ rb_CFString_class_initialize_before_fork
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     long len = sizeof(small_str) - 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     const CFAllocatorRef alloc = kCFAllocatorDefault;
</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;'>++ * The 'NoCopy' version of CFStringCreateWithBytes didn't appear until
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * 10.5, though the original CFStringCreateWithBytes has been available
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * since 10.0.  Hence, we need to use CFStringCreateWithBytes on OS versions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * earlier than 10.5.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * There's probably no significant benefit to using the 'NoCopy' version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * in this context, so making that substitution unconditionally would
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * probably be fine (and simpler), but by the principle of least change,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * we limit the substitution to earlier OS versions (i.e., 10.4).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1050
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFStringRef s = CFStringCreateWithBytesNoCopy(alloc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                                   (const UInt8 *)small_str,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                                   len, kCFStringEncodingUTF8,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                                   FALSE, kCFAllocatorNull);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# else /* 10.4 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    CFStringRef s = CFStringCreateWithBytes(alloc,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                            (const UInt8 *)small_str,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                            len, kCFStringEncodingUTF8,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                            FALSE);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# endif /* 10.4 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFMutableStringRef m = CFStringCreateMutableCopy(alloc, len, s);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFRelease(m);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFRelease(s);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -314,10 +334,19 @@ rb_str_append_normalized_ospath(VALUE st
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFIndex buflen = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFRange all;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* See above comment regarding CFStringCreateWithBytes[NoCopy]. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1050
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFStringRef s = CFStringCreateWithBytesNoCopy(kCFAllocatorDefault,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                                   (const UInt8 *)ptr, len,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                                   kCFStringEncodingUTF8, FALSE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                                   kCFAllocatorNull);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# else /* 10.4 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    CFStringRef s = CFStringCreateWithBytes(kCFAllocatorDefault,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                            (const UInt8 *)ptr, len,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                            kCFStringEncodingUTF8, FALSE);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# endif /* 10.4 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFMutableStringRef m = CFStringCreateMutableCopy(kCFAllocatorDefault, len, s);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     long oldlen = RSTRING_LEN(str);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span> --- lib/bundler/gem_helper.rb.orig        2024-11-04 16:49:11.000000000 -0800
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ lib/bundler/gem_helper.rb   2024-11-27 15:23:38.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ lib/bundler/gem_helper.rb      2025-01-06 14:44:26.000000000 -0800
</span> @@ -231,7 +231,7 @@ module Bundler
      end
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -106,7 +159,7 @@
</span>    end
  end
 --- signal.c.orig      2024-11-04 16:49:11.000000000 -0800
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ signal.c    2024-11-27 15:23:38.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ signal.c       2025-01-06 14:44:26.000000000 -0800
</span> @@ -803,7 +803,8 @@ check_stack_overflow(int sig, const uint
      const greg_t bp = mctx->gregs[REG_EBP];
  #   endif
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -117,8 +170,33 @@
</span>  #     define MCTX_SS_REG(reg) __ss.__##reg
  #   else
  #     define MCTX_SS_REG(reg) ss.reg
<span style='display:block; white-space:pre;background:#e0ffe0;'>+--- thread_pthread.c.orig       2024-11-04 16:49:11.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ thread_pthread.c       2025-01-06 14:44:26.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -42,6 +42,22 @@
</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;'>+ # include <AvailabilityMacros.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;'>++ * This code is built with _XOPEN_SOURCE=1 and _DARWIN_C_SOURCE=1, which
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * blocks the declaration of pthread_mach_thread_np() in pthread.h on 10.4.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Overriding this by also defining _DARWIN_C_SOURCE didn't become available
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * until 10.5.  The missing prototype went unnoticed until gcc14 started
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * calling it an error.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Note that many uses of Apple-specific functions with these settings are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * illegal (on 10.4), but for now we just fix the immediate problem by
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * duplicating the missing declaration.  There's no need to make this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * conditional, since redundant prototypes are legal.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <mach/port.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++mach_port_t       pthread_mach_thread_np(pthread_t);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</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_SYS_EVENTFD_H) && defined(HAVE_EVENTFD)
</span> --- vm_dump.c.orig        2024-11-04 16:49:11.000000000 -0800
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ vm_dump.c   2024-11-27 15:23:38.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ vm_dump.c      2025-01-06 14:44:26.000000000 -0800
</span> @@ -490,7 +490,8 @@ rb_vmdebug_thread_dump_state(FILE *errou
  }
  
</pre><pre style='margin:0'>

</pre>