Ludovic Courtès
8c986ab120
Merge branch 'master' into core-updates
2016-01-13 18:18:48 +01:00
Ben Woodcroft
761e7042f6
ruby: Abstract out path to GEM_HOME.
...
Previously paths to the GEM_HOME of certain Ruby packages were
hard-coded, so packages failed to build when Ruby was updated to 2.3.0.
* guix/build/ruby-build-system.scm (gem-home): New procedure.
* gnu/packages/ruby.scm (ruby-metaclass, ruby-instantiator,
ruby-introspection, ruby-mocha, ruby-minitest-tu-shim): Use it.
2016-01-11 21:58:55 +10:00
Ben Woodcroft
7266848ace
build: ruby: Remove cached gem after install.
...
The .gem file stored in GEM_HOME after install is both redundant and an
archive that stores timestamped files which makes builds
non-deterministic, so delete it after 'gem install'.
* guix/build/ruby-build-system.scm (install): Remove cached gem after
install.
2016-01-06 12:42:41 +01:00
David Thompson
5dc876231b
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.
2015-09-14 08:29:07 -04:00
David Thompson
b500e7182d
build: ruby: Avoid long build directory names.
...
Having the hash of the source gem in the source directory file name proved to
be problematic when running the test suite for the 'pg' gem that creates
UNIX-domain sockets in the source directory and exceeded the 108 character
limit on GNU/Linux systems.
* guix/build/ruby-build-system.scm (unpack): Rename unpacked gem directory to
"gem".
2015-09-07 08:27:10 -04:00
David Thompson
e83c6d009f
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.
2015-08-18 17:58:13 -04:00
pjotrp
6e9f2913ba
build-system/ruby: Add #:gem-flags parameter.
...
* guix/build-system/ruby.scm (build): add 'gem-flags' key
* guix/build/ruby-build-system.scm (build): use 'gem-flags' key
* doc/guix.texi (Build Systems): Mention #:gem-flags.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-07-18 17:15:03 +02:00
pjotrp
76ae915ec8
build: ruby: Run 'rake gem' when gemspec is missing.
...
* guix/build/ruby-build-system.scm (build): Run 'rake gem' when there is no
gemspec in the source tree.
Co-Authored-By: David Thompson <davet@gnu.org>
2015-07-07 08:54:29 -04:00
Ludovic Courtès
f8503e2b25
utils: 'modify-phases' no longer introduces quotes.
...
Suggested by Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>.
* guix/build/utils.scm (%modify-phases): Remove quotes.
* guix/build/cmake-build-system.scm (%standard-phases): Adjust
accordingly.
* guix/build/glib-or-gtk-build-system.scm (%standard-phases): Likewise.
* guix/build/gnu-dist.scm (%dist-phases): Likewise.
* guix/build/perl-build-system.scm (%standard-phases): Likewise.
* guix/build/python-build-system.scm (%standard-phases): Likewise.
* guix/build/ruby-build-system.scm (%standard-phases): Likewise.
* guix/build/waf-build-system.scm (%standard-phases): Likewise.
* gnu/packages/bash.scm, gnu/packages/code.scm, gnu/packages/gl.scm,
gnu/packages/gnome.scm, gnu/packages/graphics.scm,
gnu/packages/image.scm, gnu/packages/key-mon.scm,
gnu/packages/ocr.scm, gnu/packages/plotutils.scm,
gnu/packages/search.scm, gnu/packages/video.scm: Likewise.
2015-03-31 22:43:01 +02:00
David Thompson
7578f6e32a
build: ruby: Set $GEM_HOME that matches Ruby's $GEM_PATH.
...
* guix/build/ruby-build-system.scm (install): Ignore the Ruby patch version
when creating $GEM_HOME.
2015-03-17 19:23:17 -04:00
Ludovic Courtès
1289062522
Merge branch 'core-updates'.
2015-03-04 14:07:23 +01:00
David Thompson
f3c96d474f
build: ruby: Install executables in /bin.
...
* guix/build/ruby-build-system.scm (install): Add '--bindir' flag to gem
command.
2015-03-02 17:33:53 -05:00
David Thompson
7e7c6a1ac0
build: ruby: Add gitify phase.
...
* guix/build-system/ruby.scm (lower): Add git as implicit input.
* guix/build/ruby-build-system.scm (gitify): New procedure.
(%standard-phases): Add gitify phase.
2015-03-02 17:33:53 -05:00
Ludovic Courtès
f84218acae
build-system: Use 'modify-phases'.
...
* guix/build/cmake-build-system.scm (%standard-phases): Use
'modify-phases' instead of alist-*.
* guix/build/glib-or-gtk-build-system.scm (%standard-phases): Likewise.
* guix/build/gnu-dist.scm (%dist-phases): Likewise.
* guix/build/perl-build-system.scm (%standard-phases): Likewise.
* guix/build/python-build-system.scm (%standard-phases): Likewise.
* guix/build/ruby-build-system.scm (%standard-phases): Likewise.
* guix/build/waf-build-system.scm (%standard-phases): Likewise.
2015-02-26 23:00:21 +01:00
David Thompson
c08f9818f9
build: Add ruby build system.
...
* guix/build-system/ruby.scm: New file.
* guix/build/ruby-build-system: New file.
* Makefile.am (MODULES): Add new files.
* doc/guix.texi (Build Systems): Document ruby-build-system.
2014-09-28 15:09:24 -04:00