File tree Expand file tree Collapse file tree
test/shopify_ruby_definitions Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ # Ruby 4.0 development build with modular GC support
2+ #
3+ # This build enables Ruby's experimental modular GC feature, allowing
4+ # alternative GC implementations to be loaded at runtime.
5+ #
6+ # MODULAR GC USAGE:
7+ # Ruby is usable as normal in this build, it will use the default Ruby garbage
8+ # collector and behave as expected
9+ #
10+ # To use a modular GC, you will require a GC compiled as a shared object with
11+ # the name librubygc.name.so to exist in the $MODULAR_GC directory.
12+ #
13+ # It can then be loaded with
14+ #
15+ # RUBY_GC_LIBRARY=name ruby
16+ #
17+ # Post-install step to build the default modular GC library
18+ build_package_modular_gc_install() {
19+ log_info "Building modular GC (default)..."
20+ capture_command make install-modular-gc MODULAR_GC=default
21+ }
22+
23+ package_option ruby configure --with-modular-gc="$PREFIX_PATH/lib/ruby/gc"
24+
25+ 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
26+ install_git "ruby-4.0.0-dev-modgc" "https://github.com/Shopify/ruby.git" "master" autoconf enable_shared standard modular_gc_install
Original file line number Diff line number Diff line change @@ -19,6 +19,7 @@ def test_ALL_VERSIONS
1919 (?:\- preview\d *)? # match -preview optionally
2020 # preview tag must be before the pshopify tag
2121 (?:\- pshopify\d *)? # match -pshopify optionally
22+ (?:\- dev\- modgc)? # match -dev-modgc for modular GC dev builds
2223 \z
2324 }x ,
2425 v ,
You can’t perform that action at this time.
0 commit comments