mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-28 09:53:10 +00:00
Merge pull request #7109 from ctheune/submit/update-ruby-doc
Update the ruby packaging docs to show how to bundle Ruby Gem-based
This commit is contained in:
commit
9bbf60c80e
@ -612,15 +612,45 @@ sed -i '/ = data_files/d' setup.py</programlisting>
|
|||||||
|
|
||||||
|
|
||||||
<section xml:id="ssec-language-ruby"><title>Ruby</title>
|
<section xml:id="ssec-language-ruby"><title>Ruby</title>
|
||||||
<para>For example, to package yajl-ruby package, use gem-nix:</para>
|
<para>There currently is support to bundle applications that are packaged as Ruby gems. The utility "bundix" allows you to write a <filename>Gemfile</filename>, let bundler create a <filename>Gemfile.lock</filename>, and then convert
|
||||||
|
this into a nix expression that contains all Gem dependencies automatically.</para>
|
||||||
|
|
||||||
|
<para>For example, to package sensu, we did:</para>
|
||||||
|
|
||||||
<screen>
|
<screen>
|
||||||
$ nix-env -i gem-nix
|
<![CDATA[$ cd pkgs/servers/monitoring
|
||||||
$ gem-nix --no-user-install --nix-file=pkgs/development/interpreters/ruby/generated.nix yajl-ruby
|
$ mkdir sensu
|
||||||
$ nix-build -A rubyPackages.yajl-ruby
|
$ cat > Gemfile
|
||||||
</screen>
|
source 'https://rubygems.org'
|
||||||
</section>
|
gem 'sensu'
|
||||||
|
$ bundler package --path /tmp/vendor/bundle
|
||||||
|
$ $(nix-build '&nixpkgs>' -A bundix)/bin/bundix
|
||||||
|
$ cat > default.nix
|
||||||
|
{ lib, bundlerEnv, ruby }:
|
||||||
|
|
||||||
|
bundlerEnv {
|
||||||
|
name = "sensu-0.17.1";
|
||||||
|
|
||||||
|
inherit ruby;
|
||||||
|
gemfile = ./Gemfile;
|
||||||
|
lockfile = ./Gemfile.lock;
|
||||||
|
gemset = ./gemset.nix;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A monitoring framework that aims to be simple, malleable,
|
||||||
|
and scalable.";
|
||||||
|
homepage = http://sensuapp.org/;
|
||||||
|
license = with licenses; mit;
|
||||||
|
maintainers = with maintainers; [ theuni ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
}]]>
|
||||||
|
</screen>
|
||||||
|
|
||||||
|
<para>Please check in the <filename>Gemfile</filename>, <filename>Gemfile.lock</filename> and the <filename>gemset.nix</filename> so future updates can be run easily.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
<section xml:id="ssec-language-go"><title>Go</title>
|
<section xml:id="ssec-language-go"><title>Go</title>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user