glfs/general/prog/ruby.xml

323 lines
9.0 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY ruby-download-http "http://cache.ruby-lang.org/pub/ruby/&ruby-minor-version;/ruby-&ruby-version;.tar.xz">
<!ENTITY ruby-download-ftp " ">
<!ENTITY ruby-md5sum "fefb57db58b5c3f11534710bab2bba47">
<!ENTITY ruby-size "14 MB">
<!ENTITY ruby-buildsize "629 MB (add 533 MB for C API docs)">
<!ENTITY ruby-time "1.3 SBU (using parallelism=4; add 5.5 SBU for tests; add 0.8 SBU for C API docs)">
]>
<sect1 id="ruby" xreflabel="Ruby-&ruby-version;">
<?dbhtml filename="ruby.html"?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>Ruby-&ruby-version;</title>
<indexterm zone="ruby">
<primary sortas="a-Ruby">Ruby</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to Ruby</title>
<para>
The <application>Ruby</application> package contains the
<application>Ruby</application> development environment. This
is useful for object-oriented scripting.
</para>
&lfs10_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&ruby-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&ruby-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &ruby-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &ruby-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &ruby-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &ruby-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Ruby Dependencies</bridgehead>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="db"/>,
<xref linkend="doxygen"/>,
<xref linkend="graphviz"/>,
<xref linkend="libyaml"/>,
<xref linkend="tk"/>,
<xref linkend="valgrind"/>, and
<ulink url="http://dtrace.org/blogs/about/">DTrace</ulink>
</para>
<para condition="html" role="usernotes">User Notes:
<ulink url="&blfs-wiki;/ruby"/>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of Ruby</title>
<para>
Install <application>Ruby</application> by running the following
command:
</para>
<screen><userinput>./configure --prefix=/usr \
--enable-shared \
--docdir=/usr/share/doc/ruby-&ruby-version; &amp;&amp;
make</userinput></screen>
<para>
Optionally, build the CAPI documents by running the following
commands:
</para>
<screen><userinput>make capi</userinput></screen>
<para>
To test the results, issue: <command>make check</command>. There are almost
21,000 tests. Some tests related to ipv6 may indicate errors. If the
tests are run in a directory that has a world writable component (e.g.
/tmp) then several additional tests may fail. A few tests my fail due
to system configuration expectations.
</para>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para>
<parameter>--enable-shared</parameter>: This switch enables building of
the <filename class="libraryfile">libruby</filename> shared library.
</para>
<para>
<option>--disable-install-doc</option>: This switch disables building and
installing rdoc indexes and C API documents.
</para>
<para>
<option>--disable-install-rdoc</option>: This switch disables building
and installing rdoc indexes.
</para>
<para>
<option>--disable-install-capi</option>: This switch disables building
and installing C API documents.
</para>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>
bundle,
bundler,
erb,
gem,
irb,
racc,
rake,
rbs,
rdoc,
ri,
ruby, and
typeprof
</seg>
<seg>
libruby.so
</seg>
<seg>
/usr/include/ruby-&ruby-minor-version;.0
/usr/lib/ruby,
/usr/share/doc/ruby-&ruby-version; and
/usr/share/ri
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="bundle">
<term><command>bundle</command></term>
<listitem>
<para>
creates bundles of Ruby Gems.
</para>
<indexterm zone="ruby bundle">
<primary sortas="b-bundle">bundle</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="bundler">
<term><command>bundler</command></term>
<listitem>
<para>
manages an application's dependencies throughout it's lifecycle.
</para>
<indexterm zone="ruby bundler">
<primary sortas="b-bundler">bundler</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="erb">
<term><command>erb</command></term>
<listitem>
<para>
is Tiny eRuby. It interprets a
<application>Ruby</application> code embedded text file.
</para>
<indexterm zone="ruby erb">
<primary sortas="b-erb">erb</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gem">
<term><command>gem</command></term>
<listitem>
<para>
command for RubyGems - a sophisticated package manager for
<application>Ruby</application>.
</para>
<indexterm zone="ruby gem">
<primary sortas="b-gem">gem</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="irb">
<term><command>irb</command></term>
<listitem>
<para>
is the interactive interface for
<application>Ruby</application>.
</para>
<indexterm zone="ruby irb">
<primary sortas="b-irb">irb</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="rake">
<term><command>rake</command></term>
<listitem>
<para>
a make-like build utility for <application>Ruby</application>.
</para>
<indexterm zone="ruby rake">
<primary sortas="b-rake">rake</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="rdoc">
<term><command>rdoc</command></term>
<listitem>
<para>
generates <application>Ruby</application> documentation.
</para>
<indexterm zone="ruby rdoc">
<primary sortas="b-rdoc">rdoc</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="ri">
<term><command>ri</command></term>
<listitem>
<para>
displays documentation from a database on
<application>Ruby</application> classes, modules, and methods.
</para>
<indexterm zone="ruby ri">
<primary sortas="b-ri">ri</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="ruby-prog">
<term><command>ruby</command></term>
<listitem>
<para>
is an interpreted scripting language for quick
and easy object-oriented programming.
</para>
<indexterm zone="ruby ruby-prog">
<primary sortas="b-ruby">ruby</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libruby">
<term><filename role="libraryfile">libruby.so</filename></term>
<listitem>
<para>
contains the API functions required by <application>Ruby</application>.
</para>
<indexterm zone="ruby libruby">
<primary sortas="c-libruby">libruby.so</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>