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.1 with modular GC support
2+ # Built from Shopify/ruby fork at the commit corresponding to upstream ruby/ruby v4.0.1 tag.
3+ # Upstream tag: https://github.com/ruby/ruby/releases/tag/v4.0.1
4+ # Commit: e04267a14b1a5dea2d2c368e48d41bd3db441f4f
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-4.0.1-modgc" "https://github.com/Shopify/ruby.git" "v4.0.1" 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+ (?:\- modgc)? # match -modgc for modular GC builds
2223 \z
2324 }x ,
2425 v ,
You can’t perform that action at this time.
0 commit comments