commit:     a4c209b762f4574867743de2114eb98de648f635
Author:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 10 16:48:23 2023 +0000
Commit:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Fri Mar 10 20:29:09 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a4c209b7

dev-lang/ruby: redo musl patch for ruby 3.2

Closes: https://bugs.gentoo.org/899902
Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>

 dev-lang/ruby/files/3.2/901-musl-stacksize.patch | 24 +++++++++---------------
 dev-lang/ruby/ruby-3.2.1.ebuild                  |  2 +-
 2 files changed, 10 insertions(+), 16 deletions(-)

diff --git a/dev-lang/ruby/files/3.2/901-musl-stacksize.patch 
b/dev-lang/ruby/files/3.2/901-musl-stacksize.patch
index e5fcfce2195e..f18aa271ea65 100644
--- a/dev-lang/ruby/files/3.2/901-musl-stacksize.patch
+++ b/dev-lang/ruby/files/3.2/901-musl-stacksize.patch
@@ -1,11 +1,6 @@
-musl has a conservative stacksize, as compared to glibc, so treat it
-like other systems with such stacksize
-
-diff --git a/thread_pthread.c b/thread_pthread.c
-index 951885ffa0..e2d662143b 100644
---- a/thread_pthread.c
-+++ b/thread_pthread.c
-@@ -721,7 +721,7 @@ ruby_init_stack(volatile VALUE *addr
+--- a/thread_pthread.c 2023-02-08 05:02:20.000000000 +0100
++++ b/thread_pthread.c 2023-03-10 17:46:25.694739053 +0100
+@@ -1033,7 +1033,7 @@
  {
      native_main_thread.id = pthread_self();
  
@@ -13,14 +8,13 @@ index 951885ffa0..e2d662143b 100644
 +#if MAINSTACKADDR_AVAILABLE && !(defined(__linux__) && !defined(__GLIBC__))
      if (native_main_thread.stack_maxsize) return;
      {
-        void* stackaddr;
-@@ -1680,7 +1680,7 @@ ruby_stack_overflowed_p(const rb_thread_t *th, const 
void *addr)
-
+         void* stackaddr;
+@@ -2090,7 +2090,7 @@
+ 
  #ifdef STACKADDR_AVAILABLE
      if (get_stack(&base, &size) == 0) {
 -# ifdef __APPLE__
 +# if defined(__APPLE__) || (defined(__linux__) && !defined(__GLIBC__))
-       if (pthread_equal(th->thread_id, native_main_thread.id)) {
-           struct rlimit rlim;
-           if (getrlimit(RLIMIT_STACK, &rlim) == 0 && rlim.rlim_cur > size) {
-
+         if (pthread_equal(th->nt->thread_id, native_main_thread.id)) {
+             struct rlimit rlim;
+             if (getrlimit(RLIMIT_STACK, &rlim) == 0 && rlim.rlim_cur > size) {

diff --git a/dev-lang/ruby/ruby-3.2.1.ebuild b/dev-lang/ruby/ruby-3.2.1.ebuild
index 9193389e5f80..d98ad3ab2a5a 100644
--- a/dev-lang/ruby/ruby-3.2.1.ebuild
+++ b/dev-lang/ruby/ruby-3.2.1.ebuild
@@ -75,7 +75,7 @@ src_prepare() {
        eapply "${FILESDIR}"/"${SLOT}"/010*.patch
 
        if use elibc_musl ; then
-               eapply "${FILESDIR}"/3.1/901-musl-*.patch
+               eapply "${FILESDIR}"/${SLOT}/901-musl-*.patch
        fi
 
        einfo "Unbundling gems..."

Reply via email to