This patch addresses the issue of how to ensure that Ruby executables are able to load all of the additional Ruby libraries that they need in order to work: with a new 'patch-executables' build phase. Instead of using wrap-program, I instead take advantage of the wrappers that the 'gem' command already creates for Ruby executables. There's guaranteed to be a line in which the executable's host gem is loaded that looks like `gem 'foo', version`. I simply insert a Ruby code snippet above it that adds all of the necessary gems to the 'Gem.path' array. Users of Ruby programs must still apply the $GEM_PATH suggested by 'guix package --search-paths' in order for the gem that the executable belongs to (the gem that they explicitly installed) to be found. I think this is reasonable and much like how you must set the proper load paths for Guile programs to work.