|
26 | 26 | # the default versions should always be the latest release of ruby
|
27 | 27 | # if you consume this definition it is your responsibility to pin
|
28 | 28 | # to the desired version of ruby. don't count on this not changing.
|
29 |
| -default_version "3.0.2" |
| 29 | +default_version "3.1.4" |
30 | 30 |
|
31 | 31 | dependency "zlib"
|
32 | 32 | dependency "openssl"
|
33 | 33 | dependency "libffi"
|
34 | 34 | dependency "libyaml"
|
35 | 35 |
|
| 36 | +# we build omnibus packages on freebsd 11 and use the packages on freebsd 11, 12 and 13. |
| 37 | +# the ruby executable has been linking to freebsds system's ncurses library files. |
| 38 | +# freebsd 13 system's ncurses library files have a different name than freebsd 11 and 12 |
| 39 | +# which causes the ruby executable to fail. |
| 40 | +# adding ncurses as a dependency for freebsd prevents the ruby executable from linking to the |
| 41 | +# system's ncurses library files thereby allowing the package built on freebsd 11 to work on freebsd 13. |
| 42 | +dependency "ncurses" if freebsd? |
| 43 | + |
36 | 44 | # version_list: url=https://cache.ruby-lang.org/pub/ruby/ filter=*.tar.gz
|
| 45 | +version("3.2.2") { source sha256: "96c57558871a6748de5bc9f274e93f4b5aad06cd8f37befa0e8d94e7b8a423bc" } |
| 46 | +version("3.2.0") { source sha256: "daaa78e1360b2783f98deeceb677ad900f3a36c0ffa6e2b6b19090be77abc272" } |
| 47 | +version("3.1.4") { source sha256: "a3d55879a0dfab1d7141fdf10d22a07dbf8e5cdc4415da1bde06127d5cc3c7b6" } |
| 48 | +version("3.1.3") { source sha256: "5ea498a35f4cd15875200a52dde42b6eb179e1264e17d78732c3a57cd1c6ab9e" } |
| 49 | +version("3.1.2") { source sha256: "61843112389f02b735428b53bb64cf988ad9fb81858b8248e22e57336f24a83e" } |
| 50 | +version("3.1.1") { source sha256: "fe6e4782de97443978ddba8ba4be38d222aa24dc3e3f02a6a8e7701c0eeb619d" } |
| 51 | + |
| 52 | +version("3.0.6") { source sha256: "6e6cbd490030d7910c0ff20edefab4294dfcd1046f0f8f47f78b597987ac683e" } |
| 53 | +version("3.0.5") { source sha256: "9afc6380a027a4fe1ae1a3e2eccb6b497b9c5ac0631c12ca56f9b7beb4848776" } |
| 54 | +version("3.0.4") { source sha256: "70b47c207af04bce9acea262308fb42893d3e244f39a4abc586920a1c723722b" } |
| 55 | +version("3.0.3") { source sha256: "3586861cb2df56970287f0fd83f274bd92058872d830d15570b36def7f1a92ac" } |
37 | 56 | version("3.0.2") { source sha256: "5085dee0ad9f06996a8acec7ebea4a8735e6fac22f22e2d98c3f2bc3bef7e6f1" }
|
38 | 57 | version("3.0.1") { source sha256: "369825db2199f6aeef16b408df6a04ebaddb664fb9af0ec8c686b0ce7ab77727" }
|
39 |
| -version("3.0.0") { source sha256: "a13ed141a1c18eb967aac1e33f4d6ad5f21be1ac543c344e0d6feeee54af8e28" } |
40 | 58 |
|
| 59 | +version("2.7.7") { source sha256: "e10127db691d7ff36402cfe88f418c8d025a3f1eea92044b162dd72f0b8c7b90" } |
| 60 | +version("2.7.6") { source sha256: "e7203b0cc09442ed2c08936d483f8ac140ec1c72e37bb5c401646b7866cb5d10" } |
| 61 | +version("2.7.5") { source sha256: "2755b900a21235b443bb16dadd9032f784d4a88f143d852bc5d154f22b8781f1" } |
41 | 62 | version("2.7.4") { source sha256: "3043099089608859fc8cce7f9fdccaa1f53a462457e3838ec3b25a7d609fbc5b" }
|
42 | 63 | version("2.7.3") { source sha256: "8925a95e31d8f2c81749025a52a544ea1d05dad18794e6828709268b92e55338" }
|
43 |
| -version("2.7.2") { source sha256: "6e5706d0d4ee4e1e2f883db9d768586b4d06567debea353c796ec45e8321c3d4" } |
44 |
| -version("2.7.1") { source sha256: "d418483bdd0000576c1370571121a6eb24582116db0b7bb2005e90e250eae418" } |
45 | 64 |
|
| 65 | +version("2.6.10") { source sha256: "0dc609f263d49c4176d5725deefc337273676395985b5e017789373e8cadf16e" } |
| 66 | +version("2.6.9") { source sha256: "eb7bae7aac64bf9eb2153710a4cafae450ccbb62ae6f63d573e1786178b0efbb" } |
46 | 67 | version("2.6.8") { source sha256: "1807b78577bc08596a390e8a41aede37b8512190e05c133b17d0501791a8ca6d" }
|
47 | 68 | version("2.6.7") { source sha256: "e4227e8b7f65485ecb73397a83e0d09dcd39f25efd411c782b69424e55c7a99e" }
|
48 |
| -version("2.6.6") { source sha256: "364b143def360bac1b74eb56ed60b1a0dca6439b00157ae11ff77d5cd2e92291" } |
49 |
| -version("2.6.5") { source sha256: "66976b716ecc1fd34f9b7c3c2b07bbd37631815377a2e3e85a5b194cfdcbed7d" } |
50 | 69 |
|
51 | 70 | source url: "https://cache.ruby-lang.org/pub/ruby/#{version.match(/^(\d+\.\d+)/)[0]}/ruby-#{version}.tar.gz"
|
| 71 | +internal_source url: "#{ENV["ARTIFACTORY_REPO_URL"]}/#{name}/#{name}-#{version}.tar.gz", |
| 72 | + authorization: "X-JFrog-Art-Api:#{ENV["ARTIFACTORY_TOKEN"]}" |
52 | 73 |
|
53 | 74 | # In order to pass notarization we need to sign any binaries and libraries included in the package.
|
54 | 75 | # This makes sure we include and bins and libs that are brought in by gems.
|
|
63 | 84 |
|
64 | 85 | env = with_standard_compiler_flags(with_embedded_path)
|
65 | 86 |
|
| 87 | +# do not remove - Rapid7 custom - do not remove: |
66 | 88 | jemalloc_required = linux? || mac_os_x?
|
67 | 89 | if jemalloc_required
|
68 | 90 | dependency "jemalloc"
|
|
121 | 143 | patch_env = env.dup
|
122 | 144 | patch_env["PATH"] = "/opt/freeware/bin:#{env["PATH"]}" if aix?
|
123 | 145 |
|
124 |
| - if version.satisfies?("~> 3.0") |
| 146 | + if version.satisfies?("~> 3.0.0") |
125 | 147 | case version
|
126 |
| - when "3.0.0", "3.0.1" |
| 148 | + when "3.0.1" |
127 | 149 | patch source: "ruby-3.0.1-configure.patch", plevel: 1, env: patch_env
|
| 150 | + when "3.0.5", "3.0.6" |
| 151 | + patch source: "ruby-3.0.5-configure.patch", plevel: 1, env: patch_env |
128 | 152 | else
|
129 | 153 | patch source: "ruby-3.0.2-configure.patch", plevel: 1, env: patch_env
|
130 | 154 | end
|
|
153 | 177 | # over the top of it. AFAIK no sane ruby code should need to do that, and the
|
154 | 178 | # cost of this behavior in core ruby is enormous.
|
155 | 179 | #
|
156 |
| - patch source: "ruby-fast-load_26.patch", plevel: 1, env: patch_env |
| 180 | + if version.satisfies?("< 3.1") |
| 181 | + patch source: "ruby-fast-load_26.patch", plevel: 1, env: patch_env |
| 182 | + else |
| 183 | + patch source: "ruby-fast-load_31.patch", plevel: 1, env: patch_env |
| 184 | + end |
157 | 185 |
|
158 | 186 | # this removes a checks for windows nano in the win32-ole files.
|
159 | 187 | # windows nano is a dead platform and not supported by chef so we can avoid
|
|
178 | 206 | patch source: "ruby-faster-load_27.patch", plevel: 1, env: patch_env
|
179 | 207 | end
|
180 | 208 |
|
181 |
| - # rubygems 3.1.x perf improvements |
182 |
| - # this is part of ruby 2.7.3 so skip it |
183 |
| - # |
184 |
| - if version.satisfies?("~> 2.7") && version.satisfies?("< 2.7.3") |
185 |
| - patch source: "ruby-2.7.1-rubygemsperf.patch", plevel: 1, env: patch_env |
186 |
| - end |
187 |
| - |
188 | 209 | # disable libpath in mkmf across all platforms, it trolls omnibus and
|
189 | 210 | # breaks the postgresql cookbook. i'm not sure why ruby authors decided
|
190 | 211 | # this was a good idea, but it breaks our use case hard. AIX cannot even
|
|
198 | 219 |
|
199 | 220 | configure_command = ["--with-out-ext=dbm,readline",
|
200 | 221 | "--enable-shared",
|
| 222 | + # do not remote - Rapid7 custom - do not remove: |
201 | 223 | "--enable-load-relative",
|
202 | 224 | "--disable-install-doc",
|
203 | 225 | "--without-gmp",
|
|
206 | 228 | "--disable-dtrace",
|
207 | 229 | "--disable-jit-support"]
|
208 | 230 | configure_command << "--with-bundled-md5" if fips_mode?
|
| 231 | + # do not remote - Rapid7 custom - do not remove: |
209 | 232 | configure_command << "--with-jemalloc" if jemalloc_required
|
210 | 233 |
|
211 | 234 | # resolve C99 code accidentally introduced in Ruby 2.6.7 and it's still in 2.6.8 :(
|
212 |
| - patch source: "ruby-2.6.7_c99.patch", plevel: 1, env: patch_env if version.satisfies?("~> 2.6.7") |
| 235 | + patch source: "ruby-2.6.7_c99.patch", plevel: 1, env: patch_env if version.satisfies?("~> 2.6.7", "< 2.6.10") |
213 | 236 |
|
214 | 237 | if aix?
|
215 | 238 | # need to patch ruby's configure file so it knows how to find shared libraries
|
216 | 239 | patch source: "ruby-aix-configure_26_and_later.patch", plevel: 1, env: patch_env
|
217 | 240 |
|
218 |
| - if version.satisfies?("~> 2.6.4") |
219 |
| - patch source: "ruby-2.6.4-bug14834.patch", plevel: 1, env: patch_env |
220 |
| - end |
221 |
| - |
222 | 241 | # have ruby use zlib on AIX correctly
|
223 | 242 | patch source: "ruby_aix_openssl.patch", plevel: 1, env: patch_env
|
224 | 243 | # AIX has issues with ssl retries, need to patch to have it retry
|
|
0 commit comments