Skip to content

Commit 5f4cea1

Browse files
authored
Merge pull request #2258 from eregon/overridable-url
Add RUBY_BUILD_TARBALL_OVERRIDE to override the ruby tarball URL
2 parents 4bf2fec + 216084d commit 5f4cea1

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,10 @@ The build process may be configured through the following environment variables:
8282
| `RUBY_BUILD_CURL_OPTS` | Additional options to pass to `curl` for downloading. |
8383
| `RUBY_BUILD_WGET_OPTS` | Additional options to pass to `wget` for downloading. |
8484
| `RUBY_BUILD_MIRROR_URL` | Custom mirror URL root. |
85-
| `RUBY_BUILD_MIRROR_PACKAGE_URL` | Custom complete mirror URL (e.g. http://mirror.example.com/package-1.0.0.tar.gz). |
85+
| `RUBY_BUILD_MIRROR_PACKAGE_URL` | Custom complete mirror URL (e.g. http://mirror.example.com/package-1.0.0.tar.gz). |
8686
| `RUBY_BUILD_SKIP_MIRROR` | Bypass the download mirror and fetch all package files from their original URLs. |
8787
| `RUBY_BUILD_ROOT` | Custom build definition directory. (Default: `share/ruby-build`) |
88+
| `RUBY_BUILD_TARBALL_OVERRIDE` | Override the URL to fetch the ruby tarball from, optionally followed by `#checksum`. |
8889
| `RUBY_BUILD_DEFINITIONS` | Additional paths to search for build definitions. (Colon-separated list) |
8990
| `CC` | Path to the C compiler. |
9091
| `RUBY_CFLAGS` | Additional `CFLAGS` options (_e.g.,_ to override `-O3`). |

bin/ruby-build

+15-2
Original file line numberDiff line numberDiff line change
@@ -381,6 +381,10 @@ fetch_tarball() {
381381
local checksum
382382
local extracted_dir
383383

384+
if is_ruby_package "$1" && [ -n "$RUBY_BUILD_TARBALL_OVERRIDE" ]; then
385+
package_url="$RUBY_BUILD_TARBALL_OVERRIDE"
386+
fi
387+
384388
if [ "$package_url" != "${package_url/\#}" ]; then
385389
checksum="${package_url#*#}"
386390
package_url="${package_url%%#*}"
@@ -1257,14 +1261,23 @@ isolated_gem_install() {
12571261

12581262
apply_ruby_patch() {
12591263
local patchfile
1260-
case "$1" in
1261-
ruby-* | jruby-* | rubinius-* | truffleruby-* )
1264+
if is_ruby_package "$1"; then
12621265
patchfile="$(mktemp "${TMP}/ruby-patch.XXXXXX")"
12631266
cat "${2:--}" >"$patchfile"
12641267

12651268
local striplevel=0
12661269
grep -q '^--- a/' "$patchfile" && striplevel=1
12671270
patch -p$striplevel --force -i "$patchfile"
1271+
fi
1272+
}
1273+
1274+
is_ruby_package() {
1275+
case "$1" in
1276+
ruby-* | jruby-* | rubinius-* | truffleruby[+-]* | mruby-* | picoruby-* )
1277+
return 0
1278+
;;
1279+
*)
1280+
return 1
12681281
;;
12691282
esac
12701283
}

0 commit comments

Comments
 (0)