-
-
Notifications
You must be signed in to change notification settings - Fork 256
Tip: Apply many patches to MRI source one liner
zhando edited this page Jul 6, 2013
·
2 revisions
First: much praise to Postmodern for ruby-install. Yet another tiny-LOC, ruby ecosystem, wonder tool!
In the past, using ruby-build I would have to work up a "recipe" for a specialized ruby build..
With ruby-install, to apply a patch, you must use the -p option followed by the path to the patch..
What if you need to apply a bunch of patches? No problem. Repeat -p followed by the path to each patch as many times as needed as in
ruby-install -p ~/path_to/patch1 -p ~/path_to/patch2....
Here's the most DRY way to do that I've found using bash parameter substitution:
First collect all the patches you want to apply under one directory, like rvm does and..
pfiles=(~/.rvm/patches/ruby/1.9.3/p385/railsexpress/*); IFS=,; ruby-install -s /tmp -i ~/.rubies/ruby-1.9.3-p385-patched/ "${pfiles[@]/#/-p }" ruby 1.9.3-p385
Beware of patch file names with embedded whitespace. I'd remove it/substitute it out first.