Adding docs for bundlerApp.
This commit is contained in:
parent
0641253ae6
commit
728bb987ec
@ -41,12 +41,34 @@ bundlerEnv rec {
|
|||||||
<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>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>
|
</para>
|
||||||
|
|
||||||
<para>Resulting derivations also have two helpful items, <literal>env</literal> and <literal>wrapper</literal>. The first one allows one to quickly drop into
|
<para>For tools written in Ruby - i.e. where the desire is to install a package and then execute e.g. <command>rake</command> at the command line, there is an alternative builder called <literal>bundlerApp</literal>. Set up the <filename>gemset.nix</filename> the same way, and then, for example:
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<screen>
|
||||||
|
<![CDATA[{ lib, bundlerApp }:
|
||||||
|
|
||||||
|
bundlerApp {
|
||||||
|
pname = "corundum";
|
||||||
|
gemdir = ./.;
|
||||||
|
exes = [ "corundum-skel" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Tool and libraries for maintaining Ruby gems.";
|
||||||
|
homepage = https://github.com/nyarly/corundum;
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = [ maintainers.nyarly ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
}]]>
|
||||||
|
|
||||||
|
<para>The chief advantage of <literal>bundlerApp</literal> over <literal>bundlerEnv</literal> is the the executables introduced in the environment are precisely those selected in the <literal>exes</literal> list, as opposed to <literal>bundlerEnv</literal> which adds all the executables made available by gems in the gemset, which can mean e.g. <command>rspec</command> or <command>rake</command> in unpredicable versions available from various packages.
|
||||||
|
|
||||||
|
<para>Resulting derivations for both builders also have two helpful items, <literal>env</literal> and <literal>wrapper</literal>. The first one allows one to quickly drop into
|
||||||
<command>nix-shell</command> with the specified environment present. E.g. <command>nix-shell -A sensu.env</command> would give you an environment with Ruby preset
|
<command>nix-shell</command> with the specified environment present. E.g. <command>nix-shell -A sensu.env</command> would give you an environment with Ruby preset
|
||||||
so it has all the libraries necessary for <literal>sensu</literal> in its paths. The second one can be used to make derivations from custom Ruby scripts which have
|
so it has all the libraries necessary for <literal>sensu</literal> in its paths. The second one can be used to make derivations from custom Ruby scripts which have
|
||||||
<filename>Gemfile</filename>s with their dependencies specified. It is a derivation with <command>ruby</command> wrapped so it can find all the needed dependencies.
|
<filename>Gemfile</filename>s with their dependencies specified. It is a derivation with <command>ruby</command> wrapped so it can find all the needed dependencies.
|
||||||
For example, to make a derivation <literal>my-script</literal> for a <filename>my-script.rb</filename> (which should be placed in <filename>bin</filename>) you should
|
For example, to make a derivation <literal>my-script</literal> for a <filename>my-script.rb</filename> (which should be placed in <filename>bin</filename>) you should
|
||||||
run <command>bundix</command> as specified above and then use <literal>bundlerEnv</literal> lile this:</para>
|
run <command>bundix</command> as specified above and then use <literal>bundlerEnv</literal> like this:</para>
|
||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
<![CDATA[let env = bundlerEnv {
|
<![CDATA[let env = bundlerEnv {
|
||||||
@ -74,4 +96,3 @@ in stdenv.mkDerivation {
|
|||||||
</programlisting>
|
</programlisting>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ bundlerApp {
|
|||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Tool and libraries for maintaining Ruby gems.";
|
description = "Tool and libraries for maintaining Ruby gems.";
|
||||||
homepage = http://sass-lang.com/;
|
homepage = https://github.com/nyarly/corundum;
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = [ maintainers.nyarly ];
|
maintainers = [ maintainers.nyarly ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
|
Loading…
Reference in New Issue
Block a user