From bbee66811a133a83d0ad8ae509657af413b887ed Mon Sep 17 00:00:00 2001 From: Nery Campusano Date: Thu, 29 Jan 2026 16:50:39 -0500 Subject: [PATCH 1/2] enable mod gc in ruby version 3.4.7 --- rubies/3.4.7-modgc | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 rubies/3.4.7-modgc diff --git a/rubies/3.4.7-modgc b/rubies/3.4.7-modgc new file mode 100644 index 0000000..d28d4c3 --- /dev/null +++ b/rubies/3.4.7-modgc @@ -0,0 +1,28 @@ +# Build a Ruby version with modular GC support +# Built from Shopify/ruby fork at the commit corresponding to upstream ruby/ruby v3.4.7 tag. +# Upstream tag: https://github.com/ruby/ruby/releases/tag/ +# Commit: 7482835d0b5c9f55662fb7c6586f456354e2b66e +# +# This build enables Ruby's experimental modular GC feature, allowing +# alternative GC implementations to be loaded at runtime. +# +# MODULAR GC USAGE: +# Ruby is usable as normal in this build, it will use the default Ruby garbage +# collector and behave as expected. +# +# To use a modular GC, you need a GC compiled as a shared object with the name +# librubygc..so in the modular GC directory ($PREFIX/lib/ruby/gc/). +# +# Load it at runtime with: +# RUBY_GC_LIBRARY= ruby +# + +build_package_modular_gc_install() { + log_info "Building modular GC (default)..." + capture_command make install-modular-gc MODULAR_GC=default +} + +package_option ruby configure --with-modular-gc="$PREFIX_PATH/lib/ruby/gc" + +install_package "openssl-3.4.0" "https://github.com/openssl/openssl/releases/download/openssl-3.4.0/openssl-3.4.0.tar.gz#e15dda82fe2fe8139dc2ac21a36d4ca01d5313c75f99f46c4e8a27571b5486cd" openssl --if needs_openssl:1.0.2-3.x.x +install_git "ruby-3.4.7-modgc" "https://github.com/Shopify/ruby.git" "v3.4.7-pshopify1" autoconf enable_shared standard modular_gc_install From fadb4899cc20b33eb700e9f88f25f83f388cacf9 Mon Sep 17 00:00:00 2001 From: Nery Campusano Date: Fri, 30 Jan 2026 09:43:59 -0500 Subject: [PATCH 2/2] add correct openssl package version --- rubies/3.4.7-modgc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rubies/3.4.7-modgc b/rubies/3.4.7-modgc index d28d4c3..554f9c6 100644 --- a/rubies/3.4.7-modgc +++ b/rubies/3.4.7-modgc @@ -24,5 +24,5 @@ build_package_modular_gc_install() { package_option ruby configure --with-modular-gc="$PREFIX_PATH/lib/ruby/gc" -install_package "openssl-3.4.0" "https://github.com/openssl/openssl/releases/download/openssl-3.4.0/openssl-3.4.0.tar.gz#e15dda82fe2fe8139dc2ac21a36d4ca01d5313c75f99f46c4e8a27571b5486cd" openssl --if needs_openssl:1.0.2-3.x.x +install_package "openssl-3.1.4" "https://www.openssl.org/source/openssl-3.1.4.tar.gz#840af5366ab9b522bde525826be3ef0fb0af81c6a9ebd84caa600fea1731eee3" openssl --if needs_openssl:1.0.2-3.x.x install_git "ruby-3.4.7-modgc" "https://github.com/Shopify/ruby.git" "v3.4.7-pshopify1" autoconf enable_shared standard modular_gc_install