Skip to content

Commit bbee668

Browse files
enable mod gc in ruby version 3.4.7
1 parent 71cfcd5 commit bbee668

1 file changed

Lines changed: 28 additions & 0 deletions

File tree

rubies/3.4.7-modgc

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Build a Ruby version with modular GC support
2+
# Built from Shopify/ruby fork at the commit corresponding to upstream ruby/ruby v3.4.7 tag.
3+
# Upstream tag: https://github.com/ruby/ruby/releases/tag/
4+
# Commit: 7482835d0b5c9f55662fb7c6586f456354e2b66e
5+
#
6+
# This build enables Ruby's experimental modular GC feature, allowing
7+
# alternative GC implementations to be loaded at runtime.
8+
#
9+
# MODULAR GC USAGE:
10+
# Ruby is usable as normal in this build, it will use the default Ruby garbage
11+
# collector and behave as expected.
12+
#
13+
# To use a modular GC, you need a GC compiled as a shared object with the name
14+
# librubygc.<name>.so in the modular GC directory ($PREFIX/lib/ruby/gc/).
15+
#
16+
# Load it at runtime with:
17+
# RUBY_GC_LIBRARY=<name> ruby
18+
#
19+
20+
build_package_modular_gc_install() {
21+
log_info "Building modular GC (default)..."
22+
capture_command make install-modular-gc MODULAR_GC=default
23+
}
24+
25+
package_option ruby configure --with-modular-gc="$PREFIX_PATH/lib/ruby/gc"
26+
27+
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
28+
install_git "ruby-3.4.7-modgc" "https://github.com/Shopify/ruby.git" "v3.4.7-pshopify1" autoconf enable_shared standard modular_gc_install

0 commit comments

Comments
 (0)