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