source: general/prog/ruby.xml@ 078d23fa

12.0 12.1 kea ken/TL2024 ken/tuningfonts lazarus lxqt plabs/newcss python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 078d23fa was 33884d36, checked in by Douglas R. Reno <renodr@…>, 13 months ago

Ruby: Fix the test suite again, I forgot a command when updating.

  • Property mode set to 100644
File size: 11.2 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY ruby-download-http "https://cache.ruby-lang.org/pub/ruby/&ruby-minor-version;/ruby-&ruby-version;.tar.xz">
8 <!ENTITY ruby-download-ftp " ">
9 <!ENTITY ruby-md5sum "377853f31d10bfe37c58b8537fc3e05d">
10 <!ENTITY ruby-size "14 MB">
11 <!ENTITY ruby-buildsize "694 MB (add 1.0 GB for C API docs)">
12 <!ENTITY ruby-time "1.2 SBU (using parallelism=4; add 4.6 SBU for tests; add 0.6 SBU for C API docs)">
13]>
14
15<sect1 id="ruby" xreflabel="Ruby-&ruby-version;">
16 <?dbhtml filename="ruby.html"?>
17
18
19 <title>Ruby-&ruby-version;</title>
20
21 <indexterm zone="ruby">
22 <primary sortas="a-Ruby">Ruby</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to Ruby</title>
27
28 <para>
29 The <application>Ruby</application> package contains the
30 <application>Ruby</application> development environment. This
31 is useful for object-oriented scripting.
32 </para>
33
34 &lfs113_checked;
35
36 <bridgehead renderas="sect3">Package Information</bridgehead>
37 <itemizedlist spacing="compact">
38 <listitem>
39 <para>
40 Download (HTTP): <ulink url="&ruby-download-http;"/>
41 </para>
42 </listitem>
43 <listitem>
44 <para>
45 Download (FTP): <ulink url="&ruby-download-ftp;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download MD5 sum: &ruby-md5sum;
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download size: &ruby-size;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Estimated disk space required: &ruby-buildsize;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated build time: &ruby-time;
66 </para>
67 </listitem>
68 </itemizedlist>
69
70 <bridgehead renderas="sect3">Ruby Dependencies</bridgehead>
71
72 <bridgehead renderas="sect4">Required</bridgehead>
73 <para role="required">
74 <xref linkend="libyaml"/>
75 </para>
76
77 <bridgehead renderas="sect4">Optional</bridgehead>
78 <para role="optional">
79 <xref linkend="db"/>,
80 <xref linkend="doxygen"/>,
81 <xref linkend="graphviz"/>,
82 <xref linkend="rust"/>,
83 <xref linkend="tk"/>,
84 <xref linkend="valgrind"/>, and
85 <ulink url="http://dtrace.org/blogs/about/">DTrace</ulink>
86 </para>
87
88 <para condition="html" role="usernotes">User Notes:
89 <ulink url="&blfs-wiki;/ruby"/>
90 </para>
91 </sect2>
92
93 <sect2 role="installation">
94 <title>Installation of Ruby</title>
95
96 <para>
97 If you wish to run the tests after installing this package, fix a problem
98 that results in a crash during the test suite, due to an undefined
99 variable:
100 </para>
101
102<screen><userinput>sed -i '283d' tool/lib/leakchecker.rb</userinput></screen>
103
104 <para>
105 Install <application>Ruby</application> by running the following
106 command:
107 </para>
108
109<screen><userinput>./configure --prefix=/usr \
110 --enable-shared \
111 --without-valgrind \
112 --without-baseruby \
113 --docdir=/usr/share/doc/ruby-&ruby-version; &amp;&amp;
114make</userinput></screen>
115
116 <para>
117 Optionally, build the CAPI documents by running the following
118 commands:
119 </para>
120
121<screen><userinput>make capi</userinput></screen>
122
123 <para>
124 The tests require that the new version of Ruby is already installed to
125 run correctly. If you want to run the tests, execute them after installing
126 the package. <!-- Ticket #17887 -->
127 </para>
128
129 <para>
130 Now, as the <systemitem class="username">root</systemitem> user:
131 </para>
132
133<screen role="root"><userinput>make install</userinput></screen>
134
135 <para>
136 To test the results, issue: <command>make check</command>. There are over
137 25,000 tests. Some tests related to ipv6 may indicate errors. If the
138 tests are run in a directory that has a world writable component (e.g.
139 /tmp) then several additional tests may fail. A few tests may fail due
140 to system configuration expectations.
141 </para>
142
143<!-- With 3.0.2:
144Finished tests in 443.541527s, 47.5739 tests/s, 6031.9921 assertions/s.
14521101 tests, 2675439 assertions, 4 failures, 1 errors, 45 skips
146
147with 3.2.0 there are several summaries:
148* PASS all 1789 tests
149* Finished tests in 6.815561s, 45.6309 tests/s, 264.2482 assertions/s.
150 311 tests, 1801 assertions, 0 failures, 0 errors, 12 skips
151* Finished tests in 462.613063s, 50.5649 tests/s, 12069.0885 assertions/s.
152 23392 tests, 5583318 assertions, 3 failures, 0 errors, 79 skips
153-->
154
155 <note>
156 <para>
157 If you have Ruby-On-Rails applications installed and did an
158 upgrade of <application>Ruby</application> by installing this
159 package, you might need to run an update there, too
160 (as the &root; user):
161 </para>
162
163<screen role="nodump"><userinput>cd /path/to/web/app
164bundle update rake</userinput></screen>
165
166 <para>
167 and restart the webserver which serves the application.
168 </para>
169
170 </note>
171
172 </sect2>
173
174 <sect2 role="commands">
175 <title>Command Explanations</title>
176
177 <para>
178 <parameter>--enable-shared</parameter>: This switch enables building
179 the <filename class="libraryfile">libruby</filename> shared library.
180 </para>
181
182 <para>
183 <parameter>--without-baseruby</parameter>: This switch prevents using the
184 system <command>ruby</command> if it is already installed. The build
185 system will use the newly built version instead.
186 </para>
187
188 <para>
189 <option>--disable-install-doc</option>: This switch disables building and
190 installing rdoc indexes and C API documents.
191 </para>
192
193 <para>
194 <option>--disable-install-rdoc</option>: This switch disables building
195 and installing rdoc indexes.
196 </para>
197
198 <para>
199 <option>--disable-install-capi</option>: This switch disables building
200 and installing C API documents.
201 </para>
202
203 </sect2>
204
205 <sect2 role="content">
206 <title>Contents</title>
207
208 <segmentedlist>
209 <segtitle>Installed Programs</segtitle>
210 <segtitle>Installed Libraries</segtitle>
211 <segtitle>Installed Directories</segtitle>
212
213 <seglistitem>
214 <seg>
215 bundle,
216 bundler,
217 erb,
218 gem,
219 irb,
220 racc,
221 rake,
222 rbs,
223 rdbg,
224 rdoc,
225 ri,
226 ruby, and
227 typeprof
228 </seg>
229 <seg>
230 libruby.so
231 </seg>
232 <seg>
233 /usr/include/ruby-&ruby-minor-version;.0,
234 /usr/lib/ruby,
235 /usr/share/doc/ruby-&ruby-version; and
236 /usr/share/ri
237 </seg>
238 </seglistitem>
239 </segmentedlist>
240
241 <variablelist>
242 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
243 <?dbfo list-presentation="list"?>
244 <?dbhtml list-presentation="table"?>
245
246 <varlistentry id="bundle">
247 <term><command>bundle</command></term>
248 <listitem>
249 <para>
250 creates bundles of Ruby Gems
251 </para>
252 <indexterm zone="ruby bundle">
253 <primary sortas="b-bundle">bundle</primary>
254 </indexterm>
255 </listitem>
256 </varlistentry>
257
258 <varlistentry id="bundler">
259 <term><command>bundler</command></term>
260 <listitem>
261 <para>
262 manages an application's dependencies throughout it's lifecycle
263 </para>
264 <indexterm zone="ruby bundler">
265 <primary sortas="b-bundler">bundler</primary>
266 </indexterm>
267 </listitem>
268 </varlistentry>
269
270 <varlistentry id="erb">
271 <term><command>erb</command></term>
272 <listitem>
273 <para>
274 is a command line front-end for eRuby, which provides a templating
275 system for <application>Ruby</application>
276 </para>
277 <indexterm zone="ruby erb">
278 <primary sortas="b-erb">erb</primary>
279 </indexterm>
280 </listitem>
281 </varlistentry>
282
283 <varlistentry id="gem">
284 <term><command>gem</command></term>
285 <listitem>
286 <para>
287 is the command for RubyGems, which is a sophisticated package
288 manager for <application>Ruby</application>. This is similar
289 to Python's 'pip' command
290 </para>
291 <indexterm zone="ruby gem">
292 <primary sortas="b-gem">gem</primary>
293 </indexterm>
294 </listitem>
295 </varlistentry>
296
297 <varlistentry id="irb">
298 <term><command>irb</command></term>
299 <listitem>
300 <para>
301 is the interactive interface for
302 <application>Ruby</application>
303 </para>
304 <indexterm zone="ruby irb">
305 <primary sortas="b-irb">irb</primary>
306 </indexterm>
307 </listitem>
308 </varlistentry>
309
310 <varlistentry id="rake">
311 <term><command>rake</command></term>
312 <listitem>
313 <para>
314 is a make-like build utility for <application>Ruby</application>
315 </para>
316 <indexterm zone="ruby rake">
317 <primary sortas="b-rake">rake</primary>
318 </indexterm>
319 </listitem>
320 </varlistentry>
321
322 <varlistentry id="rdbg">
323 <term><command>rdbg</command></term>
324 <listitem>
325 <para>
326 is an interactive debugger for <application>Ruby</application>
327 </para>
328 <indexterm zone="ruby rdbg">
329 <primary sortas="b-rdbg">rdbg</primary>
330 </indexterm>
331 </listitem>
332 </varlistentry>
333
334 <varlistentry id="rdoc">
335 <term><command>rdoc</command></term>
336 <listitem>
337 <para>
338 generates <application>Ruby</application> documentation
339 </para>
340 <indexterm zone="ruby rdoc">
341 <primary sortas="b-rdoc">rdoc</primary>
342 </indexterm>
343 </listitem>
344 </varlistentry>
345
346 <varlistentry id="ri">
347 <term><command>ri</command></term>
348 <listitem>
349 <para>
350 displays documentation from a database on
351 <application>Ruby</application> classes, modules, and methods
352 </para>
353 <indexterm zone="ruby ri">
354 <primary sortas="b-ri">ri</primary>
355 </indexterm>
356 </listitem>
357 </varlistentry>
358
359 <varlistentry id="ruby-prog">
360 <term><command>ruby</command></term>
361 <listitem>
362 <para>
363 is an interpreted scripting language for quick
364 and easy object-oriented programming
365 </para>
366 <indexterm zone="ruby ruby-prog">
367 <primary sortas="b-ruby">ruby</primary>
368 </indexterm>
369 </listitem>
370 </varlistentry>
371
372 <varlistentry id="libruby">
373 <term><filename role="libraryfile">libruby.so</filename></term>
374 <listitem>
375 <para>
376 contains the API functions required by <application>Ruby</application>
377 </para>
378 <indexterm zone="ruby libruby">
379 <primary sortas="c-libruby">libruby.so</primary>
380 </indexterm>
381 </listitem>
382 </varlistentry>
383
384 </variablelist>
385
386 </sect2>
387
388</sect1>
Note: See TracBrowser for help on using the repository browser.