summary refs log tree commit diff
path: root/doc/guix.texi
diff options
context:
space:
mode:
authorDavid Thompson <dthompson2@worcester.edu>2015-07-26 22:01:54 -0400
committerDavid Thompson <dthompson2@worcester.edu>2015-08-18 17:58:13 -0400
commite83c6d009fb0cdefe7c4fa66c8a8c6b1c2071d61 (patch)
tree3cab1b53efe710a0775b234d06953abba6fe09bb /doc/guix.texi
parent4ab9f96a5cfec1258e657dc3fc72033c058b9bda (diff)
downloadguix-e83c6d009fb0cdefe7c4fa66c8a8c6b1c2071d61.tar.gz
build: ruby: Rewrite build system to use gem archives.
Co-Authored-By: Pjotr Prins <pjotr.public01@thebird.nl>

* 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.
Diffstat (limited to 'doc/guix.texi')
-rw-r--r--doc/guix.texi7
1 files changed, 7 insertions, 0 deletions
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.