summary refs log tree commit diff
path: root/doc
diff options
context:
space:
mode:
authorDavid Thompson <dthompson2@worcester.edu>2015-09-07 22:58:05 -0400
committerDavid Thompson <dthompson2@worcester.edu>2015-09-14 08:29:07 -0400
commit5dc876231bc990650a558aeaa1823b0da3b84ab8 (patch)
treec1bea85b2c5a0772c407003802ab973c8cb1cfb1 /doc
parent27cc9f2544295659fd6cca0572841cd3aa5e9456 (diff)
downloadguix-5dc876231bc990650a558aeaa1823b0da3b84ab8.tar.gz
build: ruby: Add support for tarball and directory sources.
Previously, the Ruby build system only knew how to work with gem archives,
which made it difficult to build unreleased gems from a Git repository or
released gems in tarball form.

* gnu/build/ruby-build-system.scm (gnu:unpack, gem-archive?): New procedures.
  (unpack): Use GNU build system unpack phase for non-gem sources.
  (build): Rebuild the gemspec iff the source is a gem archive.
* guix.texi ("ruby-build-system"): Mention that tarballs and directories are
  acceptable.
Diffstat (limited to 'doc')
-rw-r--r--doc/guix.texi13
1 files changed, 7 insertions, 6 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 9ae91a8d1e..ff3a9c47b7 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -2506,12 +2506,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.
+The @code{source} field of a package that uses this build system
+typically references a gem archive, since this is the format that 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.  Additionally, directories and
+tarballs may be referenced to allow building unreleased gems from Git or
+a traditional source release tarball.
 
 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}