source: general/prog/ruby.xml@ 948ffd7b

12.1 ken/TL2024 lazarus plabs/newcss rahul/power-profiles-daemon trunk xry111/llvm18
Last change on this file since 948ffd7b was c4f5f1e, checked in by Bruce Dubbs <bdubbs@…>, 6 months ago

Update to ruby-3.3.0.

  • Property mode set to 100644
File size: 11.0 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 "b5e59d56faf25b1ec6445abdf203affa">
10 <!ENTITY ruby-size "16 MB">
11 <!ENTITY ruby-buildsize "774 MB (with tests and C API docs)">
12 <!ENTITY ruby-time "3.4 SBU (using parallelism=4; with tests and 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 &lfs120_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="doxygen"/>,
80 <xref linkend="graphviz"/>,
81 <xref linkend="rust"/>,
82 <xref linkend="tk"/>,
83 <xref linkend="valgrind"/>,
84 &berkeley-db; and
85 <ulink url="http://dtrace.org/blogs/about/">DTrace</ulink>
86 </para>
87
88 </sect2>
89
90 <sect2 role="installation">
91 <title>Installation of Ruby</title>
92
93 <para>
94 Install <application>Ruby</application> by running the following
95 command:
96 </para>
97
98<screen><userinput>./configure --prefix=/usr \
99 --enable-shared \
100 --without-valgrind \
101 --without-baseruby \
102 --docdir=/usr/share/doc/ruby-&ruby-version; &amp;&amp;
103make</userinput></screen>
104
105 <para>
106 Optionally, build the CAPI documents by running the following
107 commands:
108 </para>
109
110<screen><userinput>make capi</userinput></screen>
111
112 <para>
113 To test the results, issue: <command>make -k check</command>. There are over
114 27,000 tests. Some tests related to ipv6 may indicate errors. If the
115 tests are run in a directory that has a world writable component (e.g.
116 /tmp) then several additional tests may fail. Three tests are known
117 to fail.
118 </para>
119
120<!-- With 3.0.2:
121Finished tests in 443.541527s, 47.5739 tests/s, 6031.9921 assertions/s.
12221101 tests, 2675439 assertions, 4 failures, 1 errors, 45 skips
123
124with 3.2.0 there are several summaries:
125* PASS all 1789 tests
126* Finished tests in 6.815561s, 45.6309 tests/s, 264.2482 assertions/s.
127 311 tests, 1801 assertions, 0 failures, 0 errors, 12 skips
128* Finished tests in 462.613063s, 50.5649 tests/s, 12069.0885 assertions/s.
129 23392 tests, 5583318 assertions, 3 failures, 0 errors, 79 skips
130
131with 3.3.0
132* PASS all 1871 tests
133* Finished tests in 5.118113s, 63.3046 tests/s, 365.5644 assertions/s.
134 324 tests, 1871 assertions, 0 failures, 0 errors, 24 skips
135* Finished tests in 98.164220s, 270.7809 tests/s, 64362.7996 assertions/s.
136 26581 tests, 6318124 assertions, 3 failures, 0 errors, 202 skips
137* Finished in 6.226990 seconds
138 3728 files, 32870 examples, 189937 expectations, 0 failures, 7 errors, 0 tagged
139* Finished in 1.03 seconds (files took 0.115 seconds to load)
140 151 examples, 0 failures, 1 pending
141-->
142
143 <para>
144 Now, as the <systemitem class="username">root</systemitem> user:
145 </para>
146
147<screen role="root"><userinput>make install</userinput></screen>
148
149 <note>
150 <para>
151 If you have Ruby-On-Rails applications installed and did an
152 upgrade of <application>Ruby</application> by installing this
153 package, you might need to run an update there, too
154 (as the &root; user):
155 </para>
156
157<screen role="nodump"><userinput>cd /path/to/web/app
158bundle update rake</userinput></screen>
159
160 <para>
161 and restart the webserver which serves the application.
162 </para>
163
164 </note>
165
166 </sect2>
167
168 <sect2 role="commands">
169 <title>Command Explanations</title>
170
171 <para>
172 <parameter>--enable-shared</parameter>: This switch enables building
173 the <filename class="libraryfile">libruby</filename> shared library.
174 </para>
175
176 <para>
177 <parameter>--without-baseruby</parameter>: This switch prevents using the
178 system <command>ruby</command> if it is already installed. The build
179 system will use the newly built version instead.
180 </para>
181
182 <para>
183 <option>--disable-install-doc</option>: This switch disables building and
184 installing rdoc indexes and C API documents.
185 </para>
186
187 <para>
188 <option>--disable-install-rdoc</option>: This switch disables building
189 and installing rdoc indexes.
190 </para>
191
192 <para>
193 <option>--disable-install-capi</option>: This switch disables building
194 and installing C API documents.
195 </para>
196
197 </sect2>
198
199 <sect2 role="content">
200 <title>Contents</title>
201
202 <segmentedlist>
203 <segtitle>Installed Programs</segtitle>
204 <segtitle>Installed Libraries</segtitle>
205 <segtitle>Installed Directories</segtitle>
206
207 <seglistitem>
208 <seg>
209 bundle,
210 bundler,
211 erb,
212 gem,
213 irb,
214 racc,
215 rake,
216 rbs,
217 rdbg,
218 rdoc,
219 ri,
220 ruby, and
221 typeprof
222 </seg>
223 <seg>
224 libruby.so
225 </seg>
226 <seg>
227 /usr/include/ruby-&ruby-minor-version;.0,
228 /usr/lib/ruby,
229 /usr/share/doc/ruby-&ruby-version; and
230 /usr/share/ri
231 </seg>
232 </seglistitem>
233 </segmentedlist>
234
235 <variablelist>
236 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
237 <?dbfo list-presentation="list"?>
238 <?dbhtml list-presentation="table"?>
239
240 <varlistentry id="bundle">
241 <term><command>bundle</command></term>
242 <listitem>
243 <para>
244 creates bundles of Ruby Gems
245 </para>
246 <indexterm zone="ruby bundle">
247 <primary sortas="b-bundle">bundle</primary>
248 </indexterm>
249 </listitem>
250 </varlistentry>
251
252 <varlistentry id="bundler">
253 <term><command>bundler</command></term>
254 <listitem>
255 <para>
256 manages an application's dependencies throughout it's lifecycle
257 </para>
258 <indexterm zone="ruby bundler">
259 <primary sortas="b-bundler">bundler</primary>
260 </indexterm>
261 </listitem>
262 </varlistentry>
263
264 <varlistentry id="erb">
265 <term><command>erb</command></term>
266 <listitem>
267 <para>
268 is a command line front-end for eRuby, which provides a templating
269 system for <application>Ruby</application>
270 </para>
271 <indexterm zone="ruby erb">
272 <primary sortas="b-erb">erb</primary>
273 </indexterm>
274 </listitem>
275 </varlistentry>
276
277 <varlistentry id="gem">
278 <term><command>gem</command></term>
279 <listitem>
280 <para>
281 is the command for RubyGems, which is a sophisticated package
282 manager for <application>Ruby</application>. This is similar
283 to Python's 'pip' command
284 </para>
285 <indexterm zone="ruby gem">
286 <primary sortas="b-gem">gem</primary>
287 </indexterm>
288 </listitem>
289 </varlistentry>
290
291 <varlistentry id="irb">
292 <term><command>irb</command></term>
293 <listitem>
294 <para>
295 is the interactive interface for
296 <application>Ruby</application>
297 </para>
298 <indexterm zone="ruby irb">
299 <primary sortas="b-irb">irb</primary>
300 </indexterm>
301 </listitem>
302 </varlistentry>
303
304 <varlistentry id="rake">
305 <term><command>rake</command></term>
306 <listitem>
307 <para>
308 is a make-like build utility for <application>Ruby</application>
309 </para>
310 <indexterm zone="ruby rake">
311 <primary sortas="b-rake">rake</primary>
312 </indexterm>
313 </listitem>
314 </varlistentry>
315
316 <varlistentry id="rdbg">
317 <term><command>rdbg</command></term>
318 <listitem>
319 <para>
320 is an interactive debugger for <application>Ruby</application>
321 </para>
322 <indexterm zone="ruby rdbg">
323 <primary sortas="b-rdbg">rdbg</primary>
324 </indexterm>
325 </listitem>
326 </varlistentry>
327
328 <varlistentry id="rdoc">
329 <term><command>rdoc</command></term>
330 <listitem>
331 <para>
332 generates <application>Ruby</application> documentation
333 </para>
334 <indexterm zone="ruby rdoc">
335 <primary sortas="b-rdoc">rdoc</primary>
336 </indexterm>
337 </listitem>
338 </varlistentry>
339
340 <varlistentry id="ri">
341 <term><command>ri</command></term>
342 <listitem>
343 <para>
344 displays documentation from a database on
345 <application>Ruby</application> classes, modules, and methods
346 </para>
347 <indexterm zone="ruby ri">
348 <primary sortas="b-ri">ri</primary>
349 </indexterm>
350 </listitem>
351 </varlistentry>
352
353 <varlistentry id="ruby-prog">
354 <term><command>ruby</command></term>
355 <listitem>
356 <para>
357 is an interpreted scripting language for quick
358 and easy object-oriented programming
359 </para>
360 <indexterm zone="ruby ruby-prog">
361 <primary sortas="b-ruby">ruby</primary>
362 </indexterm>
363 </listitem>
364 </varlistentry>
365
366 <varlistentry id="libruby">
367 <term><filename role="libraryfile">libruby.so</filename></term>
368 <listitem>
369 <para>
370 contains the API functions required by <application>Ruby</application>
371 </para>
372 <indexterm zone="ruby libruby">
373 <primary sortas="c-libruby">libruby.so</primary>
374 </indexterm>
375 </listitem>
376 </varlistentry>
377
378 </variablelist>
379
380 </sect2>
381
382</sect1>
Note: See TracBrowser for help on using the repository browser.