From e83c6d009fb0cdefe7c4fa66c8a8c6b1c2071d61 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sun, 26 Jul 2015 22:01:54 -0400 Subject: build: ruby: Rewrite build system to use gem archives. Co-Authored-By: Pjotr Prins * guix/build-system/ruby.scm (lower): Remove git dependency. (rubygems-uri): New procedure. * guix/build/ruby-build-system (gitify): Delete. (unpack): Use 'gem unpack' utility. (check): Add docstring. (build): Repack modified gem. (install): Rebuild unpacked gem and install it. (%standard-phases): Remove gitify and build phases. * gnu/packages/ruby.scm (ruby-hoe, ruby-rake-compiler, ruby-i18n, ruby-rspec-support, ruby-rspec-core, ruby-diff-lcs-for-rspec, ruby-rspec-expectations, ruby-rspec-mocks, ruby-rspec, bundler, ruby-useragent, ruby-bacon, ruby-arel, ruby-connection-pool, ruby-net-http-persistent, ruby-minitest, ruby-minitest-sprint, ruby-minitest-bacon, ruby-daemons, ruby-git, ruby-slop, ruby-multipart-post): Convert to new build system. * doc/guix.texi (ruby-build-system): Document the gem archive requirement. --- doc/guix.texi | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'doc') diff --git a/doc/guix.texi b/doc/guix.texi index bcf07a6b35..a20bca677d 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2469,6 +2469,13 @@ This variable is exported by @code{(guix build-system ruby)}. It implements the RubyGems build procedure used by Ruby packages, which involves running @code{gem build} followed by @code{gem install}. +The @code{source} field of a package that uses this build system is +expected to reference a gem archive instead of a traditional tarball, +since this is the format that all Ruby developers use when releasing +their software. The build system unpacks the gem archive, potentially +patches the source, runs the test suite, repackages the gem, and +installs it. + Which Ruby package is used can be specified with the @code{#:ruby} parameter. A list of additional flags to be passed to the @command{gem} command can be specified with the @code{#:gem-flags} parameter. -- cgit v1.2.3