shopify-ruby-definitions 1.1.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c5f6825b0f8833a808ab5d6c2b8df316d9be247985ef0fb1876b9f83a161c065
4
- data.tar.gz: febe64f1bebdbd659c6f29c25d8439a10718b3db078d2d1f0967851621328cd9
3
+ metadata.gz: 391e118351fc1019e5214d78e4318b326191bd8c4d4cb9579ffaaa99942f4542
4
+ data.tar.gz: 0701f82e3a004abbd7f7aca7d5e7b7015201d012f3fa8f1b177083128708e7ee
5
5
  SHA512:
6
- metadata.gz: 3fb2548ecd2321482037209b974e9836ba7956d133c795a12186359cf71c432ab1ec7e4bd8d576647e76d3cc080ad78d361fd505a61c96e4f8ac1b020f733456
7
- data.tar.gz: 8d585b10b92f799af2304d4e08491735177a81a38f3ee33e4b83f733813bae5ac759fd1a699eb25d361c4d1f3b31ab8379ea5c706ca310b5d333934497acbc3f
6
+ metadata.gz: 755e99c0be1cd21a6a29f750c04a02de55b715c754f558cc8643fb5a3954c012c562823cc676eca08a8da5c048c868ebe346735e5e5414562ee1a60363a6cc9e
7
+ data.tar.gz: a675bdde6e993cc307635dcd5d5e214b721cab39da8e1e9006e92a122d773294c474af8392b808f9b4fb289b1c731a4369a80fb169865588682afecce6653634
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2023 Peter Zhu
3
+ Copyright (c) 2023 Shopify Inc.
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # shopify-ruby-definitions
2
2
 
3
3
  This repository contains [ruby-build](https://github.com/rbenv/ruby-build/) definitions of Rubies we use at Shopify.
4
- These builds are API complient with release Rubies, but with additional backports for bugfixes and performance.
4
+ These builds are API compliant with release Rubies, but with additional backports for bugfixes and performance.
5
5
 
6
6
  ## rbenv integration
7
7
 
@@ -44,3 +44,10 @@ If you are using another ruby version manager or no manager at all:
44
44
  ```bash
45
45
  $ shopify-ruby build 3.2.2-pshopify4 ~/.rubies/versions/3.2.2
46
46
  ```
47
+
48
+ 5. Resolve a less specific version to one of these definitions
49
+ ```bash
50
+ $ shopify-ruby resolve 3.2
51
+ $ shopify-ruby resolve 3.2
52
+ 3.2.2-pshopify4
53
+ ```
data/exe/shopify-ruby CHANGED
@@ -9,6 +9,8 @@ definitions = [
9
9
  ].compact.join(":")
10
10
 
11
11
  case ARGV.shift
12
+ when "resolve"
13
+ puts ShopifyRubyDefinitions.resolve_version(ARGV.first)
12
14
  when "versions"
13
15
  puts ShopifyRubyDefinitions::RubyVersions::ALL_VERSIONS
14
16
  when "build"
@@ -17,7 +19,8 @@ when "env"
17
19
  puts %{export RUBY_BUILD_DEFINITIONS="#{definitions}"}
18
20
  else
19
21
  $stderr.puts <<~USAGE
20
- Usage: shopify-ruby list
22
+ Usage: shopify-ruby versions
23
+ shopify-ruby resolve <version>
21
24
  shopify-ruby build [-kpv] <definition> <prefix>
22
25
  shopify-ruby env
23
26
  USAGE
@@ -2,13 +2,19 @@
2
2
 
3
3
  module ShopifyRubyDefinitions
4
4
  module RubyVersions
5
+ class << self
6
+ def build_version_overrides(all_versions)
7
+ all_versions.sort_by do |version|
8
+ version.scan(/\d+/).map(&:to_i)
9
+ end.to_h do |version|
10
+ [version.partition("-pshopify").first, version]
11
+ end.freeze
12
+ end
13
+ end
14
+
5
15
  VERSIONS_DIRECTORY = File.expand_path("../../../rubies", __FILE__)
6
16
  ALL_VERSIONS = Dir["#{VERSIONS_DIRECTORY}/*"].map { |f| File.basename(f) }
7
- VERSION_OVERRIDES = ALL_VERSIONS.sort_by do |version|
8
- version.scan(/\d+/).map(&:to_i)
9
- end.to_h do |version|
10
- [version.split("-").first, version]
11
- end.freeze
17
+ VERSION_OVERRIDES = build_version_overrides(ALL_VERSIONS)
12
18
 
13
19
  def version_overrides
14
20
  VERSION_OVERRIDES
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ShopifyRubyDefinitions
4
- VERSION = "1.1.0"
4
+ VERSION = "1.4.0"
5
5
  end
@@ -0,0 +1,44 @@
1
+ # https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify10
2
+
3
+ # Based off `ruby_3_2`, with backports of:
4
+ # @byroot [ruby/set] Avoid the `block or return` pattern to save Proc allocations https://github.com/ruby/set/pull/29
5
+ # @peterzhu2118 Keep shared arrays WB protected https://github.com/ruby/ruby/pull/7224
6
+ # @peterzhu2118 Make BigDecimal WB protected https://github.com/ruby/bigdecimal/pull/248
7
+ # @XrXr YJIT String#+@ fixes https://github.com/ruby/ruby/pull/7328
8
+ # @byroot Add RUBY_GC_HEAP_INIT_SIZE_%d_SLOTS to pre-init pools granularly https://github.com/ruby/ruby/pull/7235
9
+ # @byroot Consider DATA objects without a mark function as protected https://github.com/ruby/ruby/pull/7263
10
+ # @byroot Implement Write Barrier for RMatch objects https://github.com/ruby/ruby/pull/7286
11
+ # @byroot Enable write barriers on File::Stat https://github.com/ruby/ruby/pull/7239
12
+ # @byroot Implement Write Barrier for Backtrace::Location https://github.com/ruby/ruby/pull/7240
13
+ # @byroot Mark "mapping_buffer" as write barrier protected https://github.com/ruby/ruby/pull/7238
14
+ # @byroot Mark "method" objects as protected by write barrier https://github.com/ruby/ruby/pull/7237
15
+ # @byroot Mark Encoding as Write Barrier protected Mark Encoding as Write Barrier protected
16
+ # @peterzhu2118 Make Time objects WB protected https://github.com/ruby/ruby/pull/7244
17
+ # @jhawthorn Use write barriers for Backtrace objects
18
+ # @peterzhu2118 Crash when malloc during GC
19
+ # @peterzhu2118 Fix crash when allocating classes with newobj hook
20
+ # @peterzhu2118 [Bug #19469] Fix crash when resizing generic iv list
21
+ # @byroot Implement Write Barrier for autoload_data
22
+ # @byroot Implement Write Barrier for autoload_table_type
23
+ # @k0kubun YJIT: Protect strings from GC on String#<<
24
+ # @tenderlove Use an st table for "too complex" objects
25
+ # @byroot Cache `Process.pid`
26
+ # @byroot thread_pthread.c: Use a `fork_gen` to protect against fork instead of getpid()
27
+ # @XrXr Fix write barrier order for klass to cme edge https://github.com/ruby/ruby/pull/7113
28
+ # @peterzhu2118 Ensure throw data is not set as cause https://github.com/ruby/ruby/pull/7696
29
+ # @peterzhu2118 Fix crash in rb_gc_register_address https://github.com/ruby/ruby/pull/7670
30
+ # @peterzhu2118 [Feature #19678] Don't immediately promote children of old objects https://github.com/ruby/ruby/pull/7821
31
+ # @k0kubun YJIT: Use rb_ivar_get at the end of ivar chains https://github.com/ruby/ruby/pull/7334
32
+ # @k0kubun / @maximecb / @XrXr YJIT: Add --yjit-pause and RubyVM::YJIT.resume https://github.com/ruby/ruby/pull/7609
33
+ # @k0kubun YJIT: Make ratio_in_yjit always available https://github.com/ruby/ruby/pull/8064
34
+ # @peterzhu2118 Store initial slots per size pool https://github.com/ruby/ruby/pull/8116
35
+ # @k0kubun YJIT: Implement throw instruction https://github.com/ruby/ruby/pull/7491
36
+ # @k0kubun YJIT: Fallback send instructions to vm_sendish https://github.com/ruby/ruby/pull/8106
37
+ # @k0kubun YJIT: Support entry for multiple PCs per ISEQ https://github.com/ruby/ruby/pull/7535
38
+ # @k0kubun YJIT: Distinguish exit and fallback reasons for send https://github.com/ruby/ruby/pull/8159
39
+ # @k0kubun YJIT: Use dynamic dispatch for megamorphic send https://github.com/ruby/ruby/pull/8125
40
+ # @k0kubun YJIT: Compile exception handlers https://github.com/ruby/ruby/pull/8171
41
+ # @k0kubun YJIT: Introduce RubyVM::YJIT.stats_string https://github.com/ruby/ruby/pull/7857
42
+
43
+ install_package "openssl-3.1.0" "https://www.openssl.org/source/openssl-3.1.0.tar.gz#aaa925ad9828745c4cad9d9efeb273deca820f2cdcf2c3ac7d7c1212b7c497b4" openssl --if needs_openssl_102_300
44
+ install_git "ruby-3.2.2-pshopify10" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify10" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
@@ -0,0 +1,49 @@
1
+ # https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify11
2
+
3
+ # Based off `ruby_3_2`, with backports of:
4
+ # @byroot [ruby/set] Avoid the `block or return` pattern to save Proc allocations https://github.com/ruby/set/pull/29
5
+ # @peterzhu2118 Keep shared arrays WB protected https://github.com/ruby/ruby/pull/7224
6
+ # @peterzhu2118 Make BigDecimal WB protected https://github.com/ruby/bigdecimal/pull/248
7
+ # @XrXr YJIT String#+@ fixes https://github.com/ruby/ruby/pull/7328
8
+ # @byroot Add RUBY_GC_HEAP_INIT_SIZE_%d_SLOTS to pre-init pools granularly https://github.com/ruby/ruby/pull/7235
9
+ # @byroot Consider DATA objects without a mark function as protected https://github.com/ruby/ruby/pull/7263
10
+ # @byroot Implement Write Barrier for RMatch objects https://github.com/ruby/ruby/pull/7286
11
+ # @byroot Enable write barriers on File::Stat https://github.com/ruby/ruby/pull/7239
12
+ # @byroot Implement Write Barrier for Backtrace::Location https://github.com/ruby/ruby/pull/7240
13
+ # @byroot Mark "mapping_buffer" as write barrier protected https://github.com/ruby/ruby/pull/7238
14
+ # @byroot Mark "method" objects as protected by write barrier https://github.com/ruby/ruby/pull/7237
15
+ # @byroot Mark Encoding as Write Barrier protected Mark Encoding as Write Barrier protected
16
+ # @peterzhu2118 Make Time objects WB protected https://github.com/ruby/ruby/pull/7244
17
+ # @jhawthorn Use write barriers for Backtrace objects
18
+ # @peterzhu2118 Crash when malloc during GC
19
+ # @peterzhu2118 Fix crash when allocating classes with newobj hook
20
+ # @peterzhu2118 [Bug #19469] Fix crash when resizing generic iv list
21
+ # @byroot Implement Write Barrier for autoload_data
22
+ # @byroot Implement Write Barrier for autoload_table_type
23
+ # @k0kubun YJIT: Protect strings from GC on String#<<
24
+ # @tenderlove Use an st table for "too complex" objects
25
+ # @byroot Cache `Process.pid`
26
+ # @byroot thread_pthread.c: Use a `fork_gen` to protect against fork instead of getpid()
27
+ # @XrXr Fix write barrier order for klass to cme edge https://github.com/ruby/ruby/pull/7113
28
+ # @peterzhu2118 Ensure throw data is not set as cause https://github.com/ruby/ruby/pull/7696
29
+ # @peterzhu2118 Fix crash in rb_gc_register_address https://github.com/ruby/ruby/pull/7670
30
+ # @peterzhu2118 [Feature #19678] Don't immediately promote children of old objects https://github.com/ruby/ruby/pull/7821
31
+ # @k0kubun YJIT: Use rb_ivar_get at the end of ivar chains https://github.com/ruby/ruby/pull/7334
32
+ # @k0kubun / @maximecb / @XrXr YJIT: Add --yjit-pause and RubyVM::YJIT.resume https://github.com/ruby/ruby/pull/7609
33
+ # @k0kubun YJIT: Make ratio_in_yjit always available https://github.com/ruby/ruby/pull/8064
34
+ # @peterzhu2118 Store initial slots per size pool https://github.com/ruby/ruby/pull/8116
35
+ # @k0kubun YJIT: Implement throw instruction https://github.com/ruby/ruby/pull/7491
36
+ # @k0kubun YJIT: Fallback send instructions to vm_sendish https://github.com/ruby/ruby/pull/8106
37
+ # @k0kubun YJIT: Support entry for multiple PCs per ISEQ https://github.com/ruby/ruby/pull/7535
38
+ # @k0kubun YJIT: Distinguish exit and fallback reasons for send https://github.com/ruby/ruby/pull/8159
39
+ # @k0kubun YJIT: Use dynamic dispatch for megamorphic send https://github.com/ruby/ruby/pull/8125
40
+ # @k0kubun YJIT: Compile exception handlers https://github.com/ruby/ruby/pull/8171
41
+ # @k0kubun YJIT: Introduce RubyVM::YJIT.stats_string https://github.com/ruby/ruby/pull/7857
42
+ # @k0kubun YJIT: Don't side-exit on too-complex shapes https://github.com/ruby/ruby/pull/7298
43
+ # @k0kubun YJIT: Distinguish exit and fallback reasons for invokesuper/invokeblock https://github.com/ruby/ruby/pull/8194
44
+ # @jhawthorn YJIT: invokesuper: Remove cme mid matching check https://github.com/ruby/ruby/pull/7740
45
+ # @k0kubun YJIT: Fallback megamorphic super/yield to dynamic dispatch https://github.com/ruby/ruby/pull/8197
46
+ # @maximecb YJIT: add stats for ratio of versions per block https://github.com/ruby/ruby/pull/7653
47
+
48
+ install_package "openssl-3.1.0" "https://www.openssl.org/source/openssl-3.1.0.tar.gz#aaa925ad9828745c4cad9d9efeb273deca820f2cdcf2c3ac7d7c1212b7c497b4" openssl --if needs_openssl_102_300
49
+ install_git "ruby-3.2.2-pshopify11" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify11" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
@@ -0,0 +1,50 @@
1
+ # https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify12
2
+
3
+ # Based off `ruby_3_2`, with backports of:
4
+ # @byroot [ruby/set] Avoid the `block or return` pattern to save Proc allocations https://github.com/ruby/set/pull/29
5
+ # @peterzhu2118 Keep shared arrays WB protected https://github.com/ruby/ruby/pull/7224
6
+ # @peterzhu2118 Make BigDecimal WB protected https://github.com/ruby/bigdecimal/pull/248
7
+ # @XrXr YJIT String#+@ fixes https://github.com/ruby/ruby/pull/7328
8
+ # @byroot Add RUBY_GC_HEAP_INIT_SIZE_%d_SLOTS to pre-init pools granularly https://github.com/ruby/ruby/pull/7235
9
+ # @byroot Consider DATA objects without a mark function as protected https://github.com/ruby/ruby/pull/7263
10
+ # @byroot Implement Write Barrier for RMatch objects https://github.com/ruby/ruby/pull/7286
11
+ # @byroot Enable write barriers on File::Stat https://github.com/ruby/ruby/pull/7239
12
+ # @byroot Implement Write Barrier for Backtrace::Location https://github.com/ruby/ruby/pull/7240
13
+ # @byroot Mark "mapping_buffer" as write barrier protected https://github.com/ruby/ruby/pull/7238
14
+ # @byroot Mark "method" objects as protected by write barrier https://github.com/ruby/ruby/pull/7237
15
+ # @byroot Mark Encoding as Write Barrier protected Mark Encoding as Write Barrier protected
16
+ # @peterzhu2118 Make Time objects WB protected https://github.com/ruby/ruby/pull/7244
17
+ # @jhawthorn Use write barriers for Backtrace objects
18
+ # @peterzhu2118 Crash when malloc during GC
19
+ # @peterzhu2118 Fix crash when allocating classes with newobj hook
20
+ # @peterzhu2118 [Bug #19469] Fix crash when resizing generic iv list
21
+ # @byroot Implement Write Barrier for autoload_data
22
+ # @byroot Implement Write Barrier for autoload_table_type
23
+ # @k0kubun YJIT: Protect strings from GC on String#<<
24
+ # @tenderlove Use an st table for "too complex" objects
25
+ # @byroot Cache `Process.pid`
26
+ # @byroot thread_pthread.c: Use a `fork_gen` to protect against fork instead of getpid()
27
+ # @XrXr Fix write barrier order for klass to cme edge https://github.com/ruby/ruby/pull/7113
28
+ # @peterzhu2118 Ensure throw data is not set as cause https://github.com/ruby/ruby/pull/7696
29
+ # @peterzhu2118 Fix crash in rb_gc_register_address https://github.com/ruby/ruby/pull/7670
30
+ # @peterzhu2118 [Feature #19678] Don't immediately promote children of old objects https://github.com/ruby/ruby/pull/7821
31
+ # @k0kubun YJIT: Use rb_ivar_get at the end of ivar chains https://github.com/ruby/ruby/pull/7334
32
+ # @k0kubun / @maximecb / @XrXr YJIT: Add --yjit-pause and RubyVM::YJIT.resume https://github.com/ruby/ruby/pull/7609
33
+ # @k0kubun YJIT: Make ratio_in_yjit always available https://github.com/ruby/ruby/pull/8064
34
+ # @peterzhu2118 Store initial slots per size pool https://github.com/ruby/ruby/pull/8116
35
+ # @k0kubun YJIT: Implement throw instruction https://github.com/ruby/ruby/pull/7491
36
+ # @k0kubun YJIT: Fallback send instructions to vm_sendish https://github.com/ruby/ruby/pull/8106
37
+ # @k0kubun YJIT: Support entry for multiple PCs per ISEQ https://github.com/ruby/ruby/pull/7535
38
+ # @k0kubun YJIT: Distinguish exit and fallback reasons for send https://github.com/ruby/ruby/pull/8159
39
+ # @k0kubun YJIT: Use dynamic dispatch for megamorphic send https://github.com/ruby/ruby/pull/8125
40
+ # @k0kubun YJIT: Compile exception handlers https://github.com/ruby/ruby/pull/8171
41
+ # @k0kubun YJIT: Introduce RubyVM::YJIT.stats_string https://github.com/ruby/ruby/pull/7857
42
+ # @k0kubun YJIT: Don't side-exit on too-complex shapes https://github.com/ruby/ruby/pull/7298
43
+ # @k0kubun YJIT: Distinguish exit and fallback reasons for invokesuper/invokeblock https://github.com/ruby/ruby/pull/8194
44
+ # @jhawthorn YJIT: invokesuper: Remove cme mid matching check https://github.com/ruby/ruby/pull/7740
45
+ # @k0kubun YJIT: Fallback megamorphic super/yield to dynamic dispatch https://github.com/ruby/ruby/pull/8197
46
+ # @maximecb YJIT: add stats for ratio of versions per block https://github.com/ruby/ruby/pull/7653
47
+ # @XrXr YJIT: YJIT: Fix false object collection when setting ivar https://github.com/ruby/ruby/pull/7718
48
+
49
+ install_package "openssl-3.1.2" "https://www.openssl.org/source/openssl-3.1.2.tar.gz#a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539" openssl --if needs_openssl_102_300
50
+ install_git "ruby-3.2.2-pshopify12" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify12" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
@@ -0,0 +1,51 @@
1
+ # https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify13
2
+
3
+ # Based off `ruby_3_2`, with backports of:
4
+ # @byroot [ruby/set] Avoid the `block or return` pattern to save Proc allocations https://github.com/ruby/set/pull/29
5
+ # @peterzhu2118 Keep shared arrays WB protected https://github.com/ruby/ruby/pull/7224
6
+ # @peterzhu2118 Make BigDecimal WB protected https://github.com/ruby/bigdecimal/pull/248
7
+ # @XrXr YJIT String#+@ fixes https://github.com/ruby/ruby/pull/7328
8
+ # @byroot Add RUBY_GC_HEAP_INIT_SIZE_%d_SLOTS to pre-init pools granularly https://github.com/ruby/ruby/pull/7235
9
+ # @byroot Consider DATA objects without a mark function as protected https://github.com/ruby/ruby/pull/7263
10
+ # @byroot Implement Write Barrier for RMatch objects https://github.com/ruby/ruby/pull/7286
11
+ # @byroot Enable write barriers on File::Stat https://github.com/ruby/ruby/pull/7239
12
+ # @byroot Implement Write Barrier for Backtrace::Location https://github.com/ruby/ruby/pull/7240
13
+ # @byroot Mark "mapping_buffer" as write barrier protected https://github.com/ruby/ruby/pull/7238
14
+ # @byroot Mark "method" objects as protected by write barrier https://github.com/ruby/ruby/pull/7237
15
+ # @byroot Mark Encoding as Write Barrier protected Mark Encoding as Write Barrier protected
16
+ # @peterzhu2118 Make Time objects WB protected https://github.com/ruby/ruby/pull/7244
17
+ # @jhawthorn Use write barriers for Backtrace objects
18
+ # @peterzhu2118 Crash when malloc during GC
19
+ # @peterzhu2118 Fix crash when allocating classes with newobj hook
20
+ # @peterzhu2118 [Bug #19469] Fix crash when resizing generic iv list
21
+ # @byroot Implement Write Barrier for autoload_data
22
+ # @byroot Implement Write Barrier for autoload_table_type
23
+ # @k0kubun YJIT: Protect strings from GC on String#<<
24
+ # @tenderlove Use an st table for "too complex" objects
25
+ # @byroot Cache `Process.pid`
26
+ # @byroot thread_pthread.c: Use a `fork_gen` to protect against fork instead of getpid()
27
+ # @XrXr Fix write barrier order for klass to cme edge https://github.com/ruby/ruby/pull/7113
28
+ # @peterzhu2118 Ensure throw data is not set as cause https://github.com/ruby/ruby/pull/7696
29
+ # @peterzhu2118 Fix crash in rb_gc_register_address https://github.com/ruby/ruby/pull/7670
30
+ # @peterzhu2118 [Feature #19678] Don't immediately promote children of old objects https://github.com/ruby/ruby/pull/7821
31
+ # @k0kubun YJIT: Use rb_ivar_get at the end of ivar chains https://github.com/ruby/ruby/pull/7334
32
+ # @k0kubun / @maximecb / @XrXr YJIT: Add --yjit-pause and RubyVM::YJIT.resume https://github.com/ruby/ruby/pull/7609
33
+ # @k0kubun YJIT: Make ratio_in_yjit always available https://github.com/ruby/ruby/pull/8064
34
+ # @peterzhu2118 Store initial slots per size pool https://github.com/ruby/ruby/pull/8116
35
+ # @k0kubun YJIT: Implement throw instruction https://github.com/ruby/ruby/pull/7491
36
+ # @k0kubun YJIT: Fallback send instructions to vm_sendish https://github.com/ruby/ruby/pull/8106
37
+ # @k0kubun YJIT: Support entry for multiple PCs per ISEQ https://github.com/ruby/ruby/pull/7535
38
+ # @k0kubun YJIT: Distinguish exit and fallback reasons for send https://github.com/ruby/ruby/pull/8159
39
+ # @k0kubun YJIT: Use dynamic dispatch for megamorphic send https://github.com/ruby/ruby/pull/8125
40
+ # @k0kubun YJIT: Compile exception handlers https://github.com/ruby/ruby/pull/8171
41
+ # @k0kubun YJIT: Introduce RubyVM::YJIT.stats_string https://github.com/ruby/ruby/pull/7857
42
+ # @k0kubun YJIT: Don't side-exit on too-complex shapes https://github.com/ruby/ruby/pull/7298
43
+ # @k0kubun YJIT: Distinguish exit and fallback reasons for invokesuper/invokeblock https://github.com/ruby/ruby/pull/8194
44
+ # @jhawthorn YJIT: invokesuper: Remove cme mid matching check https://github.com/ruby/ruby/pull/7740
45
+ # @k0kubun YJIT: Fallback megamorphic super/yield to dynamic dispatch https://github.com/ruby/ruby/pull/8197
46
+ # @maximecb YJIT: add stats for ratio of versions per block https://github.com/ruby/ruby/pull/7653
47
+ # @XrXr YJIT: YJIT: Fix false object collection when setting ivar https://github.com/ruby/ruby/pull/7718
48
+ # @peterzhu2118 Add REMEMBERED_WB_UNPROTECTED_OBJECTS_LIMIT_RATIO https://github.com/ruby/ruby/pull/7577
49
+
50
+ install_package "openssl-3.1.2" "https://www.openssl.org/source/openssl-3.1.2.tar.gz#a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539" openssl --if needs_openssl_102_300
51
+ install_git "ruby-3.2.2-pshopify13" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify13" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
@@ -0,0 +1,65 @@
1
+ # https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify14
2
+
3
+ # Based off `ruby_3_2`, with backports of:
4
+ # @byroot [ruby/set] Avoid the `block or return` pattern to save Proc allocations https://github.com/ruby/set/pull/29
5
+ # @peterzhu2118 Keep shared arrays WB protected https://github.com/ruby/ruby/pull/7224
6
+ # @peterzhu2118 Make BigDecimal WB protected https://github.com/ruby/bigdecimal/pull/248
7
+ # @XrXr YJIT String#+@ fixes https://github.com/ruby/ruby/pull/7328
8
+ # @byroot Add RUBY_GC_HEAP_INIT_SIZE_%d_SLOTS to pre-init pools granularly https://github.com/ruby/ruby/pull/7235
9
+ # @byroot Consider DATA objects without a mark function as protected https://github.com/ruby/ruby/pull/7263
10
+ # @byroot Implement Write Barrier for RMatch objects https://github.com/ruby/ruby/pull/7286
11
+ # @byroot Enable write barriers on File::Stat https://github.com/ruby/ruby/pull/7239
12
+ # @byroot Implement Write Barrier for Backtrace::Location https://github.com/ruby/ruby/pull/7240
13
+ # @byroot Mark "mapping_buffer" as write barrier protected https://github.com/ruby/ruby/pull/7238
14
+ # @byroot Mark "method" objects as protected by write barrier https://github.com/ruby/ruby/pull/7237
15
+ # @byroot Mark Encoding as Write Barrier protected Mark Encoding as Write Barrier protected
16
+ # @peterzhu2118 Make Time objects WB protected https://github.com/ruby/ruby/pull/7244
17
+ # @jhawthorn Use write barriers for Backtrace objects
18
+ # @peterzhu2118 Crash when malloc during GC
19
+ # @peterzhu2118 Fix crash when allocating classes with newobj hook
20
+ # @peterzhu2118 [Bug #19469] Fix crash when resizing generic iv list
21
+ # @byroot Implement Write Barrier for autoload_data
22
+ # @byroot Implement Write Barrier for autoload_table_type
23
+ # @k0kubun YJIT: Protect strings from GC on String#<<
24
+ # @tenderlove Use an st table for "too complex" objects
25
+ # @byroot Cache `Process.pid`
26
+ # @byroot thread_pthread.c: Use a `fork_gen` to protect against fork instead of getpid()
27
+ # @XrXr Fix write barrier order for klass to cme edge https://github.com/ruby/ruby/pull/7113
28
+ # @peterzhu2118 Ensure throw data is not set as cause https://github.com/ruby/ruby/pull/7696
29
+ # @peterzhu2118 Fix crash in rb_gc_register_address https://github.com/ruby/ruby/pull/7670
30
+ # @peterzhu2118 [Feature #19678] Don't immediately promote children of old objects https://github.com/ruby/ruby/pull/7821
31
+ # @k0kubun YJIT: Use rb_ivar_get at the end of ivar chains https://github.com/ruby/ruby/pull/7334
32
+ # @k0kubun / @maximecb / @XrXr YJIT: Add --yjit-pause and RubyVM::YJIT.resume https://github.com/ruby/ruby/pull/7609
33
+ # @k0kubun YJIT: Make ratio_in_yjit always available https://github.com/ruby/ruby/pull/8064
34
+ # @peterzhu2118 Store initial slots per size pool https://github.com/ruby/ruby/pull/8116
35
+ # @k0kubun YJIT: Implement throw instruction https://github.com/ruby/ruby/pull/7491
36
+ # @k0kubun YJIT: Fallback send instructions to vm_sendish https://github.com/ruby/ruby/pull/8106
37
+ # @k0kubun YJIT: Support entry for multiple PCs per ISEQ https://github.com/ruby/ruby/pull/7535
38
+ # @k0kubun YJIT: Distinguish exit and fallback reasons for send https://github.com/ruby/ruby/pull/8159
39
+ # @k0kubun YJIT: Use dynamic dispatch for megamorphic send https://github.com/ruby/ruby/pull/8125
40
+ # @k0kubun YJIT: Compile exception handlers https://github.com/ruby/ruby/pull/8171
41
+ # @k0kubun YJIT: Introduce RubyVM::YJIT.stats_string https://github.com/ruby/ruby/pull/7857
42
+ # @k0kubun YJIT: Don't side-exit on too-complex shapes https://github.com/ruby/ruby/pull/7298
43
+ # @k0kubun YJIT: Distinguish exit and fallback reasons for invokesuper/invokeblock https://github.com/ruby/ruby/pull/8194
44
+ # @jhawthorn YJIT: invokesuper: Remove cme mid matching check https://github.com/ruby/ruby/pull/7740
45
+ # @k0kubun YJIT: Fallback megamorphic super/yield to dynamic dispatch https://github.com/ruby/ruby/pull/8197
46
+ # @maximecb YJIT: add stats for ratio of versions per block https://github.com/ruby/ruby/pull/7653
47
+ # @XrXr YJIT: YJIT: Fix false object collection when setting ivar https://github.com/ruby/ruby/pull/7718
48
+ # @peterzhu2118 Add REMEMBERED_WB_UNPROTECTED_OBJECTS_LIMIT_RATIO https://github.com/ruby/ruby/pull/7577
49
+ # @k0kubun YJIT: Fallback setivar if the next shape is too complex ruby/ruby#8152
50
+ # @byroot YJIT: Fallback setivar if the receiver isn't T_OBJECT ruby/ruby#8160
51
+ # @maximecb YJIT: handle expandarray_rhs_too_small case ruby/ruby#8161
52
+ # @maximecb YJIT: add jb (unsigned less-than) instruction to backend ruby/ruby#8168
53
+ # @maximecb YJIT: guard for array_len >= num in expandarray ruby/ruby#8169
54
+ # @k0kubun YJIT: Implement checkmatch instruction ruby/ruby#8203
55
+ # @maximecb YJIT: increase max chain depth for expandarray ruby/ruby#8205
56
+ # @k0kubun YJIT: Support ifunc on invokeblock ruby/ruby#7233
57
+ # @k0kubun YJIT: Allow VM_CALL_ARGS_BLOCKARG on invokesuper ruby/ruby#8198
58
+ # @k0kubun YJIT: Implement GET_BLOCK_HANDLER() for invokesuper ruby/ruby#8206
59
+ # @k0kubun YJIT: Bump SEND_MAX_DEPTH to 20 ruby/ruby#7469
60
+ # @k0kubun YJIT: Refactor getlocal and setlocal insns ruby/ruby#7320
61
+ # @maximecb YJIT: implement side chain fallback for setlocal to avoid exiting ruby/ruby#8227
62
+ # @byroot YJIT: Stop incrementing jit_entry_calls once threshold is hit https://github.com/ruby/ruby/pull/8259
63
+
64
+ install_package "openssl-3.1.2" "https://www.openssl.org/source/openssl-3.1.2.tar.gz#a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539" openssl --if needs_openssl_102_300
65
+ install_git "ruby-3.2.2-pshopify13" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify13" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
@@ -0,0 +1,66 @@
1
+ # https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify15
2
+
3
+ # Based off `ruby_3_2`, with backports of:
4
+ # @byroot [ruby/set] Avoid the `block or return` pattern to save Proc allocations https://github.com/ruby/set/pull/29
5
+ # @peterzhu2118 Keep shared arrays WB protected https://github.com/ruby/ruby/pull/7224
6
+ # @peterzhu2118 Make BigDecimal WB protected https://github.com/ruby/bigdecimal/pull/248
7
+ # @XrXr YJIT String#+@ fixes https://github.com/ruby/ruby/pull/7328
8
+ # @byroot Add RUBY_GC_HEAP_INIT_SIZE_%d_SLOTS to pre-init pools granularly https://github.com/ruby/ruby/pull/7235
9
+ # @byroot Consider DATA objects without a mark function as protected https://github.com/ruby/ruby/pull/7263
10
+ # @byroot Implement Write Barrier for RMatch objects https://github.com/ruby/ruby/pull/7286
11
+ # @byroot Enable write barriers on File::Stat https://github.com/ruby/ruby/pull/7239
12
+ # @byroot Implement Write Barrier for Backtrace::Location https://github.com/ruby/ruby/pull/7240
13
+ # @byroot Mark "mapping_buffer" as write barrier protected https://github.com/ruby/ruby/pull/7238
14
+ # @byroot Mark "method" objects as protected by write barrier https://github.com/ruby/ruby/pull/7237
15
+ # @byroot Mark Encoding as Write Barrier protected Mark Encoding as Write Barrier protected
16
+ # @peterzhu2118 Make Time objects WB protected https://github.com/ruby/ruby/pull/7244
17
+ # @jhawthorn Use write barriers for Backtrace objects
18
+ # @peterzhu2118 Crash when malloc during GC
19
+ # @peterzhu2118 Fix crash when allocating classes with newobj hook
20
+ # @peterzhu2118 [Bug #19469] Fix crash when resizing generic iv list
21
+ # @byroot Implement Write Barrier for autoload_data
22
+ # @byroot Implement Write Barrier for autoload_table_type
23
+ # @k0kubun YJIT: Protect strings from GC on String#<<
24
+ # @tenderlove Use an st table for "too complex" objects
25
+ # @byroot Cache `Process.pid`
26
+ # @byroot thread_pthread.c: Use a `fork_gen` to protect against fork instead of getpid()
27
+ # @XrXr Fix write barrier order for klass to cme edge https://github.com/ruby/ruby/pull/7113
28
+ # @peterzhu2118 Ensure throw data is not set as cause https://github.com/ruby/ruby/pull/7696
29
+ # @peterzhu2118 Fix crash in rb_gc_register_address https://github.com/ruby/ruby/pull/7670
30
+ # @peterzhu2118 [Feature #19678] Don't immediately promote children of old objects https://github.com/ruby/ruby/pull/7821
31
+ # @k0kubun YJIT: Use rb_ivar_get at the end of ivar chains https://github.com/ruby/ruby/pull/7334
32
+ # @k0kubun / @maximecb / @XrXr YJIT: Add --yjit-pause and RubyVM::YJIT.resume https://github.com/ruby/ruby/pull/7609
33
+ # @k0kubun YJIT: Make ratio_in_yjit always available https://github.com/ruby/ruby/pull/8064
34
+ # @peterzhu2118 Store initial slots per size pool https://github.com/ruby/ruby/pull/8116
35
+ # @k0kubun YJIT: Implement throw instruction https://github.com/ruby/ruby/pull/7491
36
+ # @k0kubun YJIT: Fallback send instructions to vm_sendish https://github.com/ruby/ruby/pull/8106
37
+ # @k0kubun YJIT: Support entry for multiple PCs per ISEQ https://github.com/ruby/ruby/pull/7535
38
+ # @k0kubun YJIT: Distinguish exit and fallback reasons for send https://github.com/ruby/ruby/pull/8159
39
+ # @k0kubun YJIT: Use dynamic dispatch for megamorphic send https://github.com/ruby/ruby/pull/8125
40
+ # @k0kubun YJIT: Compile exception handlers https://github.com/ruby/ruby/pull/8171
41
+ # @k0kubun YJIT: Introduce RubyVM::YJIT.stats_string https://github.com/ruby/ruby/pull/7857
42
+ # @k0kubun YJIT: Don't side-exit on too-complex shapes https://github.com/ruby/ruby/pull/7298
43
+ # @k0kubun YJIT: Distinguish exit and fallback reasons for invokesuper/invokeblock https://github.com/ruby/ruby/pull/8194
44
+ # @jhawthorn YJIT: invokesuper: Remove cme mid matching check https://github.com/ruby/ruby/pull/7740
45
+ # @k0kubun YJIT: Fallback megamorphic super/yield to dynamic dispatch https://github.com/ruby/ruby/pull/8197
46
+ # @maximecb YJIT: add stats for ratio of versions per block https://github.com/ruby/ruby/pull/7653
47
+ # @XrXr YJIT: YJIT: Fix false object collection when setting ivar https://github.com/ruby/ruby/pull/7718
48
+ # @peterzhu2118 Add REMEMBERED_WB_UNPROTECTED_OBJECTS_LIMIT_RATIO https://github.com/ruby/ruby/pull/7577
49
+ # @k0kubun YJIT: Fallback setivar if the next shape is too complex ruby/ruby#8152
50
+ # @byroot YJIT: Fallback setivar if the receiver isn't T_OBJECT ruby/ruby#8160
51
+ # @maximecb YJIT: handle expandarray_rhs_too_small case ruby/ruby#8161
52
+ # @maximecb YJIT: add jb (unsigned less-than) instruction to backend ruby/ruby#8168
53
+ # @maximecb YJIT: guard for array_len >= num in expandarray ruby/ruby#8169
54
+ # @k0kubun YJIT: Implement checkmatch instruction ruby/ruby#8203
55
+ # @maximecb YJIT: increase max chain depth for expandarray ruby/ruby#8205
56
+ # @k0kubun YJIT: Support ifunc on invokeblock ruby/ruby#7233
57
+ # @k0kubun YJIT: Allow VM_CALL_ARGS_BLOCKARG on invokesuper ruby/ruby#8198
58
+ # @k0kubun YJIT: Implement GET_BLOCK_HANDLER() for invokesuper ruby/ruby#8206
59
+ # @k0kubun YJIT: Refactor getlocal and setlocal insns ruby/ruby#7320
60
+ # @maximecb YJIT: implement side chain fallback for setlocal to avoid exiting ruby/ruby#8227
61
+ # @byroot YJIT: Stop incrementing jit_entry_calls once threshold is hit https://github.com/ruby/ruby/pull/8259
62
+ # @peterzhu2118 Implement GC.free_all_empty_pages
63
+ # @nobu / @byroot Write crash report in $RUBY_CRASH_REPORT https://bugs.ruby-lang.org/issues/19790
64
+
65
+ install_package "openssl-3.1.2" "https://www.openssl.org/source/openssl-3.1.2.tar.gz#a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539" openssl --if needs_openssl_102_300
66
+ install_git "ruby-3.2.2-pshopify15" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify15" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
@@ -0,0 +1,66 @@
1
+ # https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify16
2
+
3
+ # Based off `ruby_3_2`, with backports of:
4
+ # @byroot [ruby/set] Avoid the `block or return` pattern to save Proc allocations https://github.com/ruby/set/pull/29
5
+ # @peterzhu2118 Keep shared arrays WB protected https://github.com/ruby/ruby/pull/7224
6
+ # @peterzhu2118 Make BigDecimal WB protected https://github.com/ruby/bigdecimal/pull/248
7
+ # @XrXr YJIT String#+@ fixes https://github.com/ruby/ruby/pull/7328
8
+ # @byroot Add RUBY_GC_HEAP_INIT_SIZE_%d_SLOTS to pre-init pools granularly https://github.com/ruby/ruby/pull/7235
9
+ # @byroot Consider DATA objects without a mark function as protected https://github.com/ruby/ruby/pull/7263
10
+ # @byroot Implement Write Barrier for RMatch objects https://github.com/ruby/ruby/pull/7286
11
+ # @byroot Enable write barriers on File::Stat https://github.com/ruby/ruby/pull/7239
12
+ # @byroot Implement Write Barrier for Backtrace::Location https://github.com/ruby/ruby/pull/7240
13
+ # @byroot Mark "mapping_buffer" as write barrier protected https://github.com/ruby/ruby/pull/7238
14
+ # @byroot Mark "method" objects as protected by write barrier https://github.com/ruby/ruby/pull/7237
15
+ # @byroot Mark Encoding as Write Barrier protected Mark Encoding as Write Barrier protected
16
+ # @peterzhu2118 Make Time objects WB protected https://github.com/ruby/ruby/pull/7244
17
+ # @jhawthorn Use write barriers for Backtrace objects
18
+ # @peterzhu2118 Crash when malloc during GC
19
+ # @peterzhu2118 Fix crash when allocating classes with newobj hook
20
+ # @peterzhu2118 [Bug #19469] Fix crash when resizing generic iv list
21
+ # @byroot Implement Write Barrier for autoload_data
22
+ # @byroot Implement Write Barrier for autoload_table_type
23
+ # @k0kubun YJIT: Protect strings from GC on String#<<
24
+ # @tenderlove Use an st table for "too complex" objects
25
+ # @byroot Cache `Process.pid`
26
+ # @byroot thread_pthread.c: Use a `fork_gen` to protect against fork instead of getpid()
27
+ # @XrXr Fix write barrier order for klass to cme edge https://github.com/ruby/ruby/pull/7113
28
+ # @peterzhu2118 Ensure throw data is not set as cause https://github.com/ruby/ruby/pull/7696
29
+ # @peterzhu2118 Fix crash in rb_gc_register_address https://github.com/ruby/ruby/pull/7670
30
+ # @peterzhu2118 [Feature #19678] Don't immediately promote children of old objects https://github.com/ruby/ruby/pull/7821
31
+ # @k0kubun YJIT: Use rb_ivar_get at the end of ivar chains https://github.com/ruby/ruby/pull/7334
32
+ # @k0kubun / @maximecb / @XrXr YJIT: Add --yjit-pause and RubyVM::YJIT.resume https://github.com/ruby/ruby/pull/7609
33
+ # @k0kubun YJIT: Make ratio_in_yjit always available https://github.com/ruby/ruby/pull/8064
34
+ # @peterzhu2118 Store initial slots per size pool https://github.com/ruby/ruby/pull/8116
35
+ # @k0kubun YJIT: Implement throw instruction https://github.com/ruby/ruby/pull/7491
36
+ # @k0kubun YJIT: Fallback send instructions to vm_sendish https://github.com/ruby/ruby/pull/8106
37
+ # @k0kubun YJIT: Support entry for multiple PCs per ISEQ https://github.com/ruby/ruby/pull/7535
38
+ # @k0kubun YJIT: Distinguish exit and fallback reasons for send https://github.com/ruby/ruby/pull/8159
39
+ # @k0kubun YJIT: Use dynamic dispatch for megamorphic send https://github.com/ruby/ruby/pull/8125
40
+ # @k0kubun YJIT: Compile exception handlers https://github.com/ruby/ruby/pull/8171
41
+ # @k0kubun YJIT: Introduce RubyVM::YJIT.stats_string https://github.com/ruby/ruby/pull/7857
42
+ # @k0kubun YJIT: Don't side-exit on too-complex shapes https://github.com/ruby/ruby/pull/7298
43
+ # @k0kubun YJIT: Distinguish exit and fallback reasons for invokesuper/invokeblock https://github.com/ruby/ruby/pull/8194
44
+ # @jhawthorn YJIT: invokesuper: Remove cme mid matching check https://github.com/ruby/ruby/pull/7740
45
+ # @k0kubun YJIT: Fallback megamorphic super/yield to dynamic dispatch https://github.com/ruby/ruby/pull/8197
46
+ # @maximecb YJIT: add stats for ratio of versions per block https://github.com/ruby/ruby/pull/7653
47
+ # @XrXr YJIT: YJIT: Fix false object collection when setting ivar https://github.com/ruby/ruby/pull/7718
48
+ # @peterzhu2118 Add REMEMBERED_WB_UNPROTECTED_OBJECTS_LIMIT_RATIO https://github.com/ruby/ruby/pull/7577
49
+ # @k0kubun YJIT: Fallback setivar if the next shape is too complex ruby/ruby#8152
50
+ # @byroot YJIT: Fallback setivar if the receiver isn't T_OBJECT ruby/ruby#8160
51
+ # @maximecb YJIT: handle expandarray_rhs_too_small case ruby/ruby#8161
52
+ # @maximecb YJIT: add jb (unsigned less-than) instruction to backend ruby/ruby#8168
53
+ # @maximecb YJIT: guard for array_len >= num in expandarray ruby/ruby#8169
54
+ # @k0kubun YJIT: Implement checkmatch instruction ruby/ruby#8203
55
+ # @maximecb YJIT: increase max chain depth for expandarray ruby/ruby#8205
56
+ # @k0kubun YJIT: Support ifunc on invokeblock ruby/ruby#7233
57
+ # @k0kubun YJIT: Allow VM_CALL_ARGS_BLOCKARG on invokesuper ruby/ruby#8198
58
+ # @k0kubun YJIT: Implement GET_BLOCK_HANDLER() for invokesuper ruby/ruby#8206
59
+ # @k0kubun YJIT: Refactor getlocal and setlocal insns ruby/ruby#7320
60
+ # @maximecb YJIT: implement side chain fallback for setlocal to avoid exiting ruby/ruby#8227
61
+ # @byroot YJIT: Stop incrementing jit_entry_calls once threshold is hit https://github.com/ruby/ruby/pull/8259
62
+ # @peterzhu2118 Implement GC.free_all_empty_pages
63
+ # @nobu / @byroot Write crash report in $RUBY_CRASH_REPORT https://bugs.ruby-lang.org/issues/19790
64
+
65
+ install_package "openssl-3.1.2" "https://www.openssl.org/source/openssl-3.1.2.tar.gz#a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539" openssl --if needs_openssl_102_300
66
+ install_git "ruby-3.2.2-pshopify16" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify16" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
@@ -0,0 +1,69 @@
1
+ # https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify17
2
+
3
+ # Based off `ruby_3_2`, with backports of:
4
+ # @byroot [ruby/set] Avoid the `block or return` pattern to save Proc allocations https://github.com/ruby/set/pull/29
5
+ # @peterzhu2118 Keep shared arrays WB protected https://github.com/ruby/ruby/pull/7224
6
+ # @peterzhu2118 Make BigDecimal WB protected https://github.com/ruby/bigdecimal/pull/248
7
+ # @XrXr YJIT String#+@ fixes https://github.com/ruby/ruby/pull/7328
8
+ # @byroot Add RUBY_GC_HEAP_INIT_SIZE_%d_SLOTS to pre-init pools granularly https://github.com/ruby/ruby/pull/7235
9
+ # @byroot Consider DATA objects without a mark function as protected https://github.com/ruby/ruby/pull/7263
10
+ # @byroot Implement Write Barrier for RMatch objects https://github.com/ruby/ruby/pull/7286
11
+ # @byroot Enable write barriers on File::Stat https://github.com/ruby/ruby/pull/7239
12
+ # @byroot Implement Write Barrier for Backtrace::Location https://github.com/ruby/ruby/pull/7240
13
+ # @byroot Mark "mapping_buffer" as write barrier protected https://github.com/ruby/ruby/pull/7238
14
+ # @byroot Mark "method" objects as protected by write barrier https://github.com/ruby/ruby/pull/7237
15
+ # @byroot Mark Encoding as Write Barrier protected Mark Encoding as Write Barrier protected
16
+ # @peterzhu2118 Make Time objects WB protected https://github.com/ruby/ruby/pull/7244
17
+ # @jhawthorn Use write barriers for Backtrace objects
18
+ # @peterzhu2118 Crash when malloc during GC
19
+ # @peterzhu2118 Fix crash when allocating classes with newobj hook
20
+ # @peterzhu2118 [Bug #19469] Fix crash when resizing generic iv list
21
+ # @byroot Implement Write Barrier for autoload_data
22
+ # @byroot Implement Write Barrier for autoload_table_type
23
+ # @k0kubun YJIT: Protect strings from GC on String#<<
24
+ # @tenderlove Use an st table for "too complex" objects
25
+ # @byroot Cache `Process.pid`
26
+ # @byroot thread_pthread.c: Use a `fork_gen` to protect against fork instead of getpid()
27
+ # @XrXr Fix write barrier order for klass to cme edge https://github.com/ruby/ruby/pull/7113
28
+ # @peterzhu2118 Ensure throw data is not set as cause https://github.com/ruby/ruby/pull/7696
29
+ # @peterzhu2118 Fix crash in rb_gc_register_address https://github.com/ruby/ruby/pull/7670
30
+ # @peterzhu2118 [Feature #19678] Don't immediately promote children of old objects https://github.com/ruby/ruby/pull/7821
31
+ # @k0kubun YJIT: Use rb_ivar_get at the end of ivar chains https://github.com/ruby/ruby/pull/7334
32
+ # @k0kubun / @maximecb / @XrXr YJIT: Add --yjit-pause and RubyVM::YJIT.resume https://github.com/ruby/ruby/pull/7609
33
+ # @k0kubun YJIT: Make ratio_in_yjit always available https://github.com/ruby/ruby/pull/8064
34
+ # @peterzhu2118 Store initial slots per size pool https://github.com/ruby/ruby/pull/8116
35
+ # @k0kubun YJIT: Implement throw instruction https://github.com/ruby/ruby/pull/7491
36
+ # @k0kubun YJIT: Fallback send instructions to vm_sendish https://github.com/ruby/ruby/pull/8106
37
+ # @k0kubun YJIT: Support entry for multiple PCs per ISEQ https://github.com/ruby/ruby/pull/7535
38
+ # @k0kubun YJIT: Distinguish exit and fallback reasons for send https://github.com/ruby/ruby/pull/8159
39
+ # @k0kubun YJIT: Use dynamic dispatch for megamorphic send https://github.com/ruby/ruby/pull/8125
40
+ # @k0kubun YJIT: Compile exception handlers https://github.com/ruby/ruby/pull/8171
41
+ # @k0kubun YJIT: Introduce RubyVM::YJIT.stats_string https://github.com/ruby/ruby/pull/7857
42
+ # @k0kubun YJIT: Don't side-exit on too-complex shapes https://github.com/ruby/ruby/pull/7298
43
+ # @k0kubun YJIT: Distinguish exit and fallback reasons for invokesuper/invokeblock https://github.com/ruby/ruby/pull/8194
44
+ # @jhawthorn YJIT: invokesuper: Remove cme mid matching check https://github.com/ruby/ruby/pull/7740
45
+ # @k0kubun YJIT: Fallback megamorphic super/yield to dynamic dispatch https://github.com/ruby/ruby/pull/8197
46
+ # @maximecb YJIT: add stats for ratio of versions per block https://github.com/ruby/ruby/pull/7653
47
+ # @XrXr YJIT: YJIT: Fix false object collection when setting ivar https://github.com/ruby/ruby/pull/7718
48
+ # @peterzhu2118 Add REMEMBERED_WB_UNPROTECTED_OBJECTS_LIMIT_RATIO https://github.com/ruby/ruby/pull/7577
49
+ # @k0kubun YJIT: Fallback setivar if the next shape is too complex ruby/ruby#8152
50
+ # @byroot YJIT: Fallback setivar if the receiver isn't T_OBJECT ruby/ruby#8160
51
+ # @maximecb YJIT: handle expandarray_rhs_too_small case ruby/ruby#8161
52
+ # @maximecb YJIT: add jb (unsigned less-than) instruction to backend ruby/ruby#8168
53
+ # @maximecb YJIT: guard for array_len >= num in expandarray ruby/ruby#8169
54
+ # @k0kubun YJIT: Implement checkmatch instruction ruby/ruby#8203
55
+ # @maximecb YJIT: increase max chain depth for expandarray ruby/ruby#8205
56
+ # @k0kubun YJIT: Support ifunc on invokeblock ruby/ruby#7233
57
+ # @k0kubun YJIT: Allow VM_CALL_ARGS_BLOCKARG on invokesuper ruby/ruby#8198
58
+ # @k0kubun YJIT: Implement GET_BLOCK_HANDLER() for invokesuper ruby/ruby#8206
59
+ # @k0kubun YJIT: Refactor getlocal and setlocal insns ruby/ruby#7320
60
+ # @maximecb YJIT: implement side chain fallback for setlocal to avoid exiting ruby/ruby#8227
61
+ # @byroot YJIT: Stop incrementing jit_entry_calls once threshold is hit https://github.com/ruby/ruby/pull/8259
62
+ # @peterzhu2118 Implement GC.free_all_empty_pages
63
+ # @nobu / @byroot Write crash report in $RUBY_CRASH_REPORT https://bugs.ruby-lang.org/issues/19790
64
+ # @k0kubun YJIT: Make compiled_* stats available by default https://github.com/ruby/ruby/pull/8379
65
+ # @k0kubun YJIT: Add compilation time counter https://github.com/ruby/ruby/pull/8417
66
+ # @k0kubun YJIT: Make yjit_alloc_size available by default https://github.com/ruby/ruby/pull/8426
67
+
68
+ install_package "openssl-3.1.2" "https://www.openssl.org/source/openssl-3.1.2.tar.gz#a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539" openssl --if needs_openssl_102_300
69
+ install_git "ruby-3.2.2-pshopify17" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify17" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
@@ -0,0 +1,73 @@
1
+ # https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify18
2
+
3
+ # Based off `ruby_3_2`, with backports of:
4
+ # @byroot [ruby/set] Avoid the `block or return` pattern to save Proc allocations https://github.com/ruby/set/pull/29
5
+ # @peterzhu2118 Keep shared arrays WB protected https://github.com/ruby/ruby/pull/7224
6
+ # @peterzhu2118 Make BigDecimal WB protected https://github.com/ruby/bigdecimal/pull/248
7
+ # @XrXr YJIT String#+@ fixes https://github.com/ruby/ruby/pull/7328
8
+ # @byroot Add RUBY_GC_HEAP_INIT_SIZE_%d_SLOTS to pre-init pools granularly https://github.com/ruby/ruby/pull/7235
9
+ # @byroot Consider DATA objects without a mark function as protected https://github.com/ruby/ruby/pull/7263
10
+ # @byroot Implement Write Barrier for RMatch objects https://github.com/ruby/ruby/pull/7286
11
+ # @byroot Enable write barriers on File::Stat https://github.com/ruby/ruby/pull/7239
12
+ # @byroot Implement Write Barrier for Backtrace::Location https://github.com/ruby/ruby/pull/7240
13
+ # @byroot Mark "mapping_buffer" as write barrier protected https://github.com/ruby/ruby/pull/7238
14
+ # @byroot Mark "method" objects as protected by write barrier https://github.com/ruby/ruby/pull/7237
15
+ # @byroot Mark Encoding as Write Barrier protected Mark Encoding as Write Barrier protected
16
+ # @peterzhu2118 Make Time objects WB protected https://github.com/ruby/ruby/pull/7244
17
+ # @jhawthorn Use write barriers for Backtrace objects
18
+ # @peterzhu2118 Crash when malloc during GC
19
+ # @peterzhu2118 Fix crash when allocating classes with newobj hook
20
+ # @peterzhu2118 [Bug #19469] Fix crash when resizing generic iv list
21
+ # @byroot Implement Write Barrier for autoload_data
22
+ # @byroot Implement Write Barrier for autoload_table_type
23
+ # @k0kubun YJIT: Protect strings from GC on String#<<
24
+ # @tenderlove Use an st table for "too complex" objects
25
+ # @byroot Cache `Process.pid`
26
+ # @byroot thread_pthread.c: Use a `fork_gen` to protect against fork instead of getpid()
27
+ # @XrXr Fix write barrier order for klass to cme edge https://github.com/ruby/ruby/pull/7113
28
+ # @peterzhu2118 Ensure throw data is not set as cause https://github.com/ruby/ruby/pull/7696
29
+ # @peterzhu2118 Fix crash in rb_gc_register_address https://github.com/ruby/ruby/pull/7670
30
+ # @peterzhu2118 [Feature #19678] Don't immediately promote children of old objects https://github.com/ruby/ruby/pull/7821
31
+ # @k0kubun YJIT: Use rb_ivar_get at the end of ivar chains https://github.com/ruby/ruby/pull/7334
32
+ # @k0kubun / @maximecb / @XrXr YJIT: Add --yjit-pause and RubyVM::YJIT.resume https://github.com/ruby/ruby/pull/7609
33
+ # @k0kubun YJIT: Make ratio_in_yjit always available https://github.com/ruby/ruby/pull/8064
34
+ # @peterzhu2118 Store initial slots per size pool https://github.com/ruby/ruby/pull/8116
35
+ # @k0kubun YJIT: Implement throw instruction https://github.com/ruby/ruby/pull/7491
36
+ # @k0kubun YJIT: Fallback send instructions to vm_sendish https://github.com/ruby/ruby/pull/8106
37
+ # @k0kubun YJIT: Support entry for multiple PCs per ISEQ https://github.com/ruby/ruby/pull/7535
38
+ # @k0kubun YJIT: Distinguish exit and fallback reasons for send https://github.com/ruby/ruby/pull/8159
39
+ # @k0kubun YJIT: Use dynamic dispatch for megamorphic send https://github.com/ruby/ruby/pull/8125
40
+ # @k0kubun YJIT: Compile exception handlers https://github.com/ruby/ruby/pull/8171
41
+ # @k0kubun YJIT: Introduce RubyVM::YJIT.stats_string https://github.com/ruby/ruby/pull/7857
42
+ # @k0kubun YJIT: Don't side-exit on too-complex shapes https://github.com/ruby/ruby/pull/7298
43
+ # @k0kubun YJIT: Distinguish exit and fallback reasons for invokesuper/invokeblock https://github.com/ruby/ruby/pull/8194
44
+ # @jhawthorn YJIT: invokesuper: Remove cme mid matching check https://github.com/ruby/ruby/pull/7740
45
+ # @k0kubun YJIT: Fallback megamorphic super/yield to dynamic dispatch https://github.com/ruby/ruby/pull/8197
46
+ # @maximecb YJIT: add stats for ratio of versions per block https://github.com/ruby/ruby/pull/7653
47
+ # @XrXr YJIT: YJIT: Fix false object collection when setting ivar https://github.com/ruby/ruby/pull/7718
48
+ # @peterzhu2118 Add REMEMBERED_WB_UNPROTECTED_OBJECTS_LIMIT_RATIO https://github.com/ruby/ruby/pull/7577
49
+ # @k0kubun YJIT: Fallback setivar if the next shape is too complex ruby/ruby#8152
50
+ # @byroot YJIT: Fallback setivar if the receiver isn't T_OBJECT ruby/ruby#8160
51
+ # @maximecb YJIT: handle expandarray_rhs_too_small case ruby/ruby#8161
52
+ # @maximecb YJIT: add jb (unsigned less-than) instruction to backend ruby/ruby#8168
53
+ # @maximecb YJIT: guard for array_len >= num in expandarray ruby/ruby#8169
54
+ # @k0kubun YJIT: Implement checkmatch instruction ruby/ruby#8203
55
+ # @maximecb YJIT: increase max chain depth for expandarray ruby/ruby#8205
56
+ # @k0kubun YJIT: Support ifunc on invokeblock ruby/ruby#7233
57
+ # @k0kubun YJIT: Allow VM_CALL_ARGS_BLOCKARG on invokesuper ruby/ruby#8198
58
+ # @k0kubun YJIT: Implement GET_BLOCK_HANDLER() for invokesuper ruby/ruby#8206
59
+ # @k0kubun YJIT: Refactor getlocal and setlocal insns ruby/ruby#7320
60
+ # @maximecb YJIT: implement side chain fallback for setlocal to avoid exiting ruby/ruby#8227
61
+ # @byroot YJIT: Stop incrementing jit_entry_calls once threshold is hit https://github.com/ruby/ruby/pull/8259
62
+ # @peterzhu2118 Implement GC.free_all_empty_pages
63
+ # @nobu / @byroot Write crash report in $RUBY_CRASH_REPORT https://bugs.ruby-lang.org/issues/19790
64
+ # @k0kubun YJIT: Make compiled_* stats available by default https://github.com/ruby/ruby/pull/8379
65
+ # @k0kubun YJIT: Add compilation time counter https://github.com/ruby/ruby/pull/8417
66
+ # @k0kubun YJIT: Make yjit_alloc_size available by default https://github.com/ruby/ruby/pull/8426
67
+ # @peterzhu2118 Fix growth in minor GC when we have initial slots https://github.com/ruby/ruby/pull/8310
68
+ # @peterzhu2118 Correctly calculate initial pages https://github.com/ruby/ruby/pull/8333
69
+ # @peterzhu2118 Incrementally mark even if we have free pages https://github.com/ruby/ruby/pull/8230
70
+ # @peterzhu2118 Pool more slots for large size pools https://github.com/ruby/ruby/pull/8249
71
+
72
+ install_package "openssl-3.1.2" "https://www.openssl.org/source/openssl-3.1.2.tar.gz#a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539" openssl --if needs_openssl_102_300
73
+ install_git "ruby-3.2.2-pshopify18" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify18" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
@@ -0,0 +1,76 @@
1
+ # https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify19
2
+
3
+ # Based off `ruby_3_2`, with backports of:
4
+ # @byroot [ruby/set] Avoid the `block or return` pattern to save Proc allocations https://github.com/ruby/set/pull/29
5
+ # @peterzhu2118 Keep shared arrays WB protected https://github.com/ruby/ruby/pull/7224
6
+ # @peterzhu2118 Make BigDecimal WB protected https://github.com/ruby/bigdecimal/pull/248
7
+ # @XrXr YJIT String#+@ fixes https://github.com/ruby/ruby/pull/7328
8
+ # @byroot Add RUBY_GC_HEAP_INIT_SIZE_%d_SLOTS to pre-init pools granularly https://github.com/ruby/ruby/pull/7235
9
+ # @byroot Consider DATA objects without a mark function as protected https://github.com/ruby/ruby/pull/7263
10
+ # @byroot Implement Write Barrier for RMatch objects https://github.com/ruby/ruby/pull/7286
11
+ # @byroot Enable write barriers on File::Stat https://github.com/ruby/ruby/pull/7239
12
+ # @byroot Implement Write Barrier for Backtrace::Location https://github.com/ruby/ruby/pull/7240
13
+ # @byroot Mark "mapping_buffer" as write barrier protected https://github.com/ruby/ruby/pull/7238
14
+ # @byroot Mark "method" objects as protected by write barrier https://github.com/ruby/ruby/pull/7237
15
+ # @byroot Mark Encoding as Write Barrier protected Mark Encoding as Write Barrier protected
16
+ # @peterzhu2118 Make Time objects WB protected https://github.com/ruby/ruby/pull/7244
17
+ # @jhawthorn Use write barriers for Backtrace objects
18
+ # @peterzhu2118 Crash when malloc during GC
19
+ # @peterzhu2118 Fix crash when allocating classes with newobj hook
20
+ # @peterzhu2118 [Bug #19469] Fix crash when resizing generic iv list
21
+ # @byroot Implement Write Barrier for autoload_data
22
+ # @byroot Implement Write Barrier for autoload_table_type
23
+ # @k0kubun YJIT: Protect strings from GC on String#<<
24
+ # @tenderlove Use an st table for "too complex" objects
25
+ # @byroot Cache `Process.pid`
26
+ # @byroot thread_pthread.c: Use a `fork_gen` to protect against fork instead of getpid()
27
+ # @XrXr Fix write barrier order for klass to cme edge https://github.com/ruby/ruby/pull/7113
28
+ # @peterzhu2118 Ensure throw data is not set as cause https://github.com/ruby/ruby/pull/7696
29
+ # @peterzhu2118 Fix crash in rb_gc_register_address https://github.com/ruby/ruby/pull/7670
30
+ # @peterzhu2118 [Feature #19678] Don't immediately promote children of old objects https://github.com/ruby/ruby/pull/7821
31
+ # @k0kubun YJIT: Use rb_ivar_get at the end of ivar chains https://github.com/ruby/ruby/pull/7334
32
+ # @k0kubun / @maximecb / @XrXr YJIT: Add --yjit-pause and RubyVM::YJIT.resume https://github.com/ruby/ruby/pull/7609
33
+ # @k0kubun YJIT: Make ratio_in_yjit always available https://github.com/ruby/ruby/pull/8064
34
+ # @peterzhu2118 Store initial slots per size pool https://github.com/ruby/ruby/pull/8116
35
+ # @k0kubun YJIT: Implement throw instruction https://github.com/ruby/ruby/pull/7491
36
+ # @k0kubun YJIT: Fallback send instructions to vm_sendish https://github.com/ruby/ruby/pull/8106
37
+ # @k0kubun YJIT: Support entry for multiple PCs per ISEQ https://github.com/ruby/ruby/pull/7535
38
+ # @k0kubun YJIT: Distinguish exit and fallback reasons for send https://github.com/ruby/ruby/pull/8159
39
+ # @k0kubun YJIT: Use dynamic dispatch for megamorphic send https://github.com/ruby/ruby/pull/8125
40
+ # @k0kubun YJIT: Compile exception handlers https://github.com/ruby/ruby/pull/8171
41
+ # @k0kubun YJIT: Introduce RubyVM::YJIT.stats_string https://github.com/ruby/ruby/pull/7857
42
+ # @k0kubun YJIT: Don't side-exit on too-complex shapes https://github.com/ruby/ruby/pull/7298
43
+ # @k0kubun YJIT: Distinguish exit and fallback reasons for invokesuper/invokeblock https://github.com/ruby/ruby/pull/8194
44
+ # @jhawthorn YJIT: invokesuper: Remove cme mid matching check https://github.com/ruby/ruby/pull/7740
45
+ # @k0kubun YJIT: Fallback megamorphic super/yield to dynamic dispatch https://github.com/ruby/ruby/pull/8197
46
+ # @maximecb YJIT: add stats for ratio of versions per block https://github.com/ruby/ruby/pull/7653
47
+ # @XrXr YJIT: YJIT: Fix false object collection when setting ivar https://github.com/ruby/ruby/pull/7718
48
+ # @peterzhu2118 Add REMEMBERED_WB_UNPROTECTED_OBJECTS_LIMIT_RATIO https://github.com/ruby/ruby/pull/7577
49
+ # @k0kubun YJIT: Fallback setivar if the next shape is too complex ruby/ruby#8152
50
+ # @byroot YJIT: Fallback setivar if the receiver isn't T_OBJECT ruby/ruby#8160
51
+ # @maximecb YJIT: handle expandarray_rhs_too_small case ruby/ruby#8161
52
+ # @maximecb YJIT: add jb (unsigned less-than) instruction to backend ruby/ruby#8168
53
+ # @maximecb YJIT: guard for array_len >= num in expandarray ruby/ruby#8169
54
+ # @k0kubun YJIT: Implement checkmatch instruction ruby/ruby#8203
55
+ # @maximecb YJIT: increase max chain depth for expandarray ruby/ruby#8205
56
+ # @k0kubun YJIT: Support ifunc on invokeblock ruby/ruby#7233
57
+ # @k0kubun YJIT: Allow VM_CALL_ARGS_BLOCKARG on invokesuper ruby/ruby#8198
58
+ # @k0kubun YJIT: Implement GET_BLOCK_HANDLER() for invokesuper ruby/ruby#8206
59
+ # @k0kubun YJIT: Refactor getlocal and setlocal insns ruby/ruby#7320
60
+ # @maximecb YJIT: implement side chain fallback for setlocal to avoid exiting ruby/ruby#8227
61
+ # @byroot YJIT: Stop incrementing jit_entry_calls once threshold is hit https://github.com/ruby/ruby/pull/8259
62
+ # @peterzhu2118 Implement GC.free_all_empty_pages
63
+ # @nobu / @byroot Write crash report in $RUBY_CRASH_REPORT https://bugs.ruby-lang.org/issues/19790
64
+ # @k0kubun YJIT: Make compiled_* stats available by default https://github.com/ruby/ruby/pull/8379
65
+ # @k0kubun YJIT: Add compilation time counter https://github.com/ruby/ruby/pull/8417
66
+ # @k0kubun YJIT: Make yjit_alloc_size available by default https://github.com/ruby/ruby/pull/8426
67
+ # @peterzhu2118 Fix growth in minor GC when we have initial slots https://github.com/ruby/ruby/pull/8310
68
+ # @peterzhu2118 Correctly calculate initial pages https://github.com/ruby/ruby/pull/8333
69
+ # @peterzhu2118 Incrementally mark even if we have free pages https://github.com/ruby/ruby/pull/8230
70
+ # @peterzhu2118 Pool more slots for large size pools https://github.com/ruby/ruby/pull/8249
71
+ # @maximecb YJIT: Add counter to measure how often we compile "cold" ISEQs https://github.com/Shopify/ruby/pull/535
72
+ # @maximecb YJIT: add --yjit-cold-threshold, don't compile cold ISEQs https://github.com/ruby/ruby/pull/8522
73
+ # @byroot GC.free_all_empty_pages take a compact parameter
74
+
75
+ install_package "openssl-3.1.2" "https://www.openssl.org/source/openssl-3.1.2.tar.gz#a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539" openssl --if needs_openssl_102_300
76
+ install_git "ruby-3.2.2-pshopify19" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify19" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
@@ -0,0 +1,36 @@
1
+ # https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify5
2
+
3
+ # Based off `ruby_3_2`, with backports of:
4
+ # @byroot [ruby/set] Avoid the `block or return` pattern to save Proc allocations https://github.com/ruby/set/pull/29
5
+ # @peterzhu2118 Keep shared arrays WB protected https://github.com/ruby/ruby/pull/7224
6
+ # @peterzhu2118 Make BigDecimal WB protected https://github.com/ruby/bigdecimal/pull/248
7
+ # @XrXr YJIT String#+@ fixes https://github.com/ruby/ruby/pull/7328
8
+ # @byroot Add RUBY_GC_HEAP_INIT_SIZE_%d_SLOTS to pre-init pools granularly https://github.com/ruby/ruby/pull/7235
9
+ # @byroot Consider DATA objects without a mark function as protected https://github.com/ruby/ruby/pull/7263
10
+ # @byroot Implement Write Barrier for RMatch objects https://github.com/ruby/ruby/pull/7286
11
+ # @byroot Enable write barriers on File::Stat https://github.com/ruby/ruby/pull/7239
12
+ # @byroot Implement Write Barrier for Backtrace::Location https://github.com/ruby/ruby/pull/7240
13
+ # @byroot Mark "mapping_buffer" as write barrier protected https://github.com/ruby/ruby/pull/7238
14
+ # @byroot Mark "method" objects as protected by write barrier https://github.com/ruby/ruby/pull/7237
15
+ # @byroot Mark Encoding as Write Barrier protected Mark Encoding as Write Barrier protected
16
+ # @peterzhu2118 Make Time objects WB protected https://github.com/ruby/ruby/pull/7244
17
+ # @jhawthorn Use write barriers for Backtrace objects
18
+ # @peterzhu2118 Crash when malloc during GC
19
+ # @peterzhu2118 Fix crash when allocating classes with newobj hook
20
+ # @peterzhu2118 [Bug #19469] Fix crash when resizing generic iv list
21
+ # @byroot Implement Write Barrier for autoload_data
22
+ # @byroot Implement Write Barrier for autoload_table_type
23
+ # @k0kubun YJIT: Protect strings from GC on String#<<
24
+ # @tenderlove Use an st table for "too complex" objects
25
+ # @byroot Cache `Process.pid`
26
+ # @byroot thread_pthread.c: Use a `fork_gen` to protect against fork instead of getpid()
27
+ # @XrXr Fix write barrier order for klass to cme edge https://github.com/ruby/ruby/pull/7113
28
+ # @peterzhu2118 Ensure throw data is not set as cause https://github.com/ruby/ruby/pull/7696
29
+ # @peterzhu2118 Fix crash in rb_gc_register_address https://github.com/ruby/ruby/pull/7670
30
+ # @peterzhu2118 [Feature #19678] Don't immediately promote children of old objects https://github.com/ruby/ruby/pull/7821
31
+ # @k0kubun YJIT: Use rb_ivar_get at the end of ivar chains https://github.com/ruby/ruby/pull/7334
32
+ # @k0kubun / @maximecb / @XrXr YJIT: Add --yjit-pause and RubyVM::YJIT.resume https://github.com/ruby/ruby/pull/7609
33
+ # @k0kubun YJIT: Make ratio_in_yjit always available https://github.com/ruby/ruby/pull/8064
34
+
35
+ install_package "openssl-3.1.0" "https://www.openssl.org/source/openssl-3.1.0.tar.gz#aaa925ad9828745c4cad9d9efeb273deca820f2cdcf2c3ac7d7c1212b7c497b4" openssl --if needs_openssl_102_300
36
+ install_git "ruby-3.2.2-pshopify5" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify5" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
@@ -0,0 +1,37 @@
1
+ # https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify6
2
+
3
+ # Based off `ruby_3_2`, with backports of:
4
+ # @byroot [ruby/set] Avoid the `block or return` pattern to save Proc allocations https://github.com/ruby/set/pull/29
5
+ # @peterzhu2118 Keep shared arrays WB protected https://github.com/ruby/ruby/pull/7224
6
+ # @peterzhu2118 Make BigDecimal WB protected https://github.com/ruby/bigdecimal/pull/248
7
+ # @XrXr YJIT String#+@ fixes https://github.com/ruby/ruby/pull/7328
8
+ # @byroot Add RUBY_GC_HEAP_INIT_SIZE_%d_SLOTS to pre-init pools granularly https://github.com/ruby/ruby/pull/7235
9
+ # @byroot Consider DATA objects without a mark function as protected https://github.com/ruby/ruby/pull/7263
10
+ # @byroot Implement Write Barrier for RMatch objects https://github.com/ruby/ruby/pull/7286
11
+ # @byroot Enable write barriers on File::Stat https://github.com/ruby/ruby/pull/7239
12
+ # @byroot Implement Write Barrier for Backtrace::Location https://github.com/ruby/ruby/pull/7240
13
+ # @byroot Mark "mapping_buffer" as write barrier protected https://github.com/ruby/ruby/pull/7238
14
+ # @byroot Mark "method" objects as protected by write barrier https://github.com/ruby/ruby/pull/7237
15
+ # @byroot Mark Encoding as Write Barrier protected Mark Encoding as Write Barrier protected
16
+ # @peterzhu2118 Make Time objects WB protected https://github.com/ruby/ruby/pull/7244
17
+ # @jhawthorn Use write barriers for Backtrace objects
18
+ # @peterzhu2118 Crash when malloc during GC
19
+ # @peterzhu2118 Fix crash when allocating classes with newobj hook
20
+ # @peterzhu2118 [Bug #19469] Fix crash when resizing generic iv list
21
+ # @byroot Implement Write Barrier for autoload_data
22
+ # @byroot Implement Write Barrier for autoload_table_type
23
+ # @k0kubun YJIT: Protect strings from GC on String#<<
24
+ # @tenderlove Use an st table for "too complex" objects
25
+ # @byroot Cache `Process.pid`
26
+ # @byroot thread_pthread.c: Use a `fork_gen` to protect against fork instead of getpid()
27
+ # @XrXr Fix write barrier order for klass to cme edge https://github.com/ruby/ruby/pull/7113
28
+ # @peterzhu2118 Ensure throw data is not set as cause https://github.com/ruby/ruby/pull/7696
29
+ # @peterzhu2118 Fix crash in rb_gc_register_address https://github.com/ruby/ruby/pull/7670
30
+ # @peterzhu2118 [Feature #19678] Don't immediately promote children of old objects https://github.com/ruby/ruby/pull/7821
31
+ # @k0kubun YJIT: Use rb_ivar_get at the end of ivar chains https://github.com/ruby/ruby/pull/7334
32
+ # @k0kubun / @maximecb / @XrXr YJIT: Add --yjit-pause and RubyVM::YJIT.resume https://github.com/ruby/ruby/pull/7609
33
+ # @k0kubun YJIT: Make ratio_in_yjit always available https://github.com/ruby/ruby/pull/8064
34
+ # @peterzhu2118 Store initial slots per size pool https://github.com/ruby/ruby/pull/8116
35
+
36
+ install_package "openssl-3.1.0" "https://www.openssl.org/source/openssl-3.1.0.tar.gz#aaa925ad9828745c4cad9d9efeb273deca820f2cdcf2c3ac7d7c1212b7c497b4" openssl --if needs_openssl_102_300
37
+ install_git "ruby-3.2.2-pshopify6" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify6" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
@@ -0,0 +1,39 @@
1
+ # https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify7
2
+
3
+ # Based off `ruby_3_2`, with backports of:
4
+ # @byroot [ruby/set] Avoid the `block or return` pattern to save Proc allocations https://github.com/ruby/set/pull/29
5
+ # @peterzhu2118 Keep shared arrays WB protected https://github.com/ruby/ruby/pull/7224
6
+ # @peterzhu2118 Make BigDecimal WB protected https://github.com/ruby/bigdecimal/pull/248
7
+ # @XrXr YJIT String#+@ fixes https://github.com/ruby/ruby/pull/7328
8
+ # @byroot Add RUBY_GC_HEAP_INIT_SIZE_%d_SLOTS to pre-init pools granularly https://github.com/ruby/ruby/pull/7235
9
+ # @byroot Consider DATA objects without a mark function as protected https://github.com/ruby/ruby/pull/7263
10
+ # @byroot Implement Write Barrier for RMatch objects https://github.com/ruby/ruby/pull/7286
11
+ # @byroot Enable write barriers on File::Stat https://github.com/ruby/ruby/pull/7239
12
+ # @byroot Implement Write Barrier for Backtrace::Location https://github.com/ruby/ruby/pull/7240
13
+ # @byroot Mark "mapping_buffer" as write barrier protected https://github.com/ruby/ruby/pull/7238
14
+ # @byroot Mark "method" objects as protected by write barrier https://github.com/ruby/ruby/pull/7237
15
+ # @byroot Mark Encoding as Write Barrier protected Mark Encoding as Write Barrier protected
16
+ # @peterzhu2118 Make Time objects WB protected https://github.com/ruby/ruby/pull/7244
17
+ # @jhawthorn Use write barriers for Backtrace objects
18
+ # @peterzhu2118 Crash when malloc during GC
19
+ # @peterzhu2118 Fix crash when allocating classes with newobj hook
20
+ # @peterzhu2118 [Bug #19469] Fix crash when resizing generic iv list
21
+ # @byroot Implement Write Barrier for autoload_data
22
+ # @byroot Implement Write Barrier for autoload_table_type
23
+ # @k0kubun YJIT: Protect strings from GC on String#<<
24
+ # @tenderlove Use an st table for "too complex" objects
25
+ # @byroot Cache `Process.pid`
26
+ # @byroot thread_pthread.c: Use a `fork_gen` to protect against fork instead of getpid()
27
+ # @XrXr Fix write barrier order for klass to cme edge https://github.com/ruby/ruby/pull/7113
28
+ # @peterzhu2118 Ensure throw data is not set as cause https://github.com/ruby/ruby/pull/7696
29
+ # @peterzhu2118 Fix crash in rb_gc_register_address https://github.com/ruby/ruby/pull/7670
30
+ # @peterzhu2118 [Feature #19678] Don't immediately promote children of old objects https://github.com/ruby/ruby/pull/7821
31
+ # @k0kubun YJIT: Use rb_ivar_get at the end of ivar chains https://github.com/ruby/ruby/pull/7334
32
+ # @k0kubun / @maximecb / @XrXr YJIT: Add --yjit-pause and RubyVM::YJIT.resume https://github.com/ruby/ruby/pull/7609
33
+ # @k0kubun YJIT: Make ratio_in_yjit always available https://github.com/ruby/ruby/pull/8064
34
+ # @peterzhu2118 Store initial slots per size pool https://github.com/ruby/ruby/pull/8116
35
+ # @k0kubun YJIT: Implement throw instruction https://github.com/ruby/ruby/pull/7491
36
+ # @k0kubun YJIT: Fallback send instructions to vm_sendish https://github.com/ruby/ruby/pull/8106
37
+
38
+ install_package "openssl-3.1.0" "https://www.openssl.org/source/openssl-3.1.0.tar.gz#aaa925ad9828745c4cad9d9efeb273deca820f2cdcf2c3ac7d7c1212b7c497b4" openssl --if needs_openssl_102_300
39
+ install_git "ruby-3.2.2-pshopify7" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify7" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
@@ -0,0 +1,41 @@
1
+ # https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify8
2
+
3
+ # Based off `ruby_3_2`, with backports of:
4
+ # @byroot [ruby/set] Avoid the `block or return` pattern to save Proc allocations https://github.com/ruby/set/pull/29
5
+ # @peterzhu2118 Keep shared arrays WB protected https://github.com/ruby/ruby/pull/7224
6
+ # @peterzhu2118 Make BigDecimal WB protected https://github.com/ruby/bigdecimal/pull/248
7
+ # @XrXr YJIT String#+@ fixes https://github.com/ruby/ruby/pull/7328
8
+ # @byroot Add RUBY_GC_HEAP_INIT_SIZE_%d_SLOTS to pre-init pools granularly https://github.com/ruby/ruby/pull/7235
9
+ # @byroot Consider DATA objects without a mark function as protected https://github.com/ruby/ruby/pull/7263
10
+ # @byroot Implement Write Barrier for RMatch objects https://github.com/ruby/ruby/pull/7286
11
+ # @byroot Enable write barriers on File::Stat https://github.com/ruby/ruby/pull/7239
12
+ # @byroot Implement Write Barrier for Backtrace::Location https://github.com/ruby/ruby/pull/7240
13
+ # @byroot Mark "mapping_buffer" as write barrier protected https://github.com/ruby/ruby/pull/7238
14
+ # @byroot Mark "method" objects as protected by write barrier https://github.com/ruby/ruby/pull/7237
15
+ # @byroot Mark Encoding as Write Barrier protected Mark Encoding as Write Barrier protected
16
+ # @peterzhu2118 Make Time objects WB protected https://github.com/ruby/ruby/pull/7244
17
+ # @jhawthorn Use write barriers for Backtrace objects
18
+ # @peterzhu2118 Crash when malloc during GC
19
+ # @peterzhu2118 Fix crash when allocating classes with newobj hook
20
+ # @peterzhu2118 [Bug #19469] Fix crash when resizing generic iv list
21
+ # @byroot Implement Write Barrier for autoload_data
22
+ # @byroot Implement Write Barrier for autoload_table_type
23
+ # @k0kubun YJIT: Protect strings from GC on String#<<
24
+ # @tenderlove Use an st table for "too complex" objects
25
+ # @byroot Cache `Process.pid`
26
+ # @byroot thread_pthread.c: Use a `fork_gen` to protect against fork instead of getpid()
27
+ # @XrXr Fix write barrier order for klass to cme edge https://github.com/ruby/ruby/pull/7113
28
+ # @peterzhu2118 Ensure throw data is not set as cause https://github.com/ruby/ruby/pull/7696
29
+ # @peterzhu2118 Fix crash in rb_gc_register_address https://github.com/ruby/ruby/pull/7670
30
+ # @peterzhu2118 [Feature #19678] Don't immediately promote children of old objects https://github.com/ruby/ruby/pull/7821
31
+ # @k0kubun YJIT: Use rb_ivar_get at the end of ivar chains https://github.com/ruby/ruby/pull/7334
32
+ # @k0kubun / @maximecb / @XrXr YJIT: Add --yjit-pause and RubyVM::YJIT.resume https://github.com/ruby/ruby/pull/7609
33
+ # @k0kubun YJIT: Make ratio_in_yjit always available https://github.com/ruby/ruby/pull/8064
34
+ # @peterzhu2118 Store initial slots per size pool https://github.com/ruby/ruby/pull/8116
35
+ # @k0kubun YJIT: Implement throw instruction https://github.com/ruby/ruby/pull/7491
36
+ # @k0kubun YJIT: Fallback send instructions to vm_sendish https://github.com/ruby/ruby/pull/8106
37
+ # @k0kubun YJIT: Support entry for multiple PCs per ISEQ https://github.com/ruby/ruby/pull/7535
38
+ # @k0kubun YJIT: Distinguish exit and fallback reasons for send https://github.com/ruby/ruby/pull/8159
39
+
40
+ install_package "openssl-3.1.0" "https://www.openssl.org/source/openssl-3.1.0.tar.gz#aaa925ad9828745c4cad9d9efeb273deca820f2cdcf2c3ac7d7c1212b7c497b4" openssl --if needs_openssl_102_300
41
+ install_git "ruby-3.2.2-pshopify8" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify8" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
@@ -0,0 +1,42 @@
1
+ # https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify9
2
+
3
+ # Based off `ruby_3_2`, with backports of:
4
+ # @byroot [ruby/set] Avoid the `block or return` pattern to save Proc allocations https://github.com/ruby/set/pull/29
5
+ # @peterzhu2118 Keep shared arrays WB protected https://github.com/ruby/ruby/pull/7224
6
+ # @peterzhu2118 Make BigDecimal WB protected https://github.com/ruby/bigdecimal/pull/248
7
+ # @XrXr YJIT String#+@ fixes https://github.com/ruby/ruby/pull/7328
8
+ # @byroot Add RUBY_GC_HEAP_INIT_SIZE_%d_SLOTS to pre-init pools granularly https://github.com/ruby/ruby/pull/7235
9
+ # @byroot Consider DATA objects without a mark function as protected https://github.com/ruby/ruby/pull/7263
10
+ # @byroot Implement Write Barrier for RMatch objects https://github.com/ruby/ruby/pull/7286
11
+ # @byroot Enable write barriers on File::Stat https://github.com/ruby/ruby/pull/7239
12
+ # @byroot Implement Write Barrier for Backtrace::Location https://github.com/ruby/ruby/pull/7240
13
+ # @byroot Mark "mapping_buffer" as write barrier protected https://github.com/ruby/ruby/pull/7238
14
+ # @byroot Mark "method" objects as protected by write barrier https://github.com/ruby/ruby/pull/7237
15
+ # @byroot Mark Encoding as Write Barrier protected Mark Encoding as Write Barrier protected
16
+ # @peterzhu2118 Make Time objects WB protected https://github.com/ruby/ruby/pull/7244
17
+ # @jhawthorn Use write barriers for Backtrace objects
18
+ # @peterzhu2118 Crash when malloc during GC
19
+ # @peterzhu2118 Fix crash when allocating classes with newobj hook
20
+ # @peterzhu2118 [Bug #19469] Fix crash when resizing generic iv list
21
+ # @byroot Implement Write Barrier for autoload_data
22
+ # @byroot Implement Write Barrier for autoload_table_type
23
+ # @k0kubun YJIT: Protect strings from GC on String#<<
24
+ # @tenderlove Use an st table for "too complex" objects
25
+ # @byroot Cache `Process.pid`
26
+ # @byroot thread_pthread.c: Use a `fork_gen` to protect against fork instead of getpid()
27
+ # @XrXr Fix write barrier order for klass to cme edge https://github.com/ruby/ruby/pull/7113
28
+ # @peterzhu2118 Ensure throw data is not set as cause https://github.com/ruby/ruby/pull/7696
29
+ # @peterzhu2118 Fix crash in rb_gc_register_address https://github.com/ruby/ruby/pull/7670
30
+ # @peterzhu2118 [Feature #19678] Don't immediately promote children of old objects https://github.com/ruby/ruby/pull/7821
31
+ # @k0kubun YJIT: Use rb_ivar_get at the end of ivar chains https://github.com/ruby/ruby/pull/7334
32
+ # @k0kubun / @maximecb / @XrXr YJIT: Add --yjit-pause and RubyVM::YJIT.resume https://github.com/ruby/ruby/pull/7609
33
+ # @k0kubun YJIT: Make ratio_in_yjit always available https://github.com/ruby/ruby/pull/8064
34
+ # @peterzhu2118 Store initial slots per size pool https://github.com/ruby/ruby/pull/8116
35
+ # @k0kubun YJIT: Implement throw instruction https://github.com/ruby/ruby/pull/7491
36
+ # @k0kubun YJIT: Fallback send instructions to vm_sendish https://github.com/ruby/ruby/pull/8106
37
+ # @k0kubun YJIT: Support entry for multiple PCs per ISEQ https://github.com/ruby/ruby/pull/7535
38
+ # @k0kubun YJIT: Distinguish exit and fallback reasons for send https://github.com/ruby/ruby/pull/8159
39
+ # @k0kubun YJIT: Use dynamic dispatch for megamorphic send https://github.com/ruby/ruby/pull/8125
40
+
41
+ install_package "openssl-3.1.0" "https://www.openssl.org/source/openssl-3.1.0.tar.gz#aaa925ad9828745c4cad9d9efeb273deca820f2cdcf2c3ac7d7c1212b7c497b4" openssl --if needs_openssl_102_300
42
+ install_git "ruby-3.2.2-pshopify9" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify9" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
@@ -0,0 +1,12 @@
1
+ # https://github.com/ruby/ruby/compare/v3_3_0_preview2...Shopify:v3.3.0-preview2-pshopify1
2
+
3
+ # Based off `v3_3_0_preview2`, with backports of:
4
+ # @nobu `.NOTPARALLEL` with prerequisites needs recent GNU Make https://github.com/ruby/ruby/pull/8489
5
+ # @k0kubun YJIT: Initialize Assembler vectors with capacity https://github.com/ruby/ruby/pull/8437
6
+ # @k0kubun YJIT: Initialize Vec with capacity for iterators https://github.com/ruby/ruby/pull/8439
7
+ # @k0kubun YJIT: Skip Insn::Comment and format! if disasm is disabled https://github.com/ruby/ruby/pull/8441
8
+ # @k0kubun YJIT: Avoid creating a vector in get_temp_regs() https://github.com/ruby/ruby/pull/8446
9
+ # @nobu Write crash report in $RUBY_CRASH_REPORT https://github.com/ruby/ruby/pull/8506
10
+
11
+ install_package "openssl-3.1.2" "https://www.openssl.org/source/openssl-3.1.2.tar.gz#a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539" openssl --if needs_openssl_102_300
12
+ install_git "ruby-3.3.0-preview2-pshopify1" "https://github.com/Shopify/ruby.git" "v3.3.0-preview2-pshopify1" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
@@ -0,0 +1,21 @@
1
+ platform="$(uname -s)-$(uname -m)"
2
+ case $platform in
3
+ Linux-x86_64)
4
+ install_package "truffleruby+graalvm-23.1.0" "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-jvm-23.1.0-linux-amd64.tar.gz#ecbbb61baf66c4584b2a2b7c75b515b448f13ac28dd98c1988c4dbc340b2a6b9" truffleruby
5
+ ;;
6
+ Linux-aarch64)
7
+ install_package "truffleruby+graalvm-23.1.0" "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-jvm-23.1.0-linux-aarch64.tar.gz#2c7a9af681acaa83b58f40eb14893afd6c779560991d6f0e07ef80d577a08dbe" truffleruby
8
+ ;;
9
+ Darwin-x86_64)
10
+ use_homebrew_openssl
11
+ install_package "truffleruby+graalvm-23.1.0" "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-jvm-23.1.0-macos-amd64.tar.gz#61cff8c5215668258f78a455e37549f9870df254c9c666f332a5302a7833e536" truffleruby
12
+ ;;
13
+ Darwin-arm64)
14
+ use_homebrew_openssl
15
+ install_package "truffleruby+graalvm-23.1.0" "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-jvm-23.1.0-macos-aarch64.tar.gz#8bc4aceaefdf33feeee2ef002987915599b6babd85be03d5c6616d37d61779b0" truffleruby
16
+ ;;
17
+ *)
18
+ colorize 1 "Unsupported platform: $platform"
19
+ return 1
20
+ ;;
21
+ esac
@@ -0,0 +1,21 @@
1
+ platform="$(uname -s)-$(uname -m)"
2
+ case $platform in
3
+ Linux-x86_64)
4
+ install_package "truffleruby-23.1.0" "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-23.1.0-linux-amd64.tar.gz#38a11ca89f925554ad42294ad509fb978b0867af28e48f9bde4490d415c3cc2d" truffleruby
5
+ ;;
6
+ Linux-aarch64)
7
+ install_package "truffleruby-23.1.0" "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-23.1.0-linux-aarch64.tar.gz#419c4cc429d7c6060cfe6be5e4744da11fd1355ed0f349f6e135297c2aee0017" truffleruby
8
+ ;;
9
+ Darwin-x86_64)
10
+ use_homebrew_openssl
11
+ install_package "truffleruby-23.1.0" "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-23.1.0-macos-amd64.tar.gz#16d20d0b668bcae19e5b4432bdf7764f358aeb0142064d4048f04170ccb449fa" truffleruby
12
+ ;;
13
+ Darwin-arm64)
14
+ use_homebrew_openssl
15
+ install_package "truffleruby-23.1.0" "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-23.1.0-macos-aarch64.tar.gz#b4e03ba195d40eb7114a7ab97e0478729cd47bb01879da0ede5af2bf89f5b8da" truffleruby
16
+ ;;
17
+ *)
18
+ colorize 1 "Unsupported platform: $platform"
19
+ return 1
20
+ ;;
21
+ esac
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "lib/shopify_ruby_definitions/version"
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "shopify-ruby-definitions"
7
+ spec.version = ShopifyRubyDefinitions::VERSION
8
+ spec.authors = ["Peter Zhu"]
9
+ spec.email = ["ruby@shopify.com"]
10
+
11
+ spec.summary = "Ruby builds used at Shopify."
12
+ spec.homepage = "https://github.com/Shopify/ruby-definitions"
13
+ spec.license = "MIT"
14
+ spec.required_ruby_version = ">= 2.6.0"
15
+
16
+ spec.metadata["homepage_uri"] = spec.homepage
17
+ spec.metadata["source_code_uri"] = "https://github.com/Shopify/ruby-definitions"
18
+
19
+ # Specify which files should be added to the gem when it is released.
20
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
21
+ spec.files = Dir.chdir(__dir__) do
22
+ %x(git ls-files -z).split("\x0").reject do |f|
23
+ (f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|circleci)|appveyor)})
24
+ end
25
+ end
26
+ spec.bindir = "exe"
27
+ spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
28
+ spec.require_paths = ["lib"]
29
+
30
+ spec.add_development_dependency("rubocop-minitest")
31
+ spec.add_development_dependency("rubocop-shopify")
32
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shopify-ruby-definitions
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Zhu
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-06-16 00:00:00.000000000 Z
11
+ date: 2023-10-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop-minitest
@@ -40,7 +40,7 @@ dependencies:
40
40
  version: '0'
41
41
  description:
42
42
  email:
43
- - peter@peterzhu.ca
43
+ - ruby@shopify.com
44
44
  executables:
45
45
  - shopify-ruby
46
46
  extensions: []
@@ -65,8 +65,27 @@ files:
65
65
  - rubies/3.1.4-pshopify1
66
66
  - rubies/3.2.0-pshopify2
67
67
  - rubies/3.2.1-pshopify5
68
+ - rubies/3.2.2-pshopify10
69
+ - rubies/3.2.2-pshopify11
70
+ - rubies/3.2.2-pshopify12
71
+ - rubies/3.2.2-pshopify13
72
+ - rubies/3.2.2-pshopify14
73
+ - rubies/3.2.2-pshopify15
74
+ - rubies/3.2.2-pshopify16
75
+ - rubies/3.2.2-pshopify17
76
+ - rubies/3.2.2-pshopify18
77
+ - rubies/3.2.2-pshopify19
68
78
  - rubies/3.2.2-pshopify3
69
79
  - rubies/3.2.2-pshopify4
80
+ - rubies/3.2.2-pshopify5
81
+ - rubies/3.2.2-pshopify6
82
+ - rubies/3.2.2-pshopify7
83
+ - rubies/3.2.2-pshopify8
84
+ - rubies/3.2.2-pshopify9
85
+ - rubies/3.3.0-preview2-pshopify1
86
+ - rubies/truffleruby+graalvm-23.1.0-ce
87
+ - rubies/truffleruby-23.1.0-ce
88
+ - shopify-ruby-definitions.gemspec
70
89
  homepage: https://github.com/Shopify/ruby-definitions
71
90
  licenses:
72
91
  - MIT