Hello Guix hackers, This patch represents a large change to how we're building Ruby packages. Previously, we would download tarballs (mostly auto-generated ones on GitHub), build the .gem archive, then install it to the output directory. This method presented several issues. No one besides us is actually using these tarballs to build gems, and often the gems will not build outside of a git repository due to the proliferation of 'git ls-files' usage when building the gem. After some more exploration, those of us interested in Ruby packaging agreed that the pre-made .gem archives hosted on rubygems.org are in fact source code, and that our build system could be greatly simplified by using them. Using these gem archives will also allow for a 'guix import rubygems' tool to be written, greatly accelerating our packaging efforts. One known caveat is that not all gem archives include the test suite, so sometimes we have to do without tests. However, the Ruby dependency graph already has other testing issues like rampant circular dependencies, so I don't think this issue is a big deal in comparison. Anyway, I only had to disable a couple of test suites for existing gems, and I was happy that the issue wasn't too widespread among our (currently small) sample size. One other caveat is that downloading gems from rubygems.org currently *does not* work because the HTTP responses include an invalid Content-Type header. I added a temporary hack to do my development work (not in this patch), and I'm currently waiting on a response from the rubygems.org admins to see if they will fix the issue. So, this patch should not be applied until this is resolved. See: http://help.rubygems.org/discussions/problems/21223-invalid-content-type-header-when-downloading-gem-archive?unresolve=true Without further ado, the patch: