summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbsiegert <bsiegert@pkgsrc.org>2022-05-08 14:53:37 +0000
committerbsiegert <bsiegert@pkgsrc.org>2022-05-08 14:53:37 +0000
commit607e5156f808d2cced0ae39d01257d7af0af7d98 (patch)
tree71644e1597ed60c11aad0a813f85d15317f0d869
parentead4b6cd9e9ce435815039935ad7ea6b503ca355 (diff)
downloadpkgsrc-607e5156f808d2cced0ae39d01257d7af0af7d98.tar.gz
Pullup tickets #6626 and #6627 - requested by taca
ruby30-base: build fix ruby31-base: build fix Revisions pulled up: - lang/ruby/platform.mk 1.10-1.12 - lang/ruby/rubyversion.mk 1.251 - lang/ruby30-base/Makefile 1.7 - lang/ruby30-base/distinfo 1.9-1.10 - lang/ruby30-base/patches/patch-configure 1.2 - lang/ruby30-base/patches/patch-include_ruby_internal_static__assert.h 1.1 - lang/ruby31-base/Makefile 1.4-1.5 - lang/ruby31-base/distinfo 1.4-1.7 - lang/ruby31-base/patches/patch-configure 1.2 - lang/ruby31-base/patches/patch-include_ruby_internal_static__assert.h 1.1 - lang/ruby31-base/patches/patch-template_Makefile.in 1.1 - lang/ruby31-base/patches/patch-tool_runruby.rb 1.1 --- Module Name: pkgsrc Committed By: jperkin Date: Wed May 4 15:49:51 UTC 2022 Modified Files: pkgsrc/lang/ruby31-base: Makefile distinfo pkgsrc/lang/ruby31-base/patches: patch-configure Log Message: ruby31-base: Retain _XOPEN_SOURCE on SunOS. Fixes build of eventmachine (which assumes the XPG4.2 "void *" type for iov_base), and mirrors settings of ruby 2.x. Bump PKGREVISION. --- Module Name: pkgsrc Committed By: taca Date: Wed May 4 16:16:49 UTC 2022 Modified Files: pkgsrc/lang/ruby: platform.mk Log Message: lang/ruby: fix build problem of Ruby 3.1 on NetBSD 8 Fix build problem of Ruby 3.1 on NetBSD 8 by disabling dtrace. Ruby 3.1 dtrace(1) to modify compiled object files during build process. But something wrong on NetBSD 8, includeing 8.2_STABLE. For example, vm.o contains these symbols on NetBSD 9: 0000000000000000 A __dtrace_ruby___array__create 0000000000000000 A __dtrace_ruby___cmethod__entry 0000000000000000 A __dtrace_ruby___cmethod__return 0000000000000000 A __dtrace_ruby___hash__create 0000000000000000 A __dtrace_ruby___method__entry 0000000000000000 A __dtrace_ruby___method__return 0000000000000000 A __dtraceenabled_ruby___array__create 0000000000000000 A __dtraceenabled_ruby___cmethod__entry 0000000000000000 A __dtraceenabled_ruby___cmethod__return 0000000000000000 A __dtraceenabled_ruby___hash__create 0000000000000000 A __dtraceenabled_ruby___method__entry 0000000000000000 A __dtraceenabled_ruby___method__return But on NetBSD 8: 0000000000000000 A __dtrace_ruby___array-create 0000000000000000 A __dtrace_ruby___cmethod-entry 0000000000000000 A __dtrace_ruby___cmethod-return 0000000000000000 A __dtrace_ruby___hash-create 0000000000000000 A __dtrace_ruby___method-entry 0000000000000000 A __dtrace_ruby___method-return 0000000000000000 A __dtraceenabled_ruby___array-create 0000000000000000 A __dtraceenabled_ruby___cmethod-entry 0000000000000000 A __dtraceenabled_ruby___cmethod-return 0000000000000000 A __dtraceenabled_ruby___hash-create 0000000000000000 A __dtraceenabled_ruby___method-entry 0000000000000000 A __dtraceenabled_ruby___method-return --- Module Name: pkgsrc Committed By: jperkin Date: Wed May 4 15:49:16 UTC 2022 Modified Files: pkgsrc/lang/ruby30-base: Makefile distinfo pkgsrc/lang/ruby30-base/patches: patch-configure Log Message: ruby30-base: Retain _XOPEN_SOURCE on SunOS. Fixes build of eventmachine (which assumes the XPG4.2 "void *" type for iov_base), and mirrors settings of ruby 2.x. Bump PKGREVISION. --- Module Name: pkgsrc Committed By: taca Date: Wed May 4 16:44:53 UTC 2022 Modified Files: pkgsrc/lang/ruby: platform.mk pkgsrc/lang/ruby30-base: distinfo pkgsrc/lang/ruby31-base: distinfo Added Files: pkgsrc/lang/ruby30-base/patches: patch-include_ruby_internal_static__assert.h pkgsrc/lang/ruby31-base/patches: patch-include_ruby_internal_static__assert.h Log Message: lang/ruby: fix Ruby 3.0 build problem on NetBSD 8.0 Something wrong with expantion of static_assert macro in <assert.h> on NetBSD 8.0. So, avoid use of static_assert on NetBSD 8.0. NetBSD 8.1 and later dose not have this problem. --- Module Name: pkgsrc Committed By: jperkin Date: Thu May 5 10:15:17 UTC 2022 Modified Files: pkgsrc/lang/ruby: rubyversion.mk Log Message: ruby: Handle ruby31 changing the config triple for arm64 macOS. --- Module Name: pkgsrc Committed By: jperkin Date: Thu May 5 10:25:06 UTC 2022 Modified Files: pkgsrc/lang/ruby31-base: distinfo Added Files: pkgsrc/lang/ruby31-base/patches: patch-tool_runruby.rb Log Message: ruby31-base: Fix install on macOS arm64. --- Module Name: pkgsrc Committed By: taca Date: Sat May 7 09:36:16 UTC 2022 Modified Files: pkgsrc/lang/ruby: platform.mk pkgsrc/lang/ruby31-base: Makefile distinfo Added Files: pkgsrc/lang/ruby31-base/patches: patch-template_Makefile.in Log Message: lang/ruby31-base: better fix than privious one Instead of disabling DTrace, process object file yjit.o with "dtrace -G". Bump PKGREVISION.
-rw-r--r--lang/ruby/platform.mk12
-rw-r--r--lang/ruby/rubyversion.mk8
-rw-r--r--lang/ruby30-base/Makefile3
-rw-r--r--lang/ruby30-base/distinfo5
-rw-r--r--lang/ruby30-base/patches/patch-configure45
-rw-r--r--lang/ruby30-base/patches/patch-include_ruby_internal_static__assert.h15
-rw-r--r--lang/ruby31-base/Makefile3
-rw-r--r--lang/ruby31-base/distinfo7
-rw-r--r--lang/ruby31-base/patches/patch-configure43
-rw-r--r--lang/ruby31-base/patches/patch-include_ruby_internal_static__assert.h15
-rw-r--r--lang/ruby31-base/patches/patch-template_Makefile.in16
-rw-r--r--lang/ruby31-base/patches/patch-tool_runruby.rb15
12 files changed, 154 insertions, 33 deletions
diff --git a/lang/ruby/platform.mk b/lang/ruby/platform.mk
index ce854a9da24..8e05dec7ce1 100644
--- a/lang/ruby/platform.mk
+++ b/lang/ruby/platform.mk
@@ -1,4 +1,4 @@
-# $NetBSD: platform.mk,v 1.9 2022/01/14 15:42:08 taca Exp $
+# $NetBSD: platform.mk,v 1.9.2.1 2022/05/08 14:53:37 bsiegert Exp $
#
#
@@ -115,6 +115,16 @@ CONFIGURE_ARGS+= --disable-dtrace
.endif
#
+# NetBSD
+#
+# NetBSD 8.0 has problem with using static_assert macro.
+# This is very ad hoc fix to prevent it.
+#
+.if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} == 080000
+CFLAGS+= -DRB_AVOID_STATIC_ASSERT
+.endif
+
+#
# Solaris
#
# fix build with sunpro.
diff --git a/lang/ruby/rubyversion.mk b/lang/ruby/rubyversion.mk
index 1253dca1eea..98ca219e17e 100644
--- a/lang/ruby/rubyversion.mk
+++ b/lang/ruby/rubyversion.mk
@@ -1,4 +1,4 @@
-# $NetBSD: rubyversion.mk,v 1.244.2.5 2022/04/16 09:41:21 spz Exp $
+# $NetBSD: rubyversion.mk,v 1.244.2.6 2022/05/08 14:53:37 bsiegert Exp $
#
# This file determines which Ruby version is used as a dependency for
@@ -618,6 +618,12 @@ RUBY?= ${PREFIX}/bin/${RUBY_NAME}
RAKE?= ${PREFIX}/bin/${RAKE_NAME}
RDOC?= ${PREFIX}/bin/rdoc${RUBY_SUFFIX}
+# ruby31 helpfully changed the config triple...
+.if !empty(MACHINE_PLATFORM:MDarwin-*-aarch64) && ${RUBY_VER} >= 31
+RUBY_ARCH?= arm64-${LOWER_OPSYS}${APPEND_ELF}${LOWER_OPSYS_VERSUFFIX}${APPEND_ABI}
+RUBY_EXTARCH?= arm64-${LOWER_OPSYS}${APPEND_ELF}-${LOWER_OPSYS_VERSUFFIX}
+.endif
+
RUBY_ARCH?= ${MACHINE_GNU_ARCH}-${LOWER_OPSYS}${APPEND_ELF}${LOWER_OPSYS_VERSUFFIX}${APPEND_ABI}
# NetBSD does not append an OS version, so we have to do this OPSYS-specific.
diff --git a/lang/ruby30-base/Makefile b/lang/ruby30-base/Makefile
index 76f62970bb7..7b9b585c27b 100644
--- a/lang/ruby30-base/Makefile
+++ b/lang/ruby30-base/Makefile
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.5.2.1 2022/04/16 09:23:40 spz Exp $
+# $NetBSD: Makefile,v 1.5.2.2 2022/05/08 14:53:37 bsiegert Exp $
DISTNAME= ${RUBY_DISTNAME}
PKGNAME= ${RUBY_PKGPREFIX}-base-${RUBY_VERSION}
+PKGREVISION= 1
CATEGORIES= lang ruby
MASTER_SITES= ${MASTER_SITE_RUBY}
diff --git a/lang/ruby30-base/distinfo b/lang/ruby30-base/distinfo
index 33b3d970416..17340bc8ab3 100644
--- a/lang/ruby30-base/distinfo
+++ b/lang/ruby30-base/distinfo
@@ -1,13 +1,14 @@
-$NetBSD: distinfo,v 1.7.4.1 2022/04/16 09:23:40 spz Exp $
+$NetBSD: distinfo,v 1.7.4.2 2022/05/08 14:53:37 bsiegert Exp $
BLAKE2s (ruby-3.0.4.tar.xz) = 2487d6f4bd37ef20715935a50d2cc50f9d50589c9223836bfaa6c3ac7de57b4d
SHA512 (ruby-3.0.4.tar.xz) = 53bf7dd403b0c68af9691882ad8ed7422c8d1f496627428fb4c3caf0b0313715524b744c5f453aced2d49e16e55f3f45b46b9a77aa3097dbfcae7caa0208194b
Size (ruby-3.0.4.tar.xz) = 15830368 bytes
SHA1 (patch-common.mk) = c23eed58427b2fd4ba8fdb3692f609701a666c6d
-SHA1 (patch-configure) = a56184876caac5c24b2c2925f364d88c3ebc5662
+SHA1 (patch-configure) = 8499cad3c1fb1a1b15392ba375f8d4e737fef2e4
SHA1 (patch-ext_dbm_extconf.rb) = c998f8735db54b1ae2bc8b6caa359ce88bc7a45b
SHA1 (patch-ext_openssl_openssl__missing.h) = 3f8d79736fd14806dfaf76e333eec63ff3ff5890
SHA1 (patch-ext_openssl_ossl__pkey__rsa.c) = 32054bad7bf31040e6d8828f8786de26dc860518
+SHA1 (patch-include_ruby_internal_static__assert.h) = 2e509d18d294b03b468e4e7bcb99fb6a71089601
SHA1 (patch-lib_mkmf.rb) = 4a3cd18548dbdf43a13695d4e76f817c0347e335
SHA1 (patch-lib_rdoc_encoding.rb) = 0e82d2942d9bfcb67dc7c994889d7bc5ec2ae85a
SHA1 (patch-lib_rdoc_ri_driver.rb) = f4d3e59e35b608acd4edc17916142c7f033e6198
diff --git a/lang/ruby30-base/patches/patch-configure b/lang/ruby30-base/patches/patch-configure
index 6bcfa83ddfb..0e633b48082 100644
--- a/lang/ruby30-base/patches/patch-configure
+++ b/lang/ruby30-base/patches/patch-configure
@@ -1,15 +1,15 @@
-$NetBSD: patch-configure,v 1.1 2021/02/14 14:32:41 taca Exp $
+$NetBSD: patch-configure,v 1.1.10.1 2022/05/08 14:53:38 bsiegert Exp $
* Adding Interix support.
* Ignore doxygen.
* Ignore VCS.
* Handle SSP in pkgsrc.
-* Put -std= in CFLAGS not CPPFLAGS.
+* Retain _XOPEN_SOURCE, fixes eventmachine.
* Fix argument for pthread_self() on NetBSD.
---- configure.orig 2020-12-08 09:02:33.000000000 +0000
+--- configure.orig 2022-04-12 11:48:57.000000000 +0000
+++ configure
-@@ -7991,7 +7991,7 @@ else
+@@ -8381,7 +8381,7 @@ else
if test x"$target_alias" = x; then :
case "$target_os" in #(
@@ -18,7 +18,7 @@ $NetBSD: patch-configure,v 1.1 2021/02/14 14:32:41 taca Exp $
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for real target cpu" >&5
$as_echo_n "checking for real target cpu... " >&6; }
-@@ -10048,6 +10048,7 @@ fi
+@@ -10094,6 +10094,7 @@ fi
stack_protector=no
;; #(
*) :
@@ -26,7 +26,26 @@ $NetBSD: patch-configure,v 1.1 2021/02/14 14:32:41 taca Exp $
;;
esac
if test -z "${stack_protector+set}"; then :
-@@ -11912,6 +11913,10 @@ esac
+@@ -11794,18 +11795,6 @@ fi
+ CPPFLAGS="$CPPFLAGS ${rb_opt}" ;;
+ esac
+ done
+- # _XOPEN_SOURCE should not be defined for C++ on Solaris.
+- # RUBY_APPEND_OPTIONS(CXXFLAGS)
+- for rb_opt in -U_XOPEN_SOURCE; do
+- case " ${CXXFLAGS-} " in #(
+- *" ${rb_opt} "*) :
+- ;; #(
+- ' ') :
+- CXXFLAGS="${rb_opt}" ;; #(
+- *) :
+- CXXFLAGS="$CXXFLAGS ${rb_opt}" ;;
+-esac
+- done
+
+ fi
+
+@@ -11970,6 +11959,10 @@ esac
ac_cv_func___builtin_setjmp=no
;; #(
@@ -37,7 +56,7 @@ $NetBSD: patch-configure,v 1.1 2021/02/14 14:32:41 taca Exp $
*) :
;;
esac
-@@ -23493,6 +23498,8 @@ else
+@@ -23324,6 +23317,8 @@ else
# ifdef _MSC_VER
# include <malloc.h>
# define alloca _alloca
@@ -46,7 +65,7 @@ $NetBSD: patch-configure,v 1.1 2021/02/14 14:32:41 taca Exp $
# else
# ifdef HAVE_ALLOCA_H
# include <alloca.h>
-@@ -28791,7 +28798,9 @@ fi
+@@ -28622,7 +28617,9 @@ fi
interix*) :
: ${LDSHARED='$(CC) -shared'}
XLDFLAGS="$XLDFLAGS -Wl,-E"
@@ -56,7 +75,7 @@ $NetBSD: patch-configure,v 1.1 2021/02/14 14:32:41 taca Exp $
rb_cv_dlopen=yes ;; #(
freebsd*|dragonfly*) :
-@@ -29988,7 +29997,7 @@ fi
+@@ -29890,7 +29887,7 @@ fi
;; #(
freebsd*|dragonfly*) :
@@ -65,7 +84,7 @@ $NetBSD: patch-configure,v 1.1 2021/02/14 14:32:41 taca Exp $
LIBRUBY_SONAME='$(LIBRUBY_SO)'
if test "$rb_cv_binary_elf" != "yes" ; then :
-@@ -30067,9 +30076,10 @@ esac
+@@ -29969,9 +29966,10 @@ esac
;; #(
darwin*) :
@@ -78,7 +97,7 @@ $NetBSD: patch-configure,v 1.1 2021/02/14 14:32:41 taca Exp $
if test "$load_relative" = yes; then :
libprefix="@executable_path/../${libdir_basename}"
-@@ -30090,7 +30100,12 @@ fi
+@@ -29992,7 +29990,12 @@ fi
;; #(
interix*) :
@@ -92,7 +111,7 @@ $NetBSD: patch-configure,v 1.1 2021/02/14 14:32:41 taca Exp $
;; #(
mingw*|cygwin*|mswin*) :
-@@ -30272,7 +30287,7 @@ if test "$enable_rpath" = yes; then :
+@@ -30174,7 +30177,7 @@ if test "$enable_rpath" = yes; then :
esac
rpathflag=`IFS="$PATH_SEPARATOR"
echo x "$rpathflag" |
@@ -101,7 +120,7 @@ $NetBSD: patch-configure,v 1.1 2021/02/14 14:32:41 taca Exp $
`
LIBRUBY_RPATHFLAGS="$LIBRUBY_RPATHFLAGS${rpathflag}"
LIBRUBYARG_SHARED="$LIBRUBY_RPATHFLAGS $LIBRUBYARG_SHARED"
-@@ -32996,19 +33011,7 @@ which seems to be undefined. Please mak
+@@ -32906,19 +32909,7 @@ which seems to be undefined. Please mak
"Makefile":F)
tmpmk=confmk$$.tmp
{
diff --git a/lang/ruby30-base/patches/patch-include_ruby_internal_static__assert.h b/lang/ruby30-base/patches/patch-include_ruby_internal_static__assert.h
new file mode 100644
index 00000000000..07eb77cbb85
--- /dev/null
+++ b/lang/ruby30-base/patches/patch-include_ruby_internal_static__assert.h
@@ -0,0 +1,15 @@
+$NetBSD: patch-include_ruby_internal_static__assert.h,v 1.1.2.2 2022/05/08 14:53:38 bsiegert Exp $
+
+Add the way to stop using static_assert.
+
+--- include/ruby/internal/static_assert.h.orig 2022-04-12 11:48:55.000000000 +0000
++++ include/ruby/internal/static_assert.h
+@@ -50,7 +50,7 @@
+ #elif defined(__STDC_VERSION__) && RBIMPL_COMPILER_SINCE(GCC, 4, 6, 0)
+ # define RBIMPL_STATIC_ASSERT0 __extension__ _Static_assert
+
+-#elif defined(static_assert)
++#elif defined(static_assert) && !defined(RB_AVOID_STATIC_ASSERT)
+ # /* Take <assert.h> definition */
+ # define RBIMPL_STATIC_ASSERT0 static_assert
+ #endif
diff --git a/lang/ruby31-base/Makefile b/lang/ruby31-base/Makefile
index 4241dccf933..b3ffb1a5994 100644
--- a/lang/ruby31-base/Makefile
+++ b/lang/ruby31-base/Makefile
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.3 2022/02/20 15:59:09 taca Exp $
+# $NetBSD: Makefile,v 1.3.2.1 2022/05/08 14:53:38 bsiegert Exp $
DISTNAME= ${RUBY_DISTNAME}
PKGNAME= ${RUBY_PKGPREFIX}-base-${RUBY_VERSION}
+PKGREVISION= 2
CATEGORIES= lang ruby
MASTER_SITES= ${MASTER_SITE_RUBY}
diff --git a/lang/ruby31-base/distinfo b/lang/ruby31-base/distinfo
index 0d051f69255..ab93a7181d7 100644
--- a/lang/ruby31-base/distinfo
+++ b/lang/ruby31-base/distinfo
@@ -1,11 +1,12 @@
-$NetBSD: distinfo,v 1.2.2.1 2022/04/16 09:41:21 spz Exp $
+$NetBSD: distinfo,v 1.2.2.2 2022/05/08 14:53:38 bsiegert Exp $
BLAKE2s (ruby-3.1.2.tar.xz) = 5384cfebbd466de36f68f554be2c045363e6c074d90a94a4c035ecaadf3c878b
SHA512 (ruby-3.1.2.tar.xz) = 4a74e9efc6ea4b3eff4fec7534eb1fff4794d021531defc2e9937e53c6668db8ecdc0fff2bc23d5e6602d0df344a2caa85b31c5414309541e3d5313ec82b6e21
Size (ruby-3.1.2.tar.xz) = 15101588 bytes
SHA1 (patch-common.mk) = c23eed58427b2fd4ba8fdb3692f609701a666c6d
-SHA1 (patch-configure) = c8a09d995d9d09c1142f22cf59f04fa61b528a2a
+SHA1 (patch-configure) = 3da2fffeaf717e241e9e3b12ad627d09375790da
SHA1 (patch-ext_openssl_openssl__missing.h) = 3f8d79736fd14806dfaf76e333eec63ff3ff5890
+SHA1 (patch-include_ruby_internal_static__assert.h) = 7d5c3ae7ff674b9b34639924fcf08237164de9f8
SHA1 (patch-lib_mkmf.rb) = 4a3cd18548dbdf43a13695d4e76f817c0347e335
SHA1 (patch-lib_rdoc_encoding.rb) = 0e82d2942d9bfcb67dc7c994889d7bc5ec2ae85a
SHA1 (patch-lib_rdoc_ri_driver.rb) = f4d3e59e35b608acd4edc17916142c7f033e6198
@@ -15,6 +16,8 @@ SHA1 (patch-lib_rubygems_dependency__installer.rb) = 1776508907f17547ffe93f637d6
SHA1 (patch-lib_rubygems_install__update__options.rb) = 1e953b5a517a805fd7184e359fbc06e67a5ff9b3
SHA1 (patch-lib_rubygems_installer.rb) = 03fcd57d4e7ea03cf2ffc3d219fd489e30361014
SHA1 (patch-lib_rubygems_platform.rb) = 7ef0d86c2d84b942db726d293a319d7ea54e56c8
+SHA1 (patch-template_Makefile.in) = a4b94293de165e87021b79a0a7f683ba76e168d9
SHA1 (patch-test_rubygems_test__gem.rb) = e624da5b9c49f9409160a7b0fdd2efad17986cab
SHA1 (patch-thread__pthread.c) = 7c1231933a2d6ce9d56891ab512371841697fbca
SHA1 (patch-tool_ifchange) = 1814cd41f0b0a93b181799cb117bd1f57068cf33
+SHA1 (patch-tool_runruby.rb) = 5dd8a3bea5e9776f7521f85955dddd2127e4c4d0
diff --git a/lang/ruby31-base/patches/patch-configure b/lang/ruby31-base/patches/patch-configure
index 6baf575ccbf..1e247b2cb45 100644
--- a/lang/ruby31-base/patches/patch-configure
+++ b/lang/ruby31-base/patches/patch-configure
@@ -1,15 +1,15 @@
-$NetBSD: patch-configure,v 1.1 2022/01/16 13:57:10 taca Exp $
+$NetBSD: patch-configure,v 1.1.2.1 2022/05/08 14:53:38 bsiegert Exp $
* Avoid bash specific variable substitution.
* Adding Interix support.
* Ignore doxygen.
* Ignore VCS.
* Handle SSP in pkgsrc.
-* Put -std= in CFLAGS not CPPFLAGS.
+* Retain _XOPEN_SOURCE, fixes eventmachine.
* Fix argument for pthread_self() on NetBSD.
* Explictly stop display with color.
---- configure.orig 2021-12-25 12:23:16.000000000 +0000
+--- configure.orig 2022-04-12 11:11:17.000000000 +0000
+++ configure
@@ -3316,12 +3316,12 @@ case "$target_cpu-$target_os" in #(
target_cpu=arm64
@@ -44,7 +44,26 @@ $NetBSD: patch-configure,v 1.1 2022/01/16 13:57:10 taca Exp $
;;
esac
if test -z "${stack_protector+set}"; then :
-@@ -12226,6 +12227,10 @@ esac
+@@ -11981,18 +11982,6 @@ fi
+ CPPFLAGS="$CPPFLAGS ${rb_opt}" ;;
+ esac
+ done
+- # _XOPEN_SOURCE should not be defined for C++ on Solaris.
+- # RUBY_APPEND_OPTIONS(CXXFLAGS)
+- for rb_opt in -U_XOPEN_SOURCE; do
+- case " ${CXXFLAGS-} " in #(
+- *" ${rb_opt} "*) :
+- ;; #(
+- ' ') :
+- CXXFLAGS="${rb_opt}" ;; #(
+- *) :
+- CXXFLAGS="$CXXFLAGS ${rb_opt}" ;;
+-esac
+- done
+
+ fi
+
+@@ -12226,6 +12215,10 @@ esac
ac_cv_func___builtin_setjmp=no
;; #(
@@ -55,7 +74,7 @@ $NetBSD: patch-configure,v 1.1 2022/01/16 13:57:10 taca Exp $
*) :
;;
esac
-@@ -24059,6 +24064,8 @@ else
+@@ -24059,6 +24052,8 @@ else
# ifdef _MSC_VER
# include <malloc.h>
# define alloca _alloca
@@ -64,7 +83,7 @@ $NetBSD: patch-configure,v 1.1 2022/01/16 13:57:10 taca Exp $
# else
# ifdef HAVE_ALLOCA_H
# include <alloca.h>
-@@ -29499,7 +29506,9 @@ fi
+@@ -29499,7 +29494,9 @@ fi
interix*) :
: ${LDSHARED='$(CC) -shared'}
XLDFLAGS="$XLDFLAGS -Wl,-E"
@@ -74,7 +93,7 @@ $NetBSD: patch-configure,v 1.1 2022/01/16 13:57:10 taca Exp $
rb_cv_dlopen=yes ;; #(
freebsd*|dragonfly*) :
-@@ -30700,7 +30709,7 @@ fi
+@@ -30700,7 +30697,7 @@ fi
;; #(
freebsd*|dragonfly*) :
@@ -83,7 +102,7 @@ $NetBSD: patch-configure,v 1.1 2022/01/16 13:57:10 taca Exp $
LIBRUBY_SONAME='$(LIBRUBY_SO)'
if test "$rb_cv_binary_elf" != "yes" ; then :
-@@ -30795,9 +30804,10 @@ esac
+@@ -30795,9 +30792,10 @@ esac
;; #(
darwin*) :
@@ -96,7 +115,7 @@ $NetBSD: patch-configure,v 1.1 2022/01/16 13:57:10 taca Exp $
if test "$load_relative" = yes; then :
libprefix="@executable_path/../${libdir_basename}"
-@@ -30818,7 +30828,12 @@ fi
+@@ -30818,7 +30816,12 @@ fi
;; #(
interix*) :
@@ -110,7 +129,7 @@ $NetBSD: patch-configure,v 1.1 2022/01/16 13:57:10 taca Exp $
;; #(
cygwin*|msys*|mingw*|mswin*) :
-@@ -31000,7 +31015,7 @@ if test "$enable_rpath" = yes; then :
+@@ -31000,7 +31003,7 @@ if test "$enable_rpath" = yes; then :
esac
rpathflag=`IFS="$PATH_SEPARATOR"
echo x "$rpathflag" |
@@ -119,7 +138,7 @@ $NetBSD: patch-configure,v 1.1 2022/01/16 13:57:10 taca Exp $
`
LIBRUBY_RPATHFLAGS="$LIBRUBY_RPATHFLAGS${rpathflag}"
LIBRUBYARG_SHARED="$LIBRUBY_RPATHFLAGS $LIBRUBYARG_SHARED"
-@@ -32550,7 +32565,7 @@ guard=INCLUDE_RUBY_CONFIG_H
+@@ -32550,7 +32553,7 @@ guard=INCLUDE_RUBY_CONFIG_H
if test "x$CONFIGURE_TTY" = xyes; then :
color=--color
else
@@ -128,7 +147,7 @@ $NetBSD: patch-configure,v 1.1 2022/01/16 13:57:10 taca Exp $
fi
exec ${SHELL} ${tooldir}/ifchange $color "${config_h}" -
) >&6 || as_fn_error $? "failed to create ${config_h}" "$LINENO" 5
-@@ -33773,19 +33788,7 @@ which seems to be undefined. Please mak
+@@ -33773,19 +33776,7 @@ which seems to be undefined. Please mak
"Makefile":F)
tmpmk=confmk$$.tmp
{
diff --git a/lang/ruby31-base/patches/patch-include_ruby_internal_static__assert.h b/lang/ruby31-base/patches/patch-include_ruby_internal_static__assert.h
new file mode 100644
index 00000000000..a22cd189ac7
--- /dev/null
+++ b/lang/ruby31-base/patches/patch-include_ruby_internal_static__assert.h
@@ -0,0 +1,15 @@
+$NetBSD: patch-include_ruby_internal_static__assert.h,v 1.1.2.2 2022/05/08 14:53:38 bsiegert Exp $
+
+Add the way to stop using static_assert.
+
+--- include/ruby/internal/static_assert.h.orig 2022-04-12 11:11:15.000000000 +0000
++++ include/ruby/internal/static_assert.h
+@@ -50,7 +50,7 @@
+ #elif defined(__STDC_VERSION__) && RBIMPL_COMPILER_SINCE(GCC, 4, 6, 0)
+ # define RBIMPL_STATIC_ASSERT0 __extension__ _Static_assert
+
+-#elif defined(static_assert)
++#elif defined(static_assert) && !defined(RB_AVOID_STATIC_ASSERT)
+ # /* Take <assert.h> definition */
+ # define RBIMPL_STATIC_ASSERT0 static_assert
+ #endif
diff --git a/lang/ruby31-base/patches/patch-template_Makefile.in b/lang/ruby31-base/patches/patch-template_Makefile.in
new file mode 100644
index 00000000000..03a966f801e
--- /dev/null
+++ b/lang/ruby31-base/patches/patch-template_Makefile.in
@@ -0,0 +1,16 @@
+$NetBSD: patch-template_Makefile.in,v 1.1.2.2 2022/05/08 14:53:38 bsiegert Exp $
+
+Add yjit.o to DTRACE_DEPENDENT_OBJS.
+
+--- template/Makefile.in.orig 2022-04-12 11:11:15.000000000 +0000
++++ template/Makefile.in
+@@ -193,7 +193,8 @@ DTRACE_DEPENDENT_OBJS = array.$(OBJEXT)
+ parse.$(OBJEXT) \
+ string.$(OBJEXT) \
+ symbol.$(OBJEXT) \
+- vm.$(OBJEXT)
++ vm.$(OBJEXT) \
++ yjit.$(OBJEXT)
+
+ THREAD_MODEL = @THREAD_MODEL@
+
diff --git a/lang/ruby31-base/patches/patch-tool_runruby.rb b/lang/ruby31-base/patches/patch-tool_runruby.rb
new file mode 100644
index 00000000000..d76cfc3d740
--- /dev/null
+++ b/lang/ruby31-base/patches/patch-tool_runruby.rb
@@ -0,0 +1,15 @@
+$NetBSD: patch-tool_runruby.rb,v 1.1.2.2 2022/05/08 14:53:38 bsiegert Exp $
+
+Do not LD_PRELOAD on macOS, breaks chroots.
+
+--- tool/runruby.rb.orig 2022-04-12 11:11:15.000000000 +0000
++++ tool/runruby.rb
+@@ -132,7 +132,7 @@ if File.file?(libruby_so)
+ e = nil if e.empty?
+ e ||= "LD_PRELOAD" if /linux/ =~ RUBY_PLATFORM
+ end
+- if e
++ unless /darwin/ =~ RUBY_PLATFORM
+ env[e] = [libruby_so, ENV[e]].compact.join(File::PATH_SEPARATOR)
+ end
+ end