aboutsummaryrefslogtreecommitdiff
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
guix-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}