You've already forked macports-ports
mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
b6a71e1e88
See: https://www.ruby-lang.org/en/news/2023/03/30/ruby-2-7-8-released/ Also converts the former reinplace-based patch for 'gem' versioning to a normal patch, as previously recommended. TESTED: Built successfully -universal on OSX 10.4-10.5 ppc, 10.4-10.6 i386, 10.5-10.15 x86_64, and 11.x-13.x arm64. Also successfully built +universal in all such cases except 10.4 (where +universal dependencies failed to build), and 10.14-10.15 (where +universal is ignored). Also built all variants for 10.9 x86_64 and 11.x-13.x arm64.
214 lines
7.8 KiB
Diff
214 lines
7.8 KiB
Diff
--- .gdbinit.orig 2023-03-30 05:34:08.000000000 -0700
|
|
+++ .gdbinit 2023-04-24 16:24:34.000000000 -0700
|
|
@@ -1,4 +1,5 @@
|
|
-set startup-with-shell off
|
|
+# Move this to end, so failure on older gdbs doesn't blow the rest
|
|
+# set startup-with-shell off
|
|
|
|
define hook-run
|
|
set $color_type = 0
|
|
@@ -1344,3 +1345,6 @@ define print_flags
|
|
printf "RUBY_FL_USER17 : %s\n", ((struct RBasic*)($arg0))->flags & RUBY_FL_USER17 ? "1" : "0"
|
|
printf "RUBY_FL_USER18 : %s\n", ((struct RBasic*)($arg0))->flags & RUBY_FL_USER18 ? "1" : "0"
|
|
end
|
|
+
|
|
+# Moved from beginning, since it fails on older gdbs
|
|
+set startup-with-shell off
|
|
--- configure.ac.orig 2023-03-30 05:34:08.000000000 -0700
|
|
+++ configure.ac 2023-04-24 16:24:34.000000000 -0700
|
|
@@ -2329,6 +2329,15 @@ AS_CASE([$rb_cv_coroutine], [yes|''], [
|
|
[arm64-darwin*], [
|
|
rb_cv_coroutine=arm64
|
|
],
|
|
+ [*86-darwin*], [
|
|
+ rb_cv_coroutine=x86
|
|
+ ],
|
|
+ [ppc*-darwin8*], [
|
|
+ rb_cv_coroutine=copy
|
|
+ ],
|
|
+ [universal-darwin8*], [
|
|
+ rb_cv_coroutine=copy
|
|
+ ],
|
|
[x*64-linux*], [
|
|
AS_CASE(["$ac_cv_sizeof_voidp"],
|
|
[8], [ rb_cv_coroutine=amd64 ],
|
|
--- dln.c.orig 2023-03-30 05:34:08.000000000 -0700
|
|
+++ dln.c 2023-04-24 16:24:34.000000000 -0700
|
|
@@ -1347,8 +1347,7 @@ dln_load(const char *file)
|
|
if (dln_incompatible_library_p(handle)) {
|
|
|
|
# if defined __APPLE__ && \
|
|
- defined(MAC_OS_X_VERSION_MIN_REQUIRED) && \
|
|
- (MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_11)
|
|
+ __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 101100
|
|
/* dlclose() segfaults */
|
|
rb_fatal("%s - %s", incompatible, file);
|
|
# else
|
|
--- error.c.orig 2023-03-30 05:34:08.000000000 -0700
|
|
+++ error.c 2023-04-24 16:24:34.000000000 -0700
|
|
@@ -519,7 +519,7 @@ preface_dump(FILE *out)
|
|
"-- Crash Report log information "
|
|
"--------------------------------------------\n"
|
|
" See Crash Report log file under the one of following:\n"
|
|
-# if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_6
|
|
+# if MAC_OS_X_VERSION_MIN_REQUIRED < 1060
|
|
" * ~/Library/Logs/CrashReporter\n"
|
|
" * /Library/Logs/CrashReporter\n"
|
|
# endif
|
|
@@ -544,7 +544,7 @@ postscript_dump(FILE *out)
|
|
"[IMPORTANT]"
|
|
/*" ------------------------------------------------"*/
|
|
"\n""Don't forget to include the Crash Report log file under\n"
|
|
-# if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_6
|
|
+# if MAC_OS_X_VERSION_MIN_REQUIRED < 1060
|
|
"CrashReporter or "
|
|
# endif
|
|
"DiagnosticReports directory in bug reports.\n"
|
|
--- file.c.orig 2023-03-30 05:34:08.000000000 -0700
|
|
+++ file.c 2023-04-24 16:24:34.000000000 -0700
|
|
@@ -156,6 +156,23 @@ int flock(int, int);
|
|
#include <stdlib.h>
|
|
#endif
|
|
|
|
+#if defined HAVE_REALPATH && defined __APPLE__ && \
|
|
+ __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1060
|
|
+/* realpath() on OSX < 10.6 doesn't implement automatic allocation */
|
|
+#include <sys/syslimits.h>
|
|
+static char *
|
|
+realpath_wrapper(const char *file_name, char *resolved_name)
|
|
+{
|
|
+ if (resolved_name == NULL) {
|
|
+ resolved_name = malloc(PATH_MAX);
|
|
+ if (resolved_name == NULL) return NULL;
|
|
+ }
|
|
+ return realpath(file_name, resolved_name);
|
|
+}
|
|
+#else
|
|
+#define realpath_wrapper realpath
|
|
+#endif
|
|
+
|
|
VALUE rb_cFile;
|
|
VALUE rb_mFileTest;
|
|
VALUE rb_cStat;
|
|
@@ -4417,7 +4434,8 @@ rb_check_realpath_internal(VALUE basedir
|
|
}
|
|
if (origenc) unresolved_path = TO_OSPATH(unresolved_path);
|
|
|
|
- if ((resolved_ptr = realpath(RSTRING_PTR(unresolved_path), NULL)) == NULL) {
|
|
+ if ((resolved_ptr = realpath_wrapper(RSTRING_PTR(unresolved_path), NULL))
|
|
+ == NULL) {
|
|
/* glibc realpath(3) does not allow /path/to/file.rb/../other_file.rb,
|
|
returning ENOTDIR in that case.
|
|
glibc realpath(3) can also return ENOENT for paths that exist,
|
|
--- io.c.orig 2023-03-30 05:34:08.000000000 -0700
|
|
+++ io.c 2023-04-24 16:24:34.000000000 -0700
|
|
@@ -119,6 +119,15 @@
|
|
# include <copyfile.h>
|
|
#endif
|
|
|
|
+/*
|
|
+ * Some OSes (e.g., OSX < 10.6) implement fcopyfile() but not
|
|
+ * COPYFILE_STATE_COPIED. Since the only use of the former here
|
|
+ * requires the latter, we disable the former when the latter is undefined.
|
|
+ */
|
|
+#ifndef COPYFILE_STATE_COPIED
|
|
+#undef HAVE_FCOPYFILE
|
|
+#endif
|
|
+
|
|
#include "ruby/util.h"
|
|
|
|
#ifndef O_ACCMODE
|
|
--- lib/bundler/gem_helper.rb.orig 2023-03-30 05:34:08.000000000 -0700
|
|
+++ lib/bundler/gem_helper.rb 2023-04-24 16:24:34.000000000 -0700
|
|
@@ -210,7 +210,7 @@ module Bundler
|
|
end
|
|
|
|
def gem_command
|
|
- ENV["GEM_COMMAND"] ? ENV["GEM_COMMAND"] : "gem"
|
|
+ ENV["GEM_COMMAND"] ? ENV["GEM_COMMAND"] : "gem2.7"
|
|
end
|
|
end
|
|
end
|
|
--- random.c.orig 2023-03-30 05:34:08.000000000 -0700
|
|
+++ random.c 2023-04-24 16:24:34.000000000 -0700
|
|
@@ -340,6 +340,11 @@ fill_random_bytes_urandom(void *seed, si
|
|
#if 0
|
|
#elif defined MAC_OS_X_VERSION_10_7 && MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7
|
|
#include <Security/Security.h>
|
|
+#ifndef kSecRandomDefault
|
|
+/* hack for missing kSecRandomDefault.
|
|
+ some old macOS SDKs do not import SecRandom.h in Security.h */
|
|
+#include <Security/SecRandom.h>
|
|
+#endif
|
|
|
|
static int
|
|
fill_random_bytes_syscall(void *seed, size_t size, int unused)
|
|
--- signal.c.orig 2023-03-30 05:34:08.000000000 -0700
|
|
+++ signal.c 2023-04-24 16:24:34.000000000 -0700
|
|
@@ -824,7 +824,8 @@ check_stack_overflow(int sig, const uint
|
|
const greg_t bp = mctx->gregs[REG_EBP];
|
|
# endif
|
|
# elif defined __APPLE__
|
|
-# if __DARWIN_UNIX03
|
|
+# include <AvailabilityMacros.h>
|
|
+# if MAC_OS_X_VERSION_MAX_ALLOWED >= 1050
|
|
# define MCTX_SS_REG(reg) __ss.__##reg
|
|
# else
|
|
# define MCTX_SS_REG(reg) ss.reg
|
|
--- template/Makefile.in.orig 2023-03-30 05:34:08.000000000 -0700
|
|
+++ template/Makefile.in 2023-04-24 16:24:34.000000000 -0700
|
|
@@ -210,7 +210,7 @@ AR = @AR@
|
|
ARFLAGS = @ARFLAGS@$(empty)
|
|
RANLIB = @RANLIB@
|
|
AS = @AS@
|
|
-ASFLAGS = @ASFLAGS@ $(INCFLAGS)
|
|
+ASFLAGS = @ASFLAGS@ $(ARCH_FLAG) $(INCFLAGS)
|
|
IFCHANGE = $(srcdir)/tool/ifchange
|
|
OBJDUMP = @OBJDUMP@
|
|
OBJCOPY = @OBJCOPY@
|
|
--- tool/m4/ruby_default_arch.m4.orig 2023-03-30 05:34:08.000000000 -0700
|
|
+++ tool/m4/ruby_default_arch.m4 2023-04-24 16:24:34.000000000 -0700
|
|
@@ -4,6 +4,7 @@ AC_MSG_CHECKING([arch option])
|
|
AS_CASE([$1],
|
|
[*64], [ARCH_FLAG=-m64],
|
|
[[i[3-6]86]], [ARCH_FLAG=-m32],
|
|
+ [ppc], [ARCH_FLAG=-m32],
|
|
[AC_MSG_ERROR(unknown target architecture: $target_archs)]
|
|
)
|
|
AC_MSG_RESULT([$ARCH_FLAG])
|
|
--- tool/transform_mjit_header.rb.orig 2023-03-30 05:34:08.000000000 -0700
|
|
+++ tool/transform_mjit_header.rb 2023-04-24 16:24:34.000000000 -0700
|
|
@@ -176,7 +176,9 @@ module MJITHeader
|
|
def self.conflicting_types?(code, cc, cflags)
|
|
with_code(code) do |path|
|
|
cmd = "#{cc} #{cflags} #{path}"
|
|
- out = IO.popen(cmd, err: [:child, :out], &:read)
|
|
+ # As per gcc docs, set LC_ALL=C to avoid curly quotes in messages
|
|
+ cmd_env = {"LC_ALL" => "C"}
|
|
+ out = IO.popen(cmd_env, cmd, err: [:child, :out], &:read)
|
|
!$?.success? &&
|
|
(out.match?(/error: conflicting types for '[^']+'/) ||
|
|
out.match?(/error: redefinition of parameter '[^']+'/))
|
|
--- vm_dump.c.orig 2023-03-30 05:34:08.000000000 -0700
|
|
+++ vm_dump.c 2023-04-24 16:24:34.000000000 -0700
|
|
@@ -459,7 +459,8 @@ rb_vmdebug_thread_dump_state(VALUE self)
|
|
}
|
|
|
|
#if defined __APPLE__
|
|
-# if __DARWIN_UNIX03
|
|
+# include <AvailabilityMacros.h>
|
|
+# if MAC_OS_X_VERSION_MAX_ALLOWED >= 1050
|
|
# define MCTX_SS_REG(reg) __ss.__##reg
|
|
# else
|
|
# define MCTX_SS_REG(reg) ss.reg
|
|
@@ -470,7 +471,8 @@ rb_vmdebug_thread_dump_state(VALUE self)
|
|
# ifdef HAVE_LIBUNWIND
|
|
# undef backtrace
|
|
# define backtrace unw_backtrace
|
|
-# elif defined(__APPLE__) && defined(__x86_64__) && defined(HAVE_LIBUNWIND_H)
|
|
+# elif defined(__APPLE__) && defined(__x86_64__) && defined(HAVE_LIBUNWIND_H) \
|
|
+ && MAC_OS_X_VERSION_MIN_REQUIRED >= 1060
|
|
# define UNW_LOCAL_ONLY
|
|
# include <libunwind.h>
|
|
# include <sys/mman.h>
|